攻防世界 Web_php_include write up

攻防世界 Web_php_include write up_第1张图片
首先看题目注意两点
1要get方式提交page
2要绕过strstr()函数,要绕过str_replace函数因为他会把php://换成空
3文件包含(要想到一句话木马)

先补充一些知识关于php://input
攻防世界 Web_php_include write up_第2张图片因为strstr是对大小写敏感的,用大写PHP绕过检测,同时绕过str_replace函数
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串;否则,返回NULL。
同时你要了解更多关于
php提供4种方法执行系统外部命令:exec()、passthru()、system()、 shell_exec()。
知识点:
system和exec的区别在于system在执行系统外部命令时,直接将结果输出到浏览器,不需要使用 echo 或 return 来查看结果,如果执行命令成功则返回true,否则返回false。第二个参数与exec第三个参数含义一样。

下面开始构造并且绕过
攻防世界 Web_php_include write up_第3张图片
爆出来三个东西
然后用cat fl4gisisish3r3.php
找flag(这里不太理解为什么cat ***)
攻防世界 Web_php_include write up_第4张图片
攻防世界 Web_php_include write up_第5张图片还可以传一句话木马这个以后在更。
php://input

php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。

需要开启allow_url_include

注:当enctype=”multipart/form-data”时,php://input是无效的。

你可能感兴趣的:(攻防世界 Web_php_include write up)