进来就看见有大佬被挂在黑页 F12查看源码看到在下面有个黑化了的标签藏得挺深,./Archive_room.php 。然后网页中间有个 不知道的还以为在FBI warning.点进去看看,注意到直接来到了end.php,但是在上一页的源码这个secret的herf是跳转至action.php啊。应该是action.php302跳转到了end.php吧,开burp看看 事实证明确实有action.php repeater发包后在响应包看到有secr3t.php,拿到题目源码:
<html>
<title>secret</title>
<meta charset="UTF-8">
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
?>
</html>
重点函数介绍:
- strstr()查找字符的首次出现,返回从该字符到整个字符串结束的部分
- stristr()和strstr()一样,只是不区分大小写
- 格外补充:strpos()查找字符(区别大小写),返回匹配成功的位置
这段代码的意思就是if判断有没有这四个字符串,没有就文件包含,有就拜拜。 ?file=flag.php 看看 作者可真坏啊,伪协议读一下。payload:secr3t?file=php://filter/convert.base64-encode/resource=flag.php ,base64解码得到flag:flag{55e2c032-73ad-449a-8670-d52b9e48904c}
如果flag没有在网站根目录下,那这道题就有点难了,我想应该要向日志文件里写木马然后再包含日志文件。估计是buu开环境折磨人才不这么出
|