Web
AreUSerialz
题目源码:
1 |
|
我们选择读文件,op 处弱类型绕过即可,由于是potected 属性,正常反序列化中会有\0,这个题过滤了不可见字符,需要改成public,或者使用p神提到的S大写,后面可以使用hex编码,即\00。
1 | ?str=O:11:%22FileHandler%22:3:{s:2:%22op%22;i:2;s:8:%22filename%22;s:8:%22flag.php%22;s:1:%22%22} |
filejava
上传文件,下载文件,发现下载文件处存在任意文件下载,很多../
即可。提示在/flag,但是读取不了,应该是过滤了。
读取web.xml
可以看到 file_in_java,读取 file_in_java.war,拉下源码分析,发现有excel处理:
想到excel解析时的xxe,参考https://www.jishuwen.com/d/2inW/zh-hk,在[Content_Types].xml里插入:
1 |
ext.dtd
1 |
2121端口起个ftp,可以读到flag:
notes
没啥功能,/status执行命令比较可疑。搜了搜undefsafe有原型链污染,思路就是给Object加个属性,值是我们要执行的命令,然后/status遍历的时候就可以执行命令了。
先修改note处污染:
再访问/status,可以弹到shell
Crypto
you_raise_me_up
1 | from Crypto.Util.number import * |
1 | sage exp1.sage |