- 博客(10)
- 收藏
- 关注
原创 XML外部实体注入漏洞
比如一个场景回显结果都放在一个标签里,不直接输出,先xml解析,但是文本中的 < 和 & 等字符会干扰正常的xml parser 然后报错,这是就需要用到CDATA。通常xxe漏洞存在XML文档的开头,有的waf会检测文件开头,但是XML格式在设置标签属性的格式时允许使用任意数量的空格,因此我们可以在<?例题:https://github.com/CTFTraining/csawqal_2019_web_unagi。参考链接:http://github.com/leezp/xxe-study。
2023-10-18 13:36:33
141
1
原创 Java反序列化Commons Collections1链
找到会调用transform()的类,这里用TransformedMap类,它的checkSetValue()会调用transform(),但checkSetValue()是protect,仔细看可以发现TransformedMap是AbstractInputCheckedMapDecorator的子类。 Map类是存储键值对的数据结构。第一个if()会判断注解的成员变量的类型(需要找到一个有成员变量的注解),第二个if()会判断成员变量的值是否可以强转为成员变量的类型(这个不成立的)
2023-10-17 13:22:43
116
原创 Java反序列化URLDNS链
seriaVersionUID,序列化的一个版本标识,可用来保证在反序列时,发送方发送的和接受方接收的是可兼容的对象。Java允许我们重写readObject和writeObject,重写的readObject()需要是private,才会进去重写的readObject()论反序列化就离不开序列化,序列化是将一个类对象的状态信息转换为字节序列,以便传输和存储。当开发人员编写的代码接受来自用户特意编造的序列化数据并尝试将其反序列化以在程序中使用时,就会出现漏洞。接口,这个接口标识该类可以被序列化。
2023-10-16 08:49:45
98
1
原创 PHP代码、命令执行及绕过
NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。Linux下支持glob通配符代替 . 或者叫 period,它的作用和source一样,就是用当前的shell执行一个文件中的命令,例如 .file 就是执行file文件中的命令。数组(Array)的第一个字母是A,在php中,如果强制连接数组和字符串的话,数组会转换成字符串,值为Array;sh a-------------------sh会把 a 里面的每行内容当命令来执行。
2023-10-15 11:15:30
963
原创 Python Pickle 反序列化漏洞
需要注意的一点:注意:对于我们自己定义的class,如果直接以 data=‘aaa’ 的方式赋初值,则这个date不会被打包,解决方案是写一个__init__()方法。python反序列化漏洞的产生和php的魔术方法有异曲同工之处,在Python2中的 __reduce__() 方法,会在每次的反序列化开始或结束时调用。字节码,如果python有写入的权限,那么会生成一个 .pyc 的字节码文件,若没有那就再内存中生成字节码,程序结束后丢弃。(以下称为机器吧)维护了两个东西:栈区和存储区。
2023-10-05 13:37:49
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人