![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
web渗透测试
web渗透测试
隐形人真忙
这个作者很懒,什么都没留下…
展开
-
Java deserialization RCE in Tomcat cluster
最近楼主也没有其他的时间来做漏洞研究了,读者们可以从本博上次更新的时间就可以看出来=_,=。但是为了一直关注本楼主的朋友们,我决定拿出两年前的一个存货(其实是辣鸡洞)分享,诚意满满(大雾)。以下是正文:——————————————————————————————————————————————————————TL;DR: 本文主要介绍Tomcat集群的实现机制以及如何发现了反序列化...原创 2020-05-10 10:31:36 · 18451 阅读 · 1 评论 -
JavaMelody组件XXE漏洞解析
======================================================转载原处:https://mp.weixin.qq.com/s/Tca3GGPCIc7FZaubUTh18Q微信公众号:EnsecTeam(欢迎关注)======================================================0x00 概述...原创 2020-05-10 10:31:56 · 16921 阅读 · 0 评论 -
Java Unmarshalling Security - 攻击Hessian协议
0x00 Hessian协议解析Hessian是一个轻量级的Java反序列化框架,和Java原生的序列化对比,hessian更加高效并且非常适合二进制数据传输。既然是一个序列化/反序列化框架,hessian也有反序列化命令执行的问题,这个在marshalsec工具中有所体现。这里有个有趣的点,在hessian框架中,ysoserial框架提供的gadget无法使用,你会发现在hessian...原创 2020-05-10 10:32:09 · 8849 阅读 · 0 评论 -
Jackson dbcp gadget以及CVE-2018-5968
0x00 Overview历史上Jackson的反序列化漏洞以及绕过主要是CVE-2017-7525 和 CVE-2017-17485。而针对反序列化漏洞的防护,jackson主要采用了黑名单机制,通过限制反序列化的类名称来进行防护。黑名单列表在com.fasterxml.jackson.databind.jsontype.impl.SubTypeValidator类中:本文主要介绍d...原创 2020-05-10 10:32:23 · 10561 阅读 · 1 评论 -
Jdk7u21 反序列化漏洞Gadget原理
0x00昨天看到n1nty发了文章分析深度 - Java 反序列化 Payload 之 JRE8u20,分析了Jre8u20这个Gadgets,读了之后顶礼膜拜,Jre 8u20我并没有研究过,不过看到文章开始提到了7u21中的这个Gadget,可能很多同学对这个原理不是很清楚,所以这里翻出一篇当初分析的原理文分享出来,原文如下:0x01对这个Gadget的理解需要一定的java动...原创 2020-05-10 10:32:31 · 9763 阅读 · 1 评论 -
反序列化漏洞的末日?JEP290机制研究
0x00 前言先说一下JEP290这个增强建议本身其实在2016年就提出来了,本身是针对JAVA 9的一个新特性,但是随后官方突然决定向下引进该增强机制,分别对JDK 6,7,8进行了支持:https://blogs.oracle.com/java-platform-group/filter-incoming-serialization-data-a-little-of-jdk-9-g原创 2017-11-16 20:49:53 · 10506 阅读 · 1 评论 -
Jenkins RCE CVE-2016-0788分析及利用
Before Read本文是去年乌云关站前夕在drops上发表的,但是之后的事情大家都知道,非常仓促,估计很多爬虫没有收录此文,我的blog上居然也没有留下,所以特地翻出来备份一下。0x00 概述国外的安全研究人员Moritz Bechler在2月份发现了一处Jenkins远程命令执行漏洞,该漏洞无需登录即可利用,也就是CVE-2016-0788。官方公告是这样描述此漏洞的:...原创 2020-05-10 10:32:38 · 5956 阅读 · 0 评论 -
Struts2 S2-052漏洞分析
0x00 调试环境搭建使用官方的rest-sample即可,下载2.5.12版本的源码https://github.com/apache/struts/archive/STRUTS_2_5_12.zip,然后将apps下面的rest-showcase源码脱下来。Eclipse中新建一个maven工程,web.xml,pom.xml和struts.xml如下:pom.xml&...原创 2020-05-10 10:35:08 · 11834 阅读 · 0 评论 -
Pingback漏洞利用技术
0x00 废话在做内部扫描的过程中,有些POC带有无回显识别功能时,漏洞扫描发payload的时候会把这个callback地址插入到HTTP报文的任意地方进行发送探测漏洞,时间久了,就发现回显后台中有很多不知所云的DNS或者HTTP的log,遇到这种情况并不好排查,往往不了了之。但现在这种情况深入分析是有存在漏洞的风险的,我姑且称其为Pingback漏洞。以下是BH2017相关议题的一些总结。0x0原创 2017-08-02 16:08:28 · 9806 阅读 · 1 评论 -
JSON WEB TOKEN安全
0x00 JWT是什么JWT全称JSON WEB Token,可以理解为一个小型的协议,用于客户端和服务端可靠地传输数据。一个JWT串(来自maimai)实际上长成这个样子:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1IjozNDcyMjU4NiwiaWQiOjc3Mjk3NTl9.I3p2MonJyAAMdsk4VyKgrQT6jal4jJSJv原创 2017-05-23 16:00:15 · 6256 阅读 · 0 评论 -
bug bounty - 绕过限制劫持Skype账号
0x00 前言在使用outlook的过程中,我意外发现了一个URL:https://webdir.xxx.lync.com/xframe。并在这个页面中发现了一处监听message时间的监听器。通过阅读代码,发现过程如下:(1)接受外界的message,抽取出URL,type(类似于command指令),以及一些data、header等。(2)用这个message中的信原创 2017-05-03 10:48:30 · 7366 阅读 · 0 评论 -
PHP HOOK的若干方法
0x00 针对OP进行hook在PHP内核中,每一个OP操作都是由一个固定的Handler函数去负责的,看_zend_op的结构体属性第一个就是opcode_handler_t,表示该OP对应的handler函数具体是哪个。主要是调用zend_set_user_opcode_handler,将对应的ZEND OP的handler函数替换成自己定义的函数实现HOOK机制。比如原创 2017-04-14 18:15:32 · 11641 阅读 · 0 评论 -
s2-045漏洞分析
这个分析写的我有点汗颜,强烈建议抵制struts2,改为更加可靠的SpringMVC。背景是,Struts2默认处理multipart报文的解析器是jakarta,是这个组件出现了问题。该组件定义在了struts-default.xml中,因此,只要不修改parser,并且版本在受影响范围内,肯定是有问题的。令我非常疑惑的是,一个content-type怎么就能用ognl解析...原创 2020-05-10 10:35:22 · 14745 阅读 · 4 评论 -
DNS Rebinding技术绕过SSRF/代理IP限制
0x00 传统SSRF过滤传统SSRF过滤器的方式大致是以下几个步骤:(1) 获取到输入的URL,从该URL中提取host(2) 对该host进行DNS解析,获取到解析的IP(3) 检测该IP是否是合法的,比如是否是私有IP等(4) 如果IP检测为合法的,则进入curl的阶段发包乍一看,这种过滤方式似乎没有什么问题。我们从DNS解析的角度看,该检...原创 2020-05-10 10:35:32 · 12378 阅读 · 0 评论 -
谈谈HSTS超级Cookie
0x00 关于HSTS浏览器在用户输入网址时,会默认使用http协议,即使该站点已经设置了https。比如www.example.com已经设置了https,但是如果用户在浏览器中只输入www.example.com,那么其实是默认访问的http://www.example.com,这时候服务器端只能做个302跳转,将请求显式指定到https://www.example.com。但是这存在原创 2016-12-24 01:03:21 · 6307 阅读 · 0 评论 -
Mysql本地提权漏洞/写my.cnf文件命令执行漏洞
0x00 漏洞影响MySQL <= 5.7.15远程代码执行/ 提权 (0day)5.6.33 5.5.52Mysql分支的版本也受影响,包括:MariaDBPerconaDB0x01 条件(1)可以在低权(需要有FILE权限)账户下执行(2)可以执行sql,最好是个webshell或者phpmyadmin里(3)Mysql 5.5版本以上...原创 2020-05-10 10:35:43 · 9631 阅读 · 0 评论 -
BlackHat2016——JDNI注入/LDAP Entry污染攻击技术研究
(一)基本概念1.1 JNDIJNDI(Java Naming and DirectoryInterface),直译为命名与目录接口。JNDI是一组客户端通过名称(Naming)来寻找和发现数据和对象的API。JNDI的概念分为命名系统和目录系统:(1) 命名系统(Naming Service):将实体使用名称和值的方式联系起来,俗称绑定。l DNS:将机器的网络地址和...原创 2020-05-10 10:35:57 · 5419 阅读 · 2 评论 -
PHP的两个特性导致waf绕过注入(有趣的知识点)
1、HPP HTTP参数污染HTTP参数污染指的是,在URL中提交相同键值的两个参数时,服务器端一般会进行一些处理。比如Apache就要以最后一个参数为准,比如:user.php?id=111&id=222如果输出$_GET数组,则id的值只会取222,即URL上提交的多余值覆盖了前一个值。2、一个CTF题目http://drops.wooyun.org/tips/原创 2016-07-04 23:20:55 · 8036 阅读 · 0 评论 -
Angular JS模板注入漏洞分析
(一)漏洞分析0x00背景周末挖掘漏洞的过程中,发现了一个有意思的XSS,是运用了Angular JS的模板进行注入,从而执行了恶意代码,思路和技术比较新颖。Angular JS是一款比较流行的前端MVC框架,很多前沿的网站都在用。一般,对于XSS都会进行一定的过滤,比如下面的代码:<html ng-app><head><script sr...原创 2020-05-10 10:36:04 · 18254 阅读 · 0 评论 -
Java RMI服务远程命令执行利用
--------------------------------------------------------------很长时间没更新博客了,今天来一发。--------------------------------------------------------------0x00 介绍Java RMI服务是远程方法调用(Remote Method Invocatio...原创 2020-05-10 10:36:23 · 31051 阅读 · 1 评论 -
postMessage安全性问题
0x00浏览器有同源策略,规定js访问必须遵循同源策略,即满足同协议-同域名-同端口条件才能访问web资源,cookie,dom等等。 跨域的方式也有很多种,jsonp,window.name,document.cookie,其中postMessage就是一种跨域的方法。 使用postMessage方法时,我们只要发送端拥有某个窗口的有效js的句柄,就可以通过这套机制向该窗口发送任意长度的文本信原创 2015-10-03 11:07:00 · 7527 阅读 · 0 评论 -
XSS绕过长度限制的两个Tips
0x00 使用outerHTML<img src onerror=outerHTML=URL>利用了outerHTML和URL(这里的URL是document.URL),将要执行的JS放在url中,从而突破长度限制。使用document.URL构造XSS执行JS。 实例:<?phpecho "keywords is:" . substr($_GET['k'], 0, 35);?>提交URL:h原创 2015-09-13 19:21:06 · 6854 阅读 · 0 评论 -
Python中eval带来的潜在风险
0x00 前言eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行。比如下列代码:>>> eval("1+2")3>>> eval("[x for x in range(10)]")[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]当内存中的内置模块含有os的话,eval同样可以做到命令执行:>>> import os>>> e原创 2015-08-05 15:58:37 · 7754 阅读 · 0 评论 -
redis渗透中的getshell问题总结
0x00 前言redis现在很多都是直接对外开放端口,从外网无需任何验证即可直接访问到。相关的例子可以从shodan或者zoomeye上找到。那么问题来了,作为一个内存数据库,redis上肯定也有很多敏感信息,比如redis用于做session的存储,可能导致敏感信息泄露。不过最近研究redis从乌云社区和drops上看到有人getshell,思路比较有趣,特地写一下总结。...原创 2020-05-10 10:36:31 · 21902 阅读 · 1 评论 -
漏洞批量利用扫描框架
0x00前言每次漏洞爆发之后,很多人都在急着找批量,想着能多刷几个洞提交乌云上。其实有些漏洞的探测步骤很多时间是可以统一抽取做成框架的。今天我就分享一下自己写的一个漏洞批量利用的框架,运用这个框架,可以方便的进行一些漏洞的批量扫描。0x01框架的原理漏洞的扫描一般都是URL链接挂载一个POC或者有人更狠直接上exp来尝试访问,如果服务器返回的页面中存在一些特征的字...原创 2020-05-10 10:36:44 · 16507 阅读 · 0 评论 -
浅谈PHP自动化代码审计技术
0x00由于博客实在没什么可以更新的了,我就把目前做的事情总结一下,当做一篇博客,主要是谈一谈项目中所运用的一些技术。目前市面上有不少PHP的自动化审计工具,开源的有RIPS、Pixy,商业版本的有Fortify。RIPS现在只有第一版,由于不支持PHP面向对象分析,所以现在来看效果不是太理想。Pixy是基于数据流分析的工具,但是只支持PHP4。而Fortify是商业版本,由于这个限制原创 2015-04-10 17:15:40 · 10830 阅读 · 4 评论 -
2015 AliCTF Writeup
0x00给了个apk,反编译之。使用JEB,一开始使用classes_dex2jar出来的代码不能看.....入口的Activity中有两个对话框,发现调用了check方法,只要不报异常就能成功。这里的this.b是M类的一个对象,所以找M类中的check方法。进入check,看到代码的意思如下,调用getKey获取一个8字节的字符串:这里不会抛异常,所以调用的是T原创 2015-04-03 13:41:05 · 2001 阅读 · 0 评论 -
CI框架中的SQL注入隐患
0x00在CI框架中,获取get和post参数是使用了$this->input类中的get和post方法。其中,如果get和post方法的第二个参数为true,则对输入的参数进行XSS过滤,注意只是XSS过滤,并不会对SQL注入进行有效的防范。例子:Controller中,定义一个shit方法,获取get数据:指定了第二个参数为true:(1)XSS测试...原创 2020-05-10 10:36:52 · 22395 阅读 · 0 评论 -
齐博CMS变量覆盖漏洞exp
漏洞的具体分析在http://security.alibaba.com/blog/blog.htm?spm=0.0.0.0.AooULy&id=13,下面公布一下我写的漏洞利用以及exp。利用步骤如下:(1)首先访问/member下面的“评论管理”功能,抓包(2)在httprequest中构造一个attachment,如下:POST /qibo/mem...原创 2020-05-10 10:37:00 · 12638 阅读 · 4 评论 -
ElasticSearch Groovy远程代码执行POC和exp
ElasticSearch的这个漏洞的编号是CVE-2015-1427,影响版本为1.3.0-1.3.7以及1.4.0-1.4.2,漏洞成因详见:http://drops.wooyun.org/papers/5107,本文具体探讨一下漏洞利用。1.2.0版本默认是禁用了脚本执行,如果要使用该功能的话,要在elasticsearch.yml中设置script.disable_dynami...原创 2020-05-10 10:37:11 · 14044 阅读 · 9 评论 -
ZooKeeper信息泄露漏洞(CVE-2014-085)
研究ZooKeeper时顺便看到的,危害级别比较低,居然上了CVE,目测Apache有干爹照顾。对于node的访问,ZooKeeper提供了相应的权限控制,即使用访问控制列表ACL来进行实现。一个ACL只从属于一个特定的node,而对这个node的子节点是无效的,也就是不具有递归性。比如/app只能被10.10.10.1访问,/app/test为任何人都可以访问(world,anyon...原创 2020-05-10 10:37:18 · 22735 阅读 · 1 评论 -
SpringMVC中的XXE漏洞测试
SpringMVC框架支持XML到Object的映射,内部是使用两个全局接口Marshaller和Unmarshaller,一种实现是使用Jaxb2Marshaller类进行实现,该类自然实现了两个全局接口,用来对XML和Object进行双向解析。并且XML文件可以是DOM文档、输入输出流或者SAXhandler。SpringMVC流行使用注解来快速开发,其中JAXB注解可以对JavaBea...原创 2020-05-10 10:37:24 · 14860 阅读 · 2 评论 -
Hibernate框架中的HQL注入漏洞
Hibernate是一种ORMapping框架,内部可以使用原生SQL还有HQL语言进行SQL操作。所谓的HQL注入,就是指在Hibernate中没有对数据进行有效的验证导致恶意数据进入应用程序中造成的。请看这段代码:Input参数即可造成注入。不过在Hibernate中,一般都是在createQuery中使用PDO,使用setString填充占位符进行sql语句...原创 2020-05-10 10:38:02 · 24695 阅读 · 1 评论 -
XXE漏洞以及Blind XXE总结
转载请注明出处:http://blog.csdn.net/u0117215010、前言XXE漏洞是针对使用XML交互的Web应用程序的攻击方法,在XEE漏洞的基础上,发展出了BlindXXE漏洞。目前来看,XML文件作为配置文件(Spring、Struts2等)、文档结构说明文件(PDF、RSS等)、图片格式文件(SVGheader)应用比较广泛,此外,网上有一些在线XML格式...原创 2020-05-10 10:38:16 · 53390 阅读 · 7 评论 -
解析PHP对象注入漏洞
0、前言逛乌云知识库的时候看到一篇有趣的译文:http://drops.wooyun.org/papers/4820。说的是一种注入方式,叫对象注入。对象也能注入?是的,只要是存在污染数据,没有什么是不可能注入的,但是这个漏洞有点太古怪了,所以我觉得有趣。 1、原理在程序编写的时候,往往需要序列化一些运行时数据,所谓序列化就是按照一定的格式将运行时数据写入本地文件。原创 2015-02-03 22:10:16 · 3032 阅读 · 0 评论 -
深入探究宽字节注入漏洞与修补原理
0、前言最近要为了自动化审计搜集所有PHP漏洞,在整理注入的时候,发现宽字节注入中使用iconv造成的漏洞原理没有真正搞懂,网上的文章也说得不是很清楚,于是看了荣哥(lxsec)以前发的一篇http://www.91ri.org/8611.html,加上我们两个人的讨论,最终有了这一篇深入的研究成果。1、概述主要是由于使用了宽字节编码造成的。什么是字符集?计算机显...原创 2020-05-10 10:38:25 · 19056 阅读 · 2 评论 -
如何自己构建一个小型的Zoomeye----从技术细节探讨到实现
0、概述Zoomeye是个网络空间的搜索引擎,它不同于传统意义上的搜索引擎,而是一种可以搜索网络组件和网络设备的搜索引擎。这种以各大组件指纹作为识别基础的数据平台,更多的是为了使得安全研究人员更好地评估漏洞的影响范围与其中隐含的数据模式。1、架构分析这是从网上搜索到的一张Zoomeye的后端架构图,主要分为调度框架、ES存储、UI呈现等模块。对于一次漏洞的评估,启动调度框架原创 2014-12-16 21:51:51 · 29140 阅读 · 32 评论 -
实现一个Web版的类Metasploit的攻击框架
这是我现在结题的一个专业实训中的一部分内容,小心翼翼地拿出来分享。在项目中,攻击模块不仅提供自动化攻击功能,也提供了用户扩展的平台,通过规定编写规则来进行有效的扩展。(1)攻击模块设计该攻击模块采用命令行模式,设计功能示意图如下:(a)指定exp名称攻击:l全域名扫描即针对现有的域名全部进行攻击。python safecatcli.py -m exp原创 2014-12-13 10:37:39 · 5660 阅读 · 1 评论 -
Struts2漏洞之S2-016漏洞分析与exp编写
1、概述S2-016是13年7月爆出的,那时候的我还没涉及Web安全研究。这次迟到的分析也算是对过去的补充。这个漏洞影响了Struts 2.3.15.1之前的所有版本。问题主要出在对于特殊URL处理中,redirect与redirectAction后面跟上Ognl表达式会被服务器执行。2、漏洞分析分析开源框架的漏洞还是从其源码入手,问题出在了DefaultActiion...原创 2020-05-10 10:38:33 · 37262 阅读 · 2 评论 -
Struts2漏洞分析与研究之S2-005漏洞分析
转载请注明出处:http://blog.csdn.net/u011721501?viewmode=list1、概述S2-005是由于官方在修补S2-003不全面导致绕过补丁造成的。我们都知道访问Ognl的上下文对象必须要使用#符号,S2-003对#号进行过滤,但是没有考虑到unicode编码情况,导致\u0023或者8进制\43绕过。S2-005则是绕过官方的安全配...原创 2020-05-10 10:38:41 · 29798 阅读 · 2 评论