CVE-2019-0230 | Struts2-059 远程代码执行漏洞
CVE-2019-0230 | Struts2-059 远程代码执行漏洞 2020年8月13日,Apache官方发布了一则公告,该公告称Apache Struts2使用某些标签时,会对标签属性值进行二次表达式解析,当标签属性值使用了%{skillName}并且skillName的值用户可以控制,就会造成OGNL表达式执行。 影响版本: Apache…
Shiro漏洞CVE总结合集
Shiro漏洞CVE总结合集 这里对Shiro的漏洞CVE做了一些归纳整理,主要两个方面: 1.加密方式可知被使用加密数据反序列化 2.Spring与Shiro对URL匹配规则的差异导致权限绕过 CVE-2016-4437 影响版本: Apache Shiro<1.2.5 当未修改用于“remember me”特征的AES密钥时,存在反序列化…
CVE-2020-13933 | Shiro权限绕过漏洞
CVE-2020-13933 | Shiro权限绕过漏洞 这次调试查看Shiro权限绕过漏洞可以说是在于开始对Java的部署和调试开始得心应手起来了,相比这个漏洞而言,感觉这次学习让我对Java分析思路的了解是更加重要的,跟了这个漏洞之后再去学习其它的Shiro-CVE和Fastjson还有JSON应该就简单多了。 关于漏洞 CVE-2020-13…
Shiro未授权漏洞解析环境搭建
Shiro未授权漏洞解析环境搭建 为了深入了解一下这个漏洞的原理花了我好多时间, 又是麻麻的一次学习, 在这里先说一下怎么把环境搭起来吧, 网上很多漏洞解析文章但是搭建环境总是出现这样那样的问题, 先说一下, 完全照着操作也不一定能成功跑起来。我也是按照别人的指南部署项目之后还是运行失败, 最后自己修改了一些配置才跑起来的。 环境搭建 之前直接在 …
关系规范化理论 | 数据库原理
关系规范化理论 | 数据库原理 虽然但是吧...... 这节课学习的内容在实践中基本不会用到这些概念, 不过感觉如果想深入了解数据库的底层特别是看数据库的底层数据操作函数源代码, 特别是想要了解其处理逻辑的原则, 那么这些概念应该还是很有参考性的. 所以就记了这篇文章了 泛关系模型 简单说就是全部数据都写到一个表中,这样子会造成大量的数据冗余 函数…
可变分区内存管理 | 操作系统
可变分区内存管理 | 操作系统 [TOC] 操作系统的内存管理——Is——Interesting——?? 动态内存分配算法(连续内存) 这里的连续内存所说的连续有否指的是一个进程在内存中的数据存储是否是连续的。 首次适应算法(FF) 将所有空闲分区按照地址递增的次序链接,在申请内存分配时,从链首开始查找,将满足需求的第一个空闲分区分配给作业。 循环…
Java反序列化(九) | CommonsBeanutils
CommonsBeanutils 其实前面的CommonsBeanutilsShiro已经使用了一遍了, 但是想了想CB链还是值得拥有自己的一篇的文章的所以就再分析了一遍。 Gadget java.util.PriorityQueue.readObject java.util.PriorityQueue.heapify java.util.Prio…
Java反序列化(八) | CommonsBeanutilsShiro
CommonsBeanutilsShiro 需要知道 我们使用优先队列构造的CommonsBeanutils链默认情况下是需要依赖CC包的, 所以在Shiro原生的情况下我们需要对初步构造的CB链进行一些修改 ysoserial 中的CommonsBeanutils1.java我们是不可用的, 因为里面使用的依赖包有: commons-beanut…
Java反序列化(七) | CommonsCollectionsShiro
CommonsCollectionsShiro CommonsCollectionsShiro单纯是CC链为了满足一些Shiro的反序列化条件而拼接改造的CC链, 所以具体详细过程就不展开分析了, 直接给Gadget和不同CC链的分区, 结合payload生成源码分析即可 CC1+CC6+CC3 Why is CC1+CC6+CC3 实际上在Shi…
Java反序列化(六) | Shiroの起始篇(环境搭建+原理分析)
Shiroの起始篇(环境搭建+原理分析) [TOC] 这几天都在做Shiro的复现学习, 原理并不复杂, 但是因为太久没使用Java所以导致出现的一些环境问题直接把我给整晕了, 几乎一半的时间是用来调环境的, 在这里记录一下吧 这篇文章主要内容分为两个部分: Shiro漏洞原理和漏洞源码解析 环境搭建+坑点 一些依赖包的声明和加载问题 0x01 -…
Java安全漫谈学习笔记 — 一个新旧交替的时刻
Java安全漫谈学习笔记 -- 一个新旧交替的时刻 [TOC] ​ 准备过两天开始对Java反序列化和内核漏洞这两块展开一些深入的学习,但是Java的内容以及好几个月没用看了都快忘干净了,所以今天就把之前自己写的一些文章重新看了一遍,之后就开始展开学习,所以这就是为什么我说这是一个新旧交替的时刻的原因了。刚好想到p师傅的[Java安全漫谈系列](p…
Java的反射
Java的反射 Java反射机制可以完成: 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时得到任意一个类所具有的成员变量和方法 在运行时调用任意一个对象的成员变量和方法 生成动态代理 反射相关的主要类: Java.long.Class:代表一个类,Class对象表示某个类加载后在堆中的对象 Java.lang.reflec…
PHP filter_var 函数绕过
PHP filter_var 函数绕过 今天在日报看到了有关PHP函数绕过的文章就去学习了一下,但是有点尴尬的是文章是纯英文的直接翻译有很多地方会导致理解出问题,所以最后硬着头皮通过看原文学习, 所以这也可以说是一个简单的翻译文章吧, 原文见PHP filter_var shenanigans 。 关于filter_var函数 在官方文档中的介绍:…
CVE-2021-4034 pkexec本地提权漏洞
CVE-2021-4034 pkexec本地提权漏洞 ​ 这个漏洞早在去年的时候就看过一些文章了, 不过一直都没用过这个漏洞的打法, 直到昨天的DASCTF才上手用了这个漏洞的一小段原理, 今天就写一篇关于这个漏洞的文章吧。 漏洞简介 NVD对这个漏洞的描述如下: ​ 在polkit的pkexec工具上发现了一个本地权限升级的漏洞。pkexec应用…
DASCTF X SU 2022 writeup
DASCTF X SU 2022 writeup [TOC] ​ 有一说一, 其实这个比赛我是结束之后再做的题目(有别的事忘了有比赛了), 直到晚上快十点多的时候忙完了之后上BUU才看到这个比赛, 进去发现也还是可以注册做题的就肝到了十二点多, 最后只出了Calc就去睡觉了, 不过今天起来之后发现昨天做EZPOP失败的payload居然又成功了~ …
初探Django框架
初探Django框架 innodb引擎engine支持事务操作 [TOC] 只能説菜鸟教程是真的好用, 最近学习的perl,LUA都是在菜鸟教程看的(菜鸟看菜鸟hhh), 虽说内容并没有很深入, 但是也能够达到初步了解的效果了。难受的是因为要测试的网站是通过Django+Nginx+uwsgi搭建的, 直接看源码让我一头雾水。也就不得不来学习一下D…
Python沙箱逃逸
Python沙箱逃逸 [TOC] 这个话题网上已经有相当多的文章了, 记得我第一次遇到Python沙箱的问题还是去年的校赛的时候, 但是到现在已经很久没有见到过Python沙箱的问题出现了。不过刚好前段时间的Flask模板注入这个契机让我想到了这个问题, 感觉两者还是有一些相似的地方的, 所以就趁热打铁再展开一下Python沙箱逃逸这个问题吧。 嗯…
HFCTF 2022-babysql
HFCTF2022-babysql 这个题目的过滤: const r = str .replace(/[\s,()#;*\-]/g, '') .replace(/^.*(?=union|binary).*$/gi, '') .toString(); 其实就是 不能使用() 不能使用* - ; # (限制了空格绕过和注释) 不能使用空白符 (其实结合…
HFCTF 2022-EZPHP
HFCTF 2022-EZPHP ​ 这次的虎符虽说让我坐牢了两天,但是亦可说是收获满满, 这次比赛Web的题目共有4道, 但是我觉得EZPHP还是值得单独记录的, 因为这个题目可以说是一个让我受益匪浅的组合拳的类型, 也给我带出了两个新的LFI方法 和一些Nginx的知识: Nginx-fastcgi缓存文件 长链接窗口期绕过文件检测 在这个题目…