第十三届全国大学生信息安全竞赛西北赛区 Web题目 Writeup
littlegame
js原型链污染,set-value
库3.0.0旧版本。公开exploit如下:
1 | const setFn = require('set-value'); |
拿来主义,用就完了
阅读源码,可以发现在/Privilege
处进行了set-value
调用,并且在/DeveloperControlPanel
处检查了Admin
对象(一个普通的数组)的任意可控属性,那污染字典类型的原型,添加一个自定义属性即可。
最终exploit:
1 | from requests import session |
babyunserialize
easytrick
一开始是联想到了Nu1l在某处的论坛里发的利用Exception
的__toString
来绕过判等(属性不同,不强等于),但是无奈太长了
SimpleXMLElement
也找不到合适的方式利用(有可能么?)
后来想了想,不可能是利用对象的__toString
来绕过,因为这样无法同时绕过三个判断
最后发现1.00...001
在转字符串的时候会变成1
1 | class trick: |
剩下两道就放个payload吧。。
- rceme: 没过滤反引号
?a={if:var_dump(``ls``)}{end if}
- easyphp: Apache收到SIGUSR1的时候会软重启
?a=call_user_func&b=pcntl_wait