首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    鹏城杯部分WP

    文件包含 nginx配置错误+user-agent文件头写入命令+读取access.log日志 考察任意文件读取,但是过滤了绝大部分的伪协议和flag,留下来的http和zip没过滤,但是没什么用,查看服务器的中间件是nginx,然后题目没有采用动态的靶场,所以尝试一下读取服务器的日志文件access.log,看一下能不能找到有用的payload或者flag,发现也被过滤了,而且,waf使用正则进行过滤的,可是到这里还是没什么思路,于是百度了一下路径绕过,发现有一个绕过的方法,就是利用nginx的配置错误,来进行路径拼接,整体是这样子的,直接访问/var/log/nginx/access.log时会被过滤,但是如果服务器配置错误的话,/var/vfree/../log/nginx/access.log的话,nginx默认会处理成/var/log/nginx/access.log,把vfree/../当成跳转上一层目录,也就是跳到了/var目录,于是就log后面的路径拼接到了/var后面,造成了目录穿越的漏洞,访问发现可以成功返回,如果环境没有被清空的话,通过全局搜索”PCL{“就可以翻到别人的flag,不好运就要自己写一个,整个access.log的组成是由IP - - 日期 - ”访问方法 访问路径 HTTP版本“ 状态码 字节 - USER-AGENT - - 这几部分组成,所以可以尝试通过请求头写入一段读取flag的php代码,然后flag再写入到日志文件中!!!所以直接get写入的话,访问access.log发现是可以写进去的,虽然会被防火墙拦截,但是所有访问都会先通过php处理任何在写入访问日志,所以flag就会被读取出来!!!

    01
    领券