欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > [HCTF 2018]WarmUp

[HCTF 2018]WarmUp

2025/5/29 20:43:45 来源:https://blog.csdn.net/wcj126/article/details/144069138  浏览:    关键词:[HCTF 2018]WarmUp

抓包什么也没看到

就是访问这个滑稽的图片

信息收集

这里说明就是他的后台代码

在这个php里面

我们访问

这样就很好看了

代码审计

[HCTF 2018]WarmUp全网最详细解释-CSDN博客

这篇博客讲得真JB好

我就复述下我对博主的理解吧~

这里我们可以看见白名单是source.php 和hint.php

现在我假设我的url是

http://21cfa0f7-1283-4185-9d2d-70d78c27f6de.node5.buuoj.cn:81/source.php?file=hint.php

首先就是进行的这里

file就是我们后面跟的 ?hint.php

那么就是hint.php是否为空和字符串

如果通过,传入checkfile里面,我们的参数是hint.php

然后进行下面这段代码

首先我们符合字符串和白名单,就不会G

mb——substr函数的意思就是截取字符串,从mb_strpos的位置(引用上面博客的)

 $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );

那么这个函数就有说法了

我们首先page是

21cfa0f7-1283-4185-9d2d-70d78c27f6de.node5.buuoj.cn:81/source.php?file=hint.php里面的file参数也就是hint.php

mb_strpos截取到?

符号点 '.' 是 PHP 中的字符串连接运算符,它用于将两个字符串连接在一起,形成一个更长的字符串。在这里,它将 $page 变量的值和一个问号字符 '?' 连接在一起,形成一个新的字符串,在这个新的字符串中查找问号是否存在,那么很明显肯定能找到。

$_page . '?')这是一个参数

意思是截取到hint.php

然后return ture

告诉了我们这个

一般来说,flag是在根目录下

我们看的php代码 一般的目录 root/var/www/html/123.php

意思是我们返回后,还需要跳会目录

/source.php?file=hint.php?/../../../../ffffllllaaaagggg

这是最后的url

现在我来解释下

首先 根据上面来

我们的page肯定就是

hint.php?/../../../../ffffllllaaaagggg

分别是跳到html www var root 刚好四个

然后最后到了读取 root/flag

这样的形势

这样了(因为我们传入的就是file形势,这里就是文件操作)

这里就是你检测过关之后

include和require差不多

就是发送这个请求

hint.php?/../../../../ffffllllaaaagggg

但是include后面会忽略

最后就只有hint.php

至于为什么可以再路径读取,不是很懂

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词