Java 审计之SSRF篇】的更多相关文章

Java 审计之SSRF篇 0x00 前言 本篇文章来记录一下Java SSRF的审计学习相关内容. 0x01 SSRF漏洞详解 原理: 服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制. 大部分的web服务器架构中,web服务器自身都可以访问互联网和服务器所在的内网. ssrf作用: 对外网服务器所在的内网.本地进行端口扫描,获取一些服务的banner信息 . 攻击运行在内网或者本地的应用程序. 对内网web应用进行指纹识别,通过访问默认文件实现 . 攻击内外网的web应…
Java审计之XSS篇 0x00 前言 继续 学习一波Java审计的XSS漏洞的产生过程和代码. 0x01 Java 中XSS漏洞代码分析 xss原理 xss产生过程: 后台未对用户输入进行检查或过滤,直接把用户输入返回至前端.导致javascript代码在客户端任意执行. XSS代码分析 在php里面会使用echo对用户输入的参数进行直接输出,导致了xss漏洞的产生.而在Java里面会将接收到的未经过滤的参数共享到request域中,在jsp的页面里面使用EL表达式进行输出. 这里编写一个se…
Java 审计之XXE篇 0x00 前言 在以前XXE漏洞了解得并不多,只是有一个初步的认识和靶机里面遇到过.下面来 深入了解一下该漏洞的产生和利用. 0x01 XXE漏洞 当程序在解析XML输入时,允许引用外部实体,导致能够引用一个外部恶意文件,可导致执行系统命令,内网端口检测,文件读取,攻击内网服务,dos攻击等. 在解析外部实体的过程中,XML解析器可以根据URL中指定的方案(协议)来查询各种网络协议和服务(DNS,FTP,HTTP,SMB等). 外部实体对于在文档中创建动态引用非常有用,…
Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 在Java里面常见的数据库连接方式也就那么几个,分别是JDBC,Mybatis,和Hibernate. 注入常见场景分析 JDBC的连接是比较繁琐的,并且是最原始的连接方式,我们来看看JDBC的最原始的连接代码 Get型注入: @WebServlet("/demo") public cla…
Java审计之命令执行篇 0x00 前言 在Java中能执行命令的类其实并不多,不像php那样各种的命令执行函数.在Java中目前所知的能执行命令的类也就两种,分别是Runtime和 ProcessBuilder类. 0x01 Runtime 执行命令分析 关于Runtime具体的使用可以看这篇文章,反射去调用Runtime. Java学习之反射篇 @WebServlet("/execServlet") public class execServlet extends HttpServ…
Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 文件上传漏洞 RandomAccessFile类上传文件案例: package com.test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp…
上篇内容我们介绍了XXE的基础概念和审计函数的相关内容,今天我们将继续分享Blind XXE与OOB-XXE的知识点以及XXE防御方法,希望对大家的学习有所帮助! 上期回顾  ◀漏洞经验分享丨Java审计之XXE(上) Blind XXE Blind XXE与OOB-XXE 一般XXE利用分为两大场景:有回显和无回显.有回显的情况可以直接在页面中看到Payload的执行结果或现象(带内XML外部实体(XXE),即攻击者可以发送带有XXE有效负载的请求并从包含某些数据的Web应用程序获取响应),无…
最近在审计公司的某个项目时(Java方面),发现了几个有意思的Blind XXE漏洞,我觉得有必要分享给大家,尤其是Java审计新手,了解这些内容可以让你少走一些弯路. Java总体常出现的审计漏洞如下: >SQL注入 >XSS >CSRF >XXE >SSRF >CRLF注入 >远程命令执行 >反序列化 >文件上传 >任意文件删除 >文件下载 >DWR接口未授权访问 >JSONP >URL报名单绕过 XXE简介 XXE(…
概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3480016.html 1. 生产/消费者模型 生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”.“消费者”.“仓库”和“产品”.他们之间的关系如下:(01) 生产者仅仅在仓储未满时候生产,仓满则停止生产.(02) 消费者仅仅在仓储有产品时候才能消费,仓空则等待.(03) 当…
概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchronized代码块4. 实例锁 和 全局锁 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479202.html 1. synchronized原理 在java中,每一个对象有且仅有一个同步锁.这也意味着,同步锁是依赖于对象而存在.当我们调用某对象的sy…