ref:https://xz.aliyun.com/t/1633/ JAVA代码审计的一些Tips(附脚本) 概述 本文重点介绍JAVA安全编码与代码审计基础知识,会以漏洞及安全编码示例的方式介绍JAVA代码中常见Web漏洞的形成及相应的修复方案,同时对一些常见的漏洞函数进行例举.文章最后分享一个自动化查找危险函数的python脚本. XXE 介绍 XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素.文档类型定义(DTD)的作用是定义 XML 文档的合法构建模块.DTD 可以在…
初学 java 代码审计,跟着表哥们脚步,走一遍审计流程,就选了个没有使用 Java 框架的 java 系统,作为入门. 目的是为了熟悉代码审计流程,寻找漏洞的思路,入门记录. 准备工作 为了验证审计出的漏洞效果,还是要搭建起来系统,不然空说无凭.为了方便,使用 JspStudy 2016 一体化环境,选择 tomcat 8.0, jdk 1.8 搭建.查看代码使用 IDEA,当然,也可以用 jd-gui,反编译 class,不过 IDEA 自动就反编译了,比较方便. 值得注意的是,使用系统自带…
分享一些Java安全相关文章,其中大部分都涉及到代码的分析与审计. 大家总是在找Java的代码审计的文章,但好像很多人选择性失明. 其实Java没有和PHP一样的简单,所以你觉得你看到的文章不是入门级的所以不认为这个是代码审计,所以会有种Java文章很少的错觉,其实这些都是代码审计. #JAVA安全# #Jdk7u21 反序列化漏洞Gadget原理 链接:Jdk7u21 反序列化漏洞Gadget原理 - Exploit的小站~ - CSDN博客 审计mybatis的sql注入链接:审计mybat…
文章来源:https://xz.aliyun.com/t/1633 最近在先知上看到之前有篇关于java代码审计的文章总结的蛮好,记录以下特征函数,方便查阅,同时自己也会将在平时代码审计过程中积累的函数补充在这篇文章中.(虽然作者已经很贴心的提供了脚本). 1.xxe 常见解析xml的类有如下: javax.xml.parsers.DocumentBuilderjavax.xml.stream.XMLStreamReaderorg.jdom.input.SAXBuilderorg.jdom2.i…
java代码审计的点 组件的审计 首先看pom.xml查看第三方组件和第三方组件的版本 常用的第三方组件: 第三方组件 漏洞类型 组件漏洞版本 log4j2 远程代码执行 Apache log4j2 >= 2.0, <= 2.14.1 Fastjson 反序列化远程代码执行 Fastjson <= 1.2.80 iBatis(MyBatis) SQL注入 Struts2 命令执行 Shiro 反序列化 中间件 Tomcat,WebLogic,WebShereJboss,Jetty,Gla…
Java代码审计之不安全的Java代码 ​ 在打靶场的同时,需要想一下如果你是开发人员你会怎样去防御这种漏洞,而作为攻击方你又怎么去绕过开发人员的防御. 环境搭建 https://github.com/j3ers3/Hello-Java-Sec SQL注入 ​ SQLI(SQL Injection), SQL注入是因为程序未能正确对用户的输入进行检查,将用户的输入以拼接的方式带入SQL语句,导致了SQL注入的产生.攻击者可通过SQL注入直接获取数据库信息,造成信息泄漏. SQL注入之JDBC注入…
2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Mustang 在性能方面有了不错的提升.与 Tiger 在 API 库方面的大幅度加强相比,虽然 Mustang 在 API 库方面的新特性显得不太多,但是也提供了许多实用和方便的功能:在脚本,WebService,XML,编译器 API,数据库,JMX,网络 和 Instrumentation 方面都有不…
建议16: 易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP.Ruby.Groovy.JavaScript等,这些“入侵者”都有一个共同特征:全是同一类语言—脚本语言,它们都是在运行期解释执行的.为什么Java这种强编译型语言会需要这些脚本语言呢?那是因为脚本语言的三大特征,如下所示: 1.灵活.脚本语言一般都是动态类型,可以不用声明变量类型而直接使用,也可以在运行期改变类型. 2.便捷.脚本语言是一种解释型语言,不需要编译成二进制代码,也不需要像Java一样生成字节…
JAVA平台上的网络爬虫脚本语言 CrawlScript 网络爬虫即自动获取网页信息的一种程序,有很多JAVA.C++的网络爬虫类库,但是在这些类库的基础上开发十分繁琐,需要大量的代码才可以完成一 个简单 的操作.鉴于这个问题,我们开发了CrawlScript这种脚本语言,程序员只需要写2-3行简单的代码,就可以制作一个强大的网络爬虫.同 时,CrawlScript由JAVA编写,可以在其他JAVA程序中被简单调用. CrawlScript是一种具有爬虫功能的javascript CrawlSc…
微信开发获取地理位置实例(java,非常详细,附工程源码)   在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一些必要的配置,以及如何调用微信接口. 2.微信开发之通过代理调试本地项目,该文章详细讲解了如何调试本地项目,使用工具的详细安装与配置. 3.微信开发之使用java获取签名signature(贴源码,附工程),该文详细讲些了如何获取签名,代码十分详细. 对于初学者,可能还不知道订阅号.服务号.和企业号…