[NPUCTF2020]ReadlezPHP,反序列化漏洞
进入题目,查看网页源码

发现可疑网址,点击进入

找到题目代码,是反序列化题目
核心代码为:
1 | public function __destruct(){ |
可以构造变量a—>phpinfo(),变量b—>assert;组合起来后—>assert(phpinfo()),使代码执行phpinfo()
assert()函数的功能:
在 PHP 8 以前的版本(如 5.x),assert() 的参数可以是字符串,并会像 eval() 一样被执行
构造出序列化字符串
O:8:”HelloPhp”:2:{s:1:”a”;s:9:”phpinfo()”;s:1:”b”;s:6:”assert”;}
get传输使网页执行phpinfo()
传输之前要把source参数去掉,否则会优先执行highlight_file(FILE);的结果而覆盖phpinfo()的执行结果
ctrl+f搜索flag查找到flag

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hello World!

