测试地址:
http://60.166.38.218:7001

测试是否为weblogic

方法一

这个是最直观的办法,也就是看404403页面,如下图就是weblogic特定的404页面,虽然输入一个不存在的文件名就可以看到

image_1d1rp09nn1ut0jsh6s86ikjta2a.png-343.4kB

如下是weblogic特定的403版本

image_1d1roitookvq183qps6itq10j6m.png-195.7kB

方法二

访问其管理控制台/console/目录

方法三

开放7001, 7002, 等特定weblogic常用端口

方法四

特定返回包头部信息,如

image_1d1rp2gma1is6169e17e21vrv1t359.png-741.3kB

1
Servlet/x.x JSP/x.x

方法四

存在/wls-wsat/目录,如

1
http://xx.xxx.xx:7001/wls-wsat/CoordinatorPortType

image_1d1rp44eiiqqcjb5l1md418omm.png-236.1kB

方法五

这个是weblogic ssrf,链接如下

1
http://xxx.xxx.xxx/uddiexplorer/SearchPublicRegistries.jsp?operator=http://localhost/robots.txt&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

这里用第一种办法就测试出来了,如何拿去工具哪儿连接试试~

image_1d1rpe3d8a57m4tkoj1v4a174k13.png-31.5kB

image_1d1rpgbtc7dai8v1rbq1g7m1dbn1g.png-17.7kB

确认可以执行命令等操作之后就要定位war

定位war

为何要定位war包?
因为我们要上传文件,而我们把文件上传到web路径是无法访问的,上传到war包才能够进行访问,导致getshell

网上有很多很复杂的,用下面这个方法挺简单的~ 首先用如下命令找所有的war包里存在的index.html的路径

1
locate war/index.html

image_1d1rpq28j1rq560equnrbednf1t.png-15.5kB

然后就2个,经过测试发现第一个是正确的路径(这样子测试的:每个路径下都去上传文件,然后看看能不能打开~)

1
/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/index.html

然后在这个路径下上传个test.txt,内容为hello world,如图

image_1d1rq9r6o1ldc8qjo71c351ijq2a.png-56.8kB

然后访问

1
http://xxx.xxx.xxx/bea_wls_internal/test.txt

image_1d1rqc8qffos1ogad0m18t4dmc2n.png-13.4kB

补充知识点

特定版本的话可以直接getshell,因为特定版本的war包就是在下面这路径

1
/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/

然后直接上传直接访问

1
http://xxx.xxx.xxx:7001/bea_wls_internal/文件名

就可以了