刷题记录:[安洵杯 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的一个利用链

thinkModel --> __destruct()
thinkModel --> save()
thinkModel --> updateData()
thinkModel --> checkAllowFields()
thinkModel --> db()

后半部分利用链(同tp 5.2后半部分利用链)

thinkmodelconcernConversion --> __toString()
thinkmodelconcernConversion --> __toJson()
thinkmodelconcernConversion --> __toArray()
thinkmodelconcernAttribute --> getAttr()
thinkmodelconcernAttribute --> getValue()

具体的可能后面再总结吧,推荐直接用工具,跟着工具里面的POC学习
https://github.com/wh1t3p1g/phpggc

parse_url绕过

parse_url小结

  • 在解析形如http://xxx.com///index.php?payload=cmd这样的URI时parse_url会返回false
  • compress.zlib://data:@127.0.0.1/plain;base64,可以直接传入数据
原文地址:https://www.cnblogs.com/20175211lyz/p/12203047.html