概述
web8
这种题目一直是自己的弱项,首先先看题目
首先在PHP中,提供了:include(),include_once()require(),require_once()这些文件包含函数,这些函数在代码设计中被经常使用到。所以有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。
也就是说可以将这几个函数视为文件包含漏洞的特征,那么我们来分析代码。
首先使包含了flag.php这个文件,其次定义了变量a使用前端的hello参数传进来的,然后eval函数是可以将字符串当做php代码来执行的,var_dump又可以打印变量,那么也就是说这里可以直接在hello参数处传入php代码,例如system(),file()等
那么可构造的payload就有很多
http://114.67.246.176:12225/?hello=system('cat ../../../flag')
http://114.67.246.176:12225/?hello=file('flag.php')
http://114.67.246.176:12225/?hello=show_source('flag.php')
本人觉得第三种才是这道题的正解,而且回头看,确实在代码中提示了show_sorce()函数,这个函数的作用是:
show_source() 函数对文件进行 PHP 语法高亮显示。语法通过使用 HTML 标签进行高亮。
用于高亮的颜色可通过 php.ini 文件进行设置或者通过调用 ini_set() 函数进行设置。
show_source() 是 highlight_file() 的别名。
注释:当使用该函数时,整个文件都将被显示,包括密码和其他敏感信息!
最后得到flag
注:萌新第一次写write up,不足之处还请见谅,不对之处欢迎批评指正
最后
以上就是贤惠春天为你收集整理的新BugKu-web篇-web8的全部内容,希望文章能够帮你解决新BugKu-web篇-web8所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复