天命:这次目标批量横扫,但是没完全成功,也没完全失败
步骤1:磨刀准备
这次先针对漏洞来寻找目标,所以寻找这种 springboot 的目标
利用CVE漏洞,进行命令执行攻击
先找靶场训练一波,叠加反弹shell测试,准备齐全
利用工具反弹shell成功,但这里是靶场,实战场景可不是这样
大神的POC工具:GitHub - M0ge/CVE-2022-22947-Spring-Cloud-Gateway-SpelRCE: Spring Cloud Gateway远程代码执行漏洞POC,基于命令执行的基础上,增加了反弹shell操作
步骤2:筛选目标
用网络空间搜索引擎,找一下目标,只要是包含:Whitelabel Error Page 的字符串,全部纳入范围
导出下载excel,只要host列,复制到文件里
因为暂时不清楚url,不清楚是 http 还是 https ,也不清楚哪些能访问,所以要手动筛选一下
import requests,threading
def get_url(url):
try:
URL = "http://"+url
res = requests.get(URL)
if "Whitelabel Error Page" in res.text:
list.append(URL)
print("访问成功:"+URL)
except:
try:
URL2 = "https://"+url
res = requests.get(URL2)
if "Whitelabel Error Page" in res.text:
list.append(URL2)
print("访问成功:"+URL2)
except:
pass
if __name__ == '__main__':
list = []
url_list = []
f = open('url.txt','r')
for z in f:
url = z.strip()
url_list.append(url)
# 创建线程列表
threads = []
# 创建并启动线程
for i in range(len(url_list)):
t = threading.Thread(target=get_url, args=(url_list[i],))
threads.append(t)
t.start()
# 等待所有线程完成
for t in threads:
t.join()
print("ojbk")
步骤3:编写exp
这步开始有异常了,burp抓包发送,是正常找到有漏洞的网站的
但如果自己写Python脚本发送请求,就是不行,也搞不清楚为什么,
然后用接口测试工具试了一下,也是不行
但是自己的靶场是正常的
使用大神的POC脚本,也是不行,暂时没找到原因是为什么
POC总共三个包,第一个包就跪了,返回全部是404,只有用burp发送才是201成功
神奇!
但起码也算半成功,因为可以命令执行了,但也没完全执行,限制还是很大的
空格不能有,好像反斜杠也不能用,限制超级多,所以只能算成功了一半。