越來(lái)越多的企業(yè)采用Java語(yǔ)言構(gòu)建企業(yè)Web應(yīng)用程序,基于Java主流的框架和技術(shù)及可能存在的風(fēng)險(xiǎn),成為被關(guān)注的重點(diǎn)。
本文從黑盒滲透的角度,總結(jié)下Java Web應(yīng)用所知道的一些可能被利用的入侵點(diǎn)。
一、中間件漏洞
基于Java的Web項(xiàng)目部署會(huì)涉及一些中間件,一旦中間件配置不當(dāng)或存在高危漏洞,就會(huì)嚴(yán)重影響到整個(gè)系統(tǒng)的安全。
1. Web中間件
Weblogic系列漏洞:
弱口令 && 后臺(tái)getshell
SSRF漏洞
反序列化RCE漏洞
Jboss系列漏洞:
未授權(quán)訪問Getshell
反序列化RCE漏洞
Tomcat系列漏洞:
弱口令&&后臺(tái)getshell
Tomcat PUT方法任意寫文件漏洞
Websphere系列漏洞:
弱口令&&后臺(tái)getshell
XXE漏洞
遠(yuǎn)程代碼執(zhí)行漏洞
Coldfusion系列漏洞:
GlassFish系列漏洞:
弱口令&&后臺(tái)getshell
任意文件讀取漏洞
Resin系列漏洞:
弱口令&&后臺(tái)getshell
任意文件讀取漏洞
2. 緩存/消息/搜索/分布式中間件
Redis系列漏洞:
未授權(quán)訪問getshell
主從復(fù)制RCE
ActiveMQ系列漏洞:
ActiveMQ任意文件寫入漏洞
ActiveMQ反序列化漏洞
Kafka系列漏洞:
Elasticsearch系列漏洞:
ZooKeeper系列漏洞:
二、框架及組件漏洞
基于Java開發(fā)的Web應(yīng)用,會(huì)使用到各種開發(fā)框架和第三方組件,而隨著時(shí)間推移,這些框架和組件可能早已不再安全了。
1. 開發(fā)框架
Struts2 系列漏洞:
Spring 系列漏洞:
Spring Security OAuth2遠(yuǎn)程命令執(zhí)行漏洞
Spring WebFlow遠(yuǎn)程代碼執(zhí)行漏洞
Spring Data Rest遠(yuǎn)程命令執(zhí)行漏洞
Spring Messaging遠(yuǎn)程命令執(zhí)行漏洞
Spring Data Commons遠(yuǎn)程命令執(zhí)行漏洞
SpringCloud 系列漏洞:
Dubbo 系列漏洞:
2. 第三方組件
Shiro 系列漏洞:
Shiro 默認(rèn)密鑰致命令執(zhí)行漏洞
Shiro rememberMe 反序列化漏洞(Shiro-550)
Shiro Padding Oracle Attack(Shiro-721)
Fastjson 系列漏洞:
Jackson系列漏洞:
Solr系列漏洞:
XML實(shí)體注入漏洞
文件讀取與SSRF漏洞
遠(yuǎn)程命令執(zhí)行漏洞
JWT漏洞:
3. API 接口漏洞
基于前后端分離的開發(fā)模式,都需要通過(guò)調(diào)用后端提供的接口來(lái)進(jìn)行業(yè)務(wù)交互,api接口安全測(cè)試是一項(xiàng)非常重要的任務(wù)。
API Security:
OWASP API Security-Top 10:https://owasp.org/www-project-api-security/
API-Security-Checklist:https://github.com/shieldfy/API-Security-Checklist/
常見API相關(guān)漏洞:
邏輯越權(quán)
信息泄露
接口濫用
輸入輸出控制
安全錯(cuò)誤配置