攻防世界 php2
打开靶场,显示:你能浏览这个网站吗?
查看源代码以及f12后没有看到想要的信息,进入index.php页面也没有变化其实这里需要有一个知识点要了解:
后缀名为.phps的文件:phps即php source,phps文件就是php的源代码文件,通常用于提供给用户查看php代码,因为用户无法通过web浏览器直接查看到php文件的内容,所以需要用phps文件代替。其实网站的提示信息也暗示了我们需要查看.phps文件
了解这一知识点后,我们进入index.phps文件
进行代码审计:
①传的参数id不能为admin;
②参数id会进行一次URL解码;
③进行URL解码后的id如果等于admin,回显flag;
根据以上三个条件,我们先初步构造payload:?id=%61dmin。
注意:.phps文件是无法接收参数的,所以我们在传递参数时还是需要在index.php文件下
但是网页却没有回显,这里又不得不提到另一个知识点了:
在传入参数时,浏览器会对非ASCII编码进行一次urlencode,结果在代码执行时,相当于id还是admin,所以我们在传参时需要进行两次URL编码
再次构造payload:?id=%2561dmin