SEC-2022版-0024-WEB攻防-15-通用漏洞之文件上传&二次渲染&.htaccess&变异免杀
总览
知识点:
1、中间件安全问题
2、中间件文件上传解析
3、Web应用编辑器上传
详细点:
1、检测层面:前端,后端等
2、检测内容:文件头,完整性,二次渲染等
3、检测后缀:黑名单,白名单,MIME检测等
4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等
本章课程内容:
1、文件上传-CTF赛题知识点
2、文件上传-中间件解析&编辑器安全
3、文件上传-实例CMS文件上传安全分析
前置:
后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)
如:jpg图片里面有php后门代码,不能被触发,所以连接不上后门
如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还有.user.ini&.htaccess
中间件选用–朝java过渡,IIS即将被弃用
实践
中间件文件解析-IIS&Apache&Nginx
IIS 6 7 文件名 目录名
- 文件名/目录名解析漏洞
- 文件名:x.asp;.x.jpg x.asp;.x.jpg一整个都是文件名,但文件会被作为asp文件进行执行。
- 目录名:x.asp/x.jpg x.asp是目录名,x.jpg是文件名。x.jpg会被作为asp来执行
- IIS7.X与Nginx解析漏洞一致
- 当上传的文件名固定,以及目录也无法创建时,此解析漏洞作废
- 命名方式:
- 基于本地名命名
- 基于时间命名
- 基于随机字符命名
- 文件名/目录名解析漏洞
Apache 换行解析 配置不当
apache可以不用安装,因为生成环境的时候它是会自带的
换行解析-CVE-2017-15715
- 黑名单后缀禁止上传(php,asp,js),白名单仅仅允许某些符合规则的后缀上传(世事无绝对,看情况绕过黑白名单)。
- 通过上传php%0a的后缀突破php黑名单
- 其2.4.0~2.4.29版本中存在一个解析漏洞
- 涉及的靶场解析以及对应的数据包片段如下:
Content-Disposition: form-data; name="file"; filename="evil.php"
phpinfo();
-----------------------------15976337054444893102212276887
Content-Disposition: form-data; name="name"
evil.php <=此处留个空格,在十六进制当中替换为0a
-----------------------------15976337054444893102212276887--配置不当-.htaccess配置不当
- 配置不当导致带.php的所有文件被当做php文件来执行。
- AddHandler application/x-httpd-php .php
- 访问IP地址后,上传文件,文件会带有一个地址展示给你看,访问这个文件地址,就是带着.php.png后缀的php执行结果。
- 基于本地文件上传
- 配置不当导致带.php的所有文件被当做php文件来执行。
Nginx 文件名逻辑 解析漏洞
- 文件名逻辑-CVE-2013-4547
- 影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
- 上传一张图片即可拿下权限:url/image.php.png => 直接将图片作为php执行。
- 文件名解析漏洞-nginx.conf配置不当
- 上传一张图片即可拿下权限:url/image.png/.php => 直接将图片作为php执行。
- fofa对应的搜索语句:title=”phpStudy 探针 2014” && server=”Nginx”
- 由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
- 文件名逻辑-CVE-2013-4547
Web应用编辑器-Ueditor文件上传安全
这个原本是百度开发的一个编译器。通过这个插件可以上传自己的后门,远程包含自己服务器的后门图片,用来作为后门入侵对方网站。
前后台如果存在该类编辑器,就有可能利用该编译器漏洞进行攻击。
<form action="http://192.168.46.139/net/controller.ashx?action=catchimage" enctype="multipart/form-data" method="POST"> |
编辑器:Ueditor,fckeditor,ewebeditor,kindeditor等
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 矢幽武博客!
评论