1

Java代码审计

 2 years ago
source link: https://yinwc.github.io/2020/01/03/Java%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Java代码审计



Word count: 1.1k / Reading time: 4 min
 2020/01/03   Share

个人代码审计流程:

查看访问控制部分
查看三方组件是否有已知风险
查看一些组件配置,如JWT、Shiro密钥等
查看数据库查询是否存在注入
查看文件IO操作
一些其他敏感操作,如命令执行、反射等
查看重要逻辑,如密码重置

反序列化命令执行漏洞挖掘方法:

1、针对一个Java应用,需要找到一个接受外部输入的序列化对象的接收点,即反序列化漏洞的触发点,可以通过审计源码中对反序列化函数的调用(例如readObject())来寻找,也可以直接通过对应用交互流量进行抓包,查看流量中是否包含Java序列化数据来判断,java序列化数据的特征为以标记ac ed 00 05开头。
2、确定了反序列化输入点后,再考察应用的Class Path中是否包含Apache Commons Collections库(ysoserial所支持的其他库亦可),如果是,就可以使用ysoserial来生成反序列化的payload,指定库名和想要执行的命令。
3、通过先前找到的传入对象方式进行对象注入,数据中载入payload,触发受影响应用中ObjectInputStream的反序列化操作,随后通过反射调用Runtime.getRunTime.exec即可完成利用。

整理一些文章,方便学习。

Know it then do it.


来自豪哥的语录:

作为一个学习java sec的人

要熟读文章: https://xz.aliyun.com/t/7107

熟读源码:http://note.youdao.com/noteshare?id=134e909f364d738c3b4a4d3b826cb5ec

Github项目

Java Web常见漏洞和安全代码 包含了在线演示demo
learnjavabug 豪哥的项目

代码审计系列

先知社区:代码审计手书
Sec-wiki Java Web安全系列
凌天实验室的代码审计系列
java安全的一些总结,主要是安全审计相关

FastJson

l1nk3r师傅的FastJson反序列化学习
Fastjson =< 1.2.51 反序列化漏洞实战复测
Fastjson 1.2.47 RCE漏洞复现
FastJson<=1.2.47 漏洞复现

Fastjson漏洞复现含视频

Java反序列化漏洞学习实践一:从Serializbale接口开始,先弹个计算器
先知java反序列化集合
Java_JSON反序列化之殇_看雪安全开发者峰会
从反射链的构造看Java反序列漏洞
Java反序列化漏洞从理解到实践
Java 序列化与反序列化安全分析
如何攻击Java反序列化过程
深入理解JAVA反序列化漏洞
jackson反序列化详细分析
Java安全之反序列化漏洞分析
fastjson 反序列化漏洞 POC 分析
Apache Commons Collections反序列化漏洞学习
bit4师傅的从0开始学习反序列化

Java反序列化备忘录
Java反序列化漏洞从入门到深入

安全编码合集

JAVA安全编码与代码审计
java-sec-code

apache基金会

Adobe ColdFusion反序列化RCE漏洞分析(CVE-2019-7091)
Apache Solr RCE—【CVE-2019-0192】
Apache JMeter rmi 反序列化—【CVE-2018-1297】
Apache Solr XXE漏洞分析 -【CVE-2018-8026 】
Apache Tomcat安全绕过漏洞(CVE-2018-1305)
CVE-2017-12623 Apache NiFi xxe
Apache ActiveMQ Artemis 反序列化—【CVE-2016-4978】
Apache Fineract SQL Inject—【CVE-2017-5663】
Apache FOP-XXE—【CVE-2017-5661】
Apache Batik XXE—【CVE-2017-5662】
Apache Struts2 Freemarker标签远程执行漏洞分析和复现(S2-053)
Apache Synapse远程命令执行漏洞分析—【CVE-2017-15708】
Apache Tika 任意代码执行详细分析Poc—【CVE-2016-6809】

jenkins

jenkins 无限制 rce 分析
Jenkins RCE分析(CVE-2018-1000861分析)
Hacking Jenkins Part 1 - Play with Dynamic Routing
Hacking Jenkins Part 2 - Abusing Meta Programming for Unauthenticated RCE!

Spring Boot Actuator

Exploiting Spring Boot Actuators
Attack Spring Boot Actuator via jolokia Part 1
Attack Spring Boot Actuator via jolokia Part 2

Nexus Repository Manager 3

Nexus Repository Manager 3 远程代码执行漏洞 (CVE-2019-7238) 分析及利用

关于JNDI注入
层层放大java审计的攻击面
以Java的视角来聊聊SQL注入
站在Java的视角,深度分析防不胜防的小偷——“XSS”
你的 Java web 配置安全吗
spring任意文件读取
在 Runtime.getRuntime().exec(String cmd) 中执行任意shell命令的几种方法
ysoserial 分析系列
sec-news集合
sec-wiki集合
先知文章集合


Recommend

  • 49
    • www.freebuf.com 5 years ago
    • Cache

    Java Web安全之代码审计

    信息安全的75%发生在Web应用而非网络层。本文内容主要以Java Web安全-代码审计为中心展开。 一、JavaWeb 安全基础 1. 何为代码审计? 通俗的说Java代码审计就是通过审计Java代码来发现Java应用程序自身中存...

  • 23
    • www.wjlshare.xyz 3 years ago
    • Cache

    JAVA代码审计08:WebGoat XSS

    0x00 前言 其实在这之前还有一章Broken Access Control 但是简单的做了做之后发现那个章节就是为了给我们提供一些思路,代码方面没什么可以说的就跳过了 0x01 正文 Reflected XSS xss相对熟...

  • 10
    • timeshu.github.io 2 years ago
    • Cache

    Java代码审计-RBAC管理系统

    Time'BlogJava代码审计-RBAC管理系统发表于2022-03-06|更新于2022-03-07|代码审计阅读...

  • 8
    • timeshu.github.io 2 years ago
    • Cache

    Java代码审计-OFCMS

    Time'BlogJava代码审计-OFCMS发表于2022-02-23|更新于2022-03-06|代码审计阅读量:|评...

  • 14
    • timeshu.github.io 2 years ago
    • Cache

    Java代码审计-Log4j2漏洞分析

    Time'BlogJava代码审计-Log4j2漏洞分析发表于2022-02-09|更新于2022-02-18|代码审计阅...

  • 21
    • timeshu.github.io 2 years ago
    • Cache

    Java代码审计-MCMS

    Time'BlogJava代码审计-MCMS发表于2022-01-15|更新于2022-02-09|代码审计阅读量:44|评...

  • 4
    • www.cnblogs.com 2 years ago
    • Cache

    简单的java代码审计 - 馒头/

    简单的java代码审计

  • 7
    • www.cnblogs.com 2 years ago
    • Cache

    java代码审计的点 - 馒头/

    java代码审计的点 组件的审计 首先看pom.xml查看第三方组件和第三方组件的版本 常用的第三方组件: 第三方组件 漏洞类型 组件漏洞版本

  • 8
    • fanygit.github.io 1 year ago
    • Cache

    【Java代码审计】ofcms 1.1.3

    通过审计一些简单的源码学习代码审计。在审计过程感觉还是有很多代码看不懂,不管那么多了,先审起来。 后台sql注入漏洞登录后台后,在系统设置->代码生成->添加中输入如下payload update of_cms_ad set...

  • 5
    • fanygit.github.io 1 year ago
    • Cache

    【Java代码审计】Jfinal CMS

    学习代码审计,为了练手,在CNVD上找了一个存在漏洞的Jfinal CMS的系统来审计,Jfinal CMS 5.0.1这个版本中在存在一个fastjson反序列漏洞,但是需要登录到后台,而且套代码使用的人并不是很多,所以危害并不大。Jfinal CMS 5.1.0 则存在大量的sql注入漏洞,目前这个...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK