web78
文件包含类型,并且没有任何过滤。
考虑使用data伪协议:?file=data://text/plain,<? php代码 ?>
1.由于flag所在文件名未知,需要得到所有文件名:
2.得到以上文件,可知我们需要访问flag.php文件
system()用法如上图
最后右键查看源代码,得到flag。
web79
分析代码,repalce函数将输入值中的php替换成?,可见此处php被过滤
上一题的该方法无法得到flag,会被替换成???
那么考虑对php代码进行编码
并更改伪协议如下图:
查看源代码得到flag
web80
不能继续使用data伪协议了,可以进行日志访问
首先对ua进行更改,打开hackbar,load url,勾选user agent,输入一句话木马,再点击执行:
该木马被上传到了日志文件,因为向 Nginx 服务器发送请求时,记录会保存在 /var/log/nginx/access.log 日志文件。
对于Apache,日志存放路径:/var/log/apache/access.log
对于Ngnix,日志存放路径:/var/log/nginx/access.log 和 /var/log/nginx/error.log
然后对该日志路径进行访问,post参数为 1=system('ls');
由此查看文件名,发现关键文件名fl0g.php
最后,继续利用日志路径执行php代码,查看该文件内容:
查看页面源代码,得到flag
web81
在之前的基础上还过滤了:,上一题不存在这一问题,所以继续使用上题方法
1.对ua植入一句话木马,如下
2.POST传参,查看目录名,得到关键文件fl0g.php
3.继续查看flag所在的文件,点击执行后,右键查看源代码,得到flag