划水CVE-2019-9194复现
前言elFinder是一个Web文件管理平台,能够上传文件和对文件进行一些操作,其中在对图片进行旋转操作的时候,会拼接命令后执行,来调用Linux下的工具exiftran。而在这个过程中,作者一个失误导致了拼接命令的时候,没有使用在前几行进行过过滤的变量,而是使用了纯净未过滤的变量,这就导致了一个命令注入的漏洞。
19、20、21这三天疯狂摸鱼,研究了一下PHP7.2通过写mem的方式绕过disabled functions,结果发现payload只有php-cli能用(也许php-cgi也可以?),php-fpm和mod_php都没有读取和写入mem的权限。然后又研究了一下Fastjson的绕过,结果踩进了Java的坑里,半天都爬不上来。
今天看到这个漏洞,漏洞原理和复现都很简单,所以复现一下,继续第四天划水的学习生活……
GitHub更新详情:https://github.com/Studio-42/elFinder/compare/2.1.47...2.1...
Java反序列化漏洞-Fastjson
前言(2020/03/16更新)一直想学习一下Java反序列化漏洞的相关利用,寒假期间学习了Java原生类的反序列化漏洞(Apache Commons Collections组件),不过到现在都还没有做一个总结。刚好最近有师傅问到shiro反序列化漏洞的相关事情,所以现在从这篇文章开始,学习各种Java反序列化漏洞,顺便做一个总结并记录下来。环境搭建采用的是Maven+Spring MVC,方便快捷。
FastjsonFastjson是一个性能很好的Java语言实现的Json解析器和生成器,由来自阿里巴巴的工程师开发。具有极快的性能,接口简单易用。Fastjson使用parseObject来进行反序列化。
Fastjson提供了两个主要接口toJSONString和parseObject来实现Json数据的序列化和反系列化。
项目地址:https://github.com/alibaba/fastjson
影响范围fastjson <= 1.2.24
JDK8: 1.2.22 <= fastjson <= 1.2.24...
wordpress5.1-CSRF_to_XSS_to_RCE复现
前言就几天刚披露的一个wordpress5.1的漏洞,虽然漏洞有一定的利用条件,不过最后所能造成的危害还是比较大的。复现了一遍下来,感觉wordpress对于管理员的防备十分的薄弱,似乎是认为管理员就是服务器的拥有者的原因,所以wordpress后台getshell非常地容易。具体攻击思路是攻击者在自己的网站上放置一个CSRF攻击的HTML页面,让受害人访问,然后就会向wordpess的文章中插入一条带有恶意JS代码的评论(stored xss),因为使用的是a标签的缘故,所以还需要受害人将鼠标移动到评论的上方(这些都可以靠社工),然后触发XSS漏洞,攻击者可以修改插件或者主题的PHP代码,得到一个webshell。
危害版本wordpress版本<5.1.1
利用条件具有unfiltered_html权限的用户访问了攻击者编写的恶意页面,并触发了恶意评论中a标签的on事件。
修复增加了对a标签属性的xss过滤。
如果nonce错误则与无unfiltered_html权限的用户接受相同的评论过滤。...
DNS-Rebinding
前言在SSRF漏洞的利用中,经常能看到后端对输入域名或者IP的各种检验过滤,那我们就需要用各种方式来进行绕过了,而其中有一种叫做DNS Rebinding(DNS重绑定)的绕过方式有别于其他的绕过方式,很有趣。
DNS、TTL访问域名的时候,服务器会先向DNS服务器发出解析请求,DNS服务器再向域名指定的授权DNS服务器发出解析请求,得到该域名对应的IP,然后去访问该IP地址。
TTL指DNS缓存的存活时间。在第一次DNS请求后,请求结果会被DNS服务器缓存下来,在缓存存活时间内不再请求,而是直接将结果返回。
后端检验一般来说后端检验并执行会向DNS服务器发出两次请求,第一次询问对应IP是否合法(在内网),第二次获取对应IP进行访问。有时候可以通过302跳转来绕过。
DNS Rebinding通过各种手段,让后端第一次DNS请求得到的IP为外网,第二次为内网。
防御方法缓存第一次DNS解析结果。...