刷题记录:[安洵杯 2019]iamthinking
刷题记录:[安洵杯 2019]iamthinking
题目复现链接:https://buuoj.cn/challenges
参考链接:从安洵杯学习thinkphp 6.x反序列化POP链
知识点
thinkphp 6.0.X 反序列化
从安洵杯学习thinkphp 6.x反序列化POP链
thinkphp v5.2.x 反序列化利用链挖掘
thinkphp v6.0.x 反序列化利用链挖掘
这是tp6的一个利用链
think\Model --> __destruct()
think\Model --> save()
think\Model --> updateData()
think\Model --> checkAllowFields()
think\Model --> db()
后半部分利用链(同tp 5.2后半部分利用链)
think\model\concern\Conversion --> __toString()
think\model\concern\Conversion --> __toJson()
think\model\concern\Conversion --> __toArray()
think\model\concern\Attribute --> getAttr()
think\model\concern\Attribute --> getValue()
具体的可能后面再总结吧,推荐直接用工具,跟着工具里面的POC学习
https://github.com/wh1t3p1g/phpggc
parse_url绕过
- 在解析形如
http://xxx.com///index.php?payload=cmd
这样的URI时parse_url会返回false compress.zlib://data:@127.0.0.1/plain;base64,
可以直接传入数据