小迪安全笔记-33

第33天:WEB攻防-通用漏洞_文件上传_中间件解析漏洞_编辑器安全

知识点

1、中间件安全问题

2、中间件文件上传解析

3、Web应用编辑器上传

详细点

1、检测层面:前端,后端等

2、检测内容:文件头,完整性,二次渲染等

3、检测后缀:黑名单,白名单,MIME检测等

4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等

中间件文件解析-IIS&Apache&Nginx

-IIS 6 7 文件名 目录名

1、文件名:x.asp;.x.jpg

2、目录名:x.asp/x.jpg

3、IIS7.X与Nginx解析漏洞一致

访问192.168.199.136:81/upload.asp

登录admin panfei806

验证平台是没有任何问题,但是因为是搭建在IIS6.0的平台,所以发生了这种漏洞

上传文件,抓包

day33-1.png

上传正常的图片,保存的路径为http://192.168.199.136:81/20222238134313887.gif

发现路径可疑的值filepath=/

修改filepath的值,可以发现

根据IIS的解析漏洞,把filepath的值修改为x.asp;.则filepath=/x.asp;.

发现图片地址变成为http://192.168.199.136:81/x.asp;.20222238184089551.gif

访问这个地址,就可以从触发asp的代码。

修改filepath的值,同样也适用于目录的漏洞解析 filepath=/x.asp/

访问http://192.168.199.136:81/x.asp/20222238295688388.jpg

但是连接不成功,登上去服务器也没有发现这个x.asp的目录

那个怎么利用这个解析漏洞呢

条件:

1.是这个中间件

2.上传文件能不能修改上传目录或者上传的文件名能增加命名

如果上传的文件名是固定的,而且目录也没办法创建,那么这个漏洞就没有用处。

命名格式:基于本地名命名,基于时间命名,基于随机字符命名

day33-2.png

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

启动环境:

cd vulhub-master/

cd httpd/CVE-2017-15715/

sudo docker-compose build

suod docker-compose up -d

访问了对应的ip地址跟端口,但是页面什么都没有。

sudo docker-compose down

参考:https://vulhub.org/#/environments/httpd/CVE-2017-15715/

上传的时候在name后面加上/0a

访问的时候,访问后面加上%0a

这个漏洞利用条件:

条件:

1.是这个中间件

2.黑名单验证(在黑名答案的后缀不让上传php,jsp脚本)

白名单可能不行(在白名单里面才能上传 jpg png gif)

为什么说白名单可能不行呢,因为如果上传1.jpg.php%0a的话,如果没有考虑最后一个点为后缀,这个白名单就可以进行绕过。

php%0a绕过黑名单,这个后缀是不是也能正常解析脚本代码(但是绕过不了phpp%0a白名单)

Apache HTTPD 多后缀解析漏洞

上传一个jpg的图片,把图片的名字改为1.php.jpg,发现能上传成功。

day33-3.png

访问:http://192.168.199.129/uploadfiles/1.php.jpg

执行出PHPinfo效果。

如果这个文件保存的文件名是基于时间或者其他命令格式的话,把1.php.jpg命名成2022……655.jpg的话,那么这个漏洞就没有用。

Nginx 文件名逻辑漏洞(CVE-2013-4547)

https://vulhub.org/#/environments/httpd/CVE-2017-15715/

这个环境是黑名单验证,我们无法上传php后缀的文件,需要利用CVE-2013-4547。我们上传一个“1.gif ”,注意后面的空格

day33-4.png

访问http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].php,即可发现PHP已被解析:

day33-5.png

[0x20]是空格,[0x00]是\0,这两个字符都不需要编码。

Web应用编辑器

编辑器是为了方便开发者,进而开发的一个插件。对文件的处理,文件的上传。可以通过自己代码写,也可以通过插件来进行功能的实现。

搭建教程:
https://www.cnblogs.com/hei-zi/p/13394764.html