ichunqiu Misc Web 爆破2

承接爆破1。
爆破1中说到,flag在变量里,本题说flag不在变量里,所以考虑文件包含。
文件包含漏洞利用,有几个常用函数,下面一一介绍。
PHP显示函数有两个,show_source 和 highlight_file,这两个可以将PHP代码打印到网页上。
所以第一个思路:把前面的var_dump()闭合,然后显示出flag.php文件。
payload:?hello=);show_source(%27flag.php%27);var_dump(
在这里插入图片描述
执行的代码是:

eval("var_dump();show_source('flag.php');var_dump();");

写第二个var_dump是为了闭合后面的
);")

第二个思路是,通过文件显示函数直接把flag.php的内容输出。
在这里插入图片描述
payload:?hello=file(%27flag.php%27)
%27 是对 ‘ 进行了URL编码。
在这里插入图片描述
在这里插入图片描述
这里把单引号换为双引号,就bool(false)了
emmmm 去问问老师傅怎么回事。
输入的时候,跟单双引号没有关系,主要要对单双引号进行URL编码。
在这里插入图片描述
file()把文件读入一个数组。
file_get_contents()把文件读入一个字符串。
在这里插入图片描述
用file_get_contents()返回一个string(83),得不到flag,可能字符串的格式不能显示出来?

Guess you like

Origin blog.csdn.net/weixin_45253216/article/details/112425807