小迪安全笔记-33
小迪安全笔记-33
Kn1ght第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的平台,所以发生了这种漏洞
上传文件,抓包
上传正常的图片,保存的路径为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.上传文件能不能修改上传目录或者上传的文件名能增加命名
如果上传的文件名是固定的,而且目录也没办法创建,那么这个漏洞就没有用处。
命名格式:基于本地名命名,基于时间命名,基于随机字符命名
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,发现能上传成功。
访问: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 ”,注意后面的空格
访问http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].php,即可发现PHP已被解析:
[0x20]是空格,[0x00]是\0,这两个字符都不需要编码。
Web应用编辑器
编辑器是为了方便开发者,进而开发的一个插件。对文件的处理,文件的上传。可以通过自己代码写,也可以通过插件来进行功能的实现。