用於學習java漏洞debug。
以weblogic為例。
cve-2017-10271
weblogic:10.3.6
環境搭建
拿docker為例
https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2017-10271
要docker調試
首先將docker的8453開啟
docker-compose.yml里面
version: '2'
services:
weblogic:
image: vulhub/weblogic
ports:
- "7001:7001"
- "8453:8453"
然后運行docker-compose up -d 下載和運行鏡像。
下載完成后
使用docker exec -it weblogic /bin/bash 進入容器,修改/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
添加兩行代碼
debugFlag="true"
export debugFlag
然后 docker restart 容器id
因為需要weblogic的源碼,所以我們把 weblogic的源碼和jdk包都拷貝出來。
docker cp weblogic:/root ./weblogic_jars
然后idea打開/root/Oracle/Middleware/wlserver_10.3/目錄
如圖
然后使用命令把Middleware目錄下所有的*.jar包都放在一個test的文件夾里。
命令如下:
find ./ -name *.jar -exec cp {} ./test/ \;
然后在libraries下添加test目錄
在jdk這塊選用weblogic10.3.6自帶的jdk6
都增加以后
這塊就會出現兩個目錄。
然后我們添加遠程服務器。
端口號是8453
然后應用,開啟debug
當console出現下面圖片時候,說明可以了。
然后在/wlserver_10.3/server/lib/weblogic.jar!/weblogic/wsee/jaxws/WLSServletAdapter.class的129行下斷點
burp在wls-wsat進行發包
當出現下圖時,說明成功了。