bugku-file_get_contents


打开题目

是一串代码

 1 <?php
 2 extract($_GET);
 3 if (!empty($ac))
 4 {
 5 $f = trim(file_get_contents($fn));
 6 if ($ac === $f)
 7 {
 8 echo "<p>This is flag:" ." $flag</p>";
 9 }
10 else
11 {
12 echo "<p>sorry!</p>";
13 }
14 }
15 ?>

大致意思就是要上传 ac和fn两个参数

且ac的值等于fn文件内容的值

这时候就可以用到php伪协议的php://input

他的作用是可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。

顺便记一下这个伪协议需要allow_url_include为on

根据代码

我们可以构造payload: ?ac=1&fn=php://input

再使用hackbar post传参1

即可得到flag

就是不知道为什么用谷歌浏览器里的hackbar的回显是sorry而火狐的hackbar就能正常回显出flag

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM