Ysoserial工具解读(一)
今天要说的第一个类是AnnotationInvocationHandler,主要是CommonsCollections1.java的内容。
前言虽然,ysoserial这个工具从发布到现在有3、4年了。但它在构造序列化对象时使用了很多精巧的方法,重读一遍它的代码,对于提升java基础还是很有帮助的。这里计划写一个系列,将该工具所用到的一些类和特殊方法归类总结。如果有网友懒得自己读代码,可以读我写的这些文章。准确来说,本系列的第一篇文章应该是半年前写的那篇:Java反序列化漏洞解析 。
基础知识这些基础知识点和后期要分析的payload构造方法息息相关,可以现在就读,也可以在后面碰到了再回头看。
反射机制如上一篇所说,反射机制允许程序在运行态时获取一个类的所有属性和方法,也能调用一个对象的所有方法,还能修改其属性。具体的Class对象的各种方法都请参考上一篇文章,这里贴一下ysoserial这个工具对用到的反射机制的代码封装:
1234567891011121314151617181920212223242526272829303132333435363738394041424344 ...
CDN绕过姿势复读
今天在信安之路公众号上读到一篇关于CDN Bypass的干货文章,觉得总结得很好。这里对里面提到的技巧做详细解释,安分地做好一台复读机!
方法如果目标站部署了CDN,浏览器到目标站点的资源请求就转向了CDN节点,而CDN厂商通常会部署一些WAF。当我们能直接访问网站的真实IP时,就相当于绕过了一道WAF。另外,只有找到了真实IP,我们扫描目标机器的端口才有意义。
域名搜索常见方法有SSL证书、爆破、Google Hacking、同邮箱注册人、DNS域传送、JS文件提取、网络空间搜索引擎等等,具体细节可以再延伸成一片文章,这里不表。
查询DNS历史解析记录在DNS解析记录未删除的情况下,可以通过一些网站查到:
http://viewdns.info
https://x.threatbook.cn
http://www.17ce.com
https://dnsdb.io/zh-cn
https://securitytrails.com
http://www.ip138.com
一个工具:https://github.com/vincentcox/bypass-firewalls-by ...
XXE漏洞从入门到自闭
好久没有更新博客了,这半个月都在写自己的扫描器,也没有follow一些新出的漏洞。曾计划写一个讲述OWASP TOP10系列漏洞的利用和绕过姿势的系列,帮助对Web安全感兴趣的人入门。现在发现要做的事有好多,必须一件一件来,贵在坚持!
XML和Json可以算现代Web应用通信中使用最多的两种数据格式。XML文件看似简单,但我们可能对它没有那么“了解“。日常的开发中,我们关注点可能更多在XML元素上,而忽略了XML实体。而这些实体正是构造攻击代码的主要工具。想玩转XXE(XML External Entity Injection,XML外部实体攻击)漏洞,必须先了解实体的用法。
基础知识一个常规的XML文档主要有三部分构成:文档信息声明、文档类型定义、文档元素,如下图(借一下别人的图):
文档声明:定义版本号,编码格式等信息
文档类型定义:用来定义XML文档的合法构建模块,这里便是定义实体|元素的地方
文档元素:就是将对象的属性以标签的形式记录下来,其中标签内部不可以出现<特殊字符,如需要使用,则采用实体编码方式(和HTML相同:< => < & ...
POSCMSv3.2.0漏洞套餐复现
最近比较忙,工作间隙发现虚拟机里存有之前下载的POSCMSv3.2.0,这个CMS系统去年底被爆出漏洞,当时想复现一下却因别的事耽搁了。这次抽空复盘一下,详情见下文。以后有时间了系统地学习一下PHP!^_^!
安装环境比较好玩的是,该系统的开发者在漏洞曝光后没有第一时间回应,而是重排了版本号(有”掩耳盗铃“之嫌)。。。哈哈,都是题外话。
本次复盘系统部署在CentOS虚拟机中,版本信息如下:
1234OS: CentOS7 amd64 (IP:10.10.10.129)PHP: 5.5.38MySQL: 5.5.60WebServer: Apache2.4.6
软件版本:2018.11.27 v3.2.0
对应这个版本支持的PHP不得高于7.1,这里只好对系统默认安装版本降级:
123456 yum list installed | grep php yum remove php*.x86_64## 添加新的RPM仓库 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -U ...
Windows特权文件的操作滥用
这篇文章(稍微有点长)介绍如何利用Windows特权进程的文件操作实现本地权限提升(从用户级到管理员/系统级),并展示利用这类bug的技术、工具和详细步骤。
翻译自:https://offsec.provadys.com/intro-to-file-operation-abuse-on-Windows.html
特权文件操作的Bug高权限进程对文件的操作过程和普通进程没啥区别。但是,当高权限进程访问没有足够保护的用户文件或目录时,就可能造成安全漏洞。因为我们有可能利用该特权进程执行一些本不该有的操作。有很多利用特权访问用户控制资源引起漏洞的案例,通过文件的方式只是其中之一。
渗透师们熟知的方法有:用户修改某服务的预执行文件和DLL注入——如果我们能对某特权服务即将执行的文件做写操作,或者有它寻找DLL的目录的写权限,我们就能在这个特权进程里执行攻击代码,这是一个熟知的漏洞。对于最高权限进程,除了预防偶然性的配置错误外,再就是预防这一点了(但愿能做到)。
但是,其他一些潜在的文件系统操作滥用似乎并不为人所知,它们同样危险:如果你能让一个特权进程创建、复制、移动或删除任意文件,那么高贵 ...
Java反序列化漏洞解析
Java的反序列化漏洞可以说是Java Web里杀伤力很强的漏洞,因为反序列化经常被用在对象存储进Cookie的过程中,而这类漏洞被触发几乎都能造成RCE。笔者在学习研究该漏洞的过程中遇到了不少困惑,通过查阅资料与阅读源码,最终得出了答案。
背景知识从概念上讲,序列化是将对象的状态信息转换成可存储或可传输的状态。在这个过程中,对象将其状态写入到临时或持久性存储区中。
通俗地讲,就是为了方便程序读写对象,而将它存储到网络套接字或文件中。序列化后的对象以某种特定格式存在。反序列化的过程则相反,将序列化后的数据重新整合成对象。
序列化常见的主流编程语言都支持序列化与反序列化。这里以Java为例,这两个过程如下图:
12345678910111213141516171819202122232425@AllArgsConstructor@Setter@Getter// 本例中Test类对象可被序列化后存入文件,并通过反序列化重新加载public class Test implements Serializable { private String name; priva ...
Hello World
测试文档,包括一些博客搭建教程。
搭建教程 https://www.jianshu.com/p/860d3e0fff58
https://www.jianshu.com/p/a2fe56d11c4f
https://www.jianshu.com/p/37f25f37ce53
Hexo命令行Welcome to Hexo! This is your very first post. Check documentation for more info.
Create a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
Vedio Embed因为chrome浏览器马上就要停 ...