目录

文件解析漏洞详解

文件解析漏洞详解

IIS解析漏洞

环境安装

windows2003+iis6

IIS6.X

⽬录解析

在iis6.x中,.asp⽂件夹中的任意⽂件都会被当做asp⽂件去执⾏。

在iis的⽹站根⽬录新建⼀个名为x.asp的⽂件

https://i-blog.csdnimg.cn/direct/5810abf686824f2f8cff4ee40ea18655.png

在x.asp中新建⼀个png⽂件。内容为<%=now()%> asp代码。

https://i-blog.csdnimg.cn/direct/850f9208651942db9fe15efe11d336a8.png

外部浏览器中访问windows2003的iis⽹站中的1.png 发现asp代码被执⾏

https://i-blog.csdnimg.cn/direct/628b463f639042d3ae2edd835d035fbf.png

将1.png⽂件放到⽹站根⽬录下访问,发现其中的asp代码没有被解析。 由此可⻅.asp⽂件夹中的任意 ⽂件会被当做asp⽂件去执⾏

https://i-blog.csdnimg.cn/direct/730b5b120b7b4a89aa04286430d7a363.png

畸形⽂件解析

在IIS 6 处理⽂件解析时,

分号可以起到截断的效果。

333.asa;.jpg会被服务器看成是333.asa

https://i-blog.csdnimg.cn/direct/e36ef5c8e39e451f872454fdd765bc67.png

IIS7.X

在默认Fast-CGI开启状况下,在⼀个⽂件路径/xx.jpg 后⾯加上/xx.php会将

/xx.jpg/xx.php

解析为 php ⽂件

利⽤条件

  1. php.ini⾥的cgi.fix_pathinfo=1 开启

  2. IIS7在Fast-CGI运⾏模式下

安装PHPstudy for IIS

https://i-blog.csdnimg.cn/direct/e3af2da8fbc141d087d66e27a395a19b.png

打开电脑iis和cgi

https://i-blog.csdnimg.cn/direct/cdfa346fdc9f4ef69b5de65eb7f8f9dc.png

将php.ini⾥的cgi.fix_pathinfo=1 开启

https://i-blog.csdnimg.cn/direct/f6a7d373391d4f028545a097244df4db.png

IIS7在Fast-CGI运⾏模式下

https://i-blog.csdnimg.cn/direct/85e3c895d61945598fe98429e8d8b01c.png

https://i-blog.csdnimg.cn/direct/2b85eb2c67a04b9db7d69dada4e814aa.png

访问网页

https://i-blog.csdnimg.cn/direct/aede5a06f36146af8102500b3bacbea6.png

https://i-blog.csdnimg.cn/direct/f4d4adc313334231a87f0f43a20ec385.png

Nginx解析漏洞

nginx_parsing

1.进⼊以下Vulhub路径并开启容器

cd /nginx/nginx_parsing_vulnerability

docker-compose up -d

2.浏览器中访问⽹站

https://i-blog.csdnimg.cn/direct/b33ba63c167f40c4a613f2221ab9ad3e.png

3.制作图⽚⻢并进⾏上传

https://i-blog.csdnimg.cn/direct/d5409a54002c44eab0192f8344e1d97d.png

https://i-blog.csdnimg.cn/direct/5fbb0126f09345bf9e04fd9476323b5a.png

4.利用nginx解析漏洞,访问路径

https://i-blog.csdnimg.cn/direct/809627d11aa447269f2abfd68c80e0d0.png

5.运用蚁剑连接

https://i-blog.csdnimg.cn/direct/16e886e2435b45c9a3d147bf3bb85147.png

CVE-2013-4547

1.使⽤以下命令启动靶机

cd vulhub-master/nginx/CVE-2013-4547x //

切换到靶机⽬录

docker-compose up -d //

打开环境

2.浏览器访问网站

https://i-blog.csdnimg.cn/direct/5a56984427dc4f72aee04bc525ebb44b.png

上传文件内容为“

'

)?> ”

直接上传

shell.php

被拦截,修改⽂件后缀为.jpg进⾏上传且在后⾯添加空格,上传成功

运用bp进行抓包处理

**在.jpg后⾯添加两个空格并给上

.php

后缀,在16进制修改中将原本两个空格的

0x20**

**0x20

修改为如下即

0x20 0x00

进⾏发包**

https://i-blog.csdnimg.cn/direct/86073ecf9ba247fa8bc4aeb5d0a5b05f.png

https://i-blog.csdnimg.cn/direct/cc7bb5282bb344aea9d4b1f2c7d81354.png

**访问上传后的⽂件….由于url会将其编码,需要继续抓包修改

0x20 0x20

0x20 0x00**

https://i-blog.csdnimg.cn/direct/95edde5a58b94c54b0f579917a7aed37.png

https://i-blog.csdnimg.cn/direct/5527dc8d926441539a7fe628272ec903.png

访问生成的木马文件

https://i-blog.csdnimg.cn/direct/3d7ef0fe146e432a95fbe4c894204e5f.png

3.用蚁剑连接

https://i-blog.csdnimg.cn/direct/15843619e0d94221bbd9e6e06acc2024.png

Apache解析漏洞

apache_parsing

1.进⼊Vulhub靶场并执⾏以下命令启动靶场

cd

/

vulhub

/

httpd

/

apache_parsing_vulnerability

docker

compose

up

d

2. 访问靶机并上传 shell.php.jpg ⽂件,⽂件内容为

')?>

https://i-blog.csdnimg.cn/direct/585d06923a394d9893f686d50fc70124.png

3.运用蚁剑连接

https://i-blog.csdnimg.cn/direct/9b55f7bbe3cd42728cfaa8cf73627194.png

CVE-2017-15715

1.进⼊Vulhub靶场并开启⽬标靶机,进⾏访问

启动靶机

cd

/

Vulnhub

/

vulhub

master

/

httpd

/

CVE

2017

15715

docker

compose

up

d

https://i-blog.csdnimg.cn/direct/5c0706d4cea545648472413478ae675e.png

2. 尝试上传⼀句话⽊⻢⽂件,发现被拦截,在evil.php⽂件后⾯添加空格 0x20 在改为 0x0a 再次返送即可上传成功

https://i-blog.csdnimg.cn/direct/0093d46ad038402ab35d485e18203a00.png

3. 访问上传的evil⽂件在后⾯加上 %0a 再访问

https://i-blog.csdnimg.cn/direct/2a425605cac54878b66bbe11d81d7a64.png

4.运用蚁剑连接

https://i-blog.csdnimg.cn/direct/d8b56688901240a8b80b8664dc3ae71e.png