漏洞分析之thinkPHP反序列化:这就是黑客的世界吗( 九 )

可以看到数据直接带入了call_user_func,burp复现请求响应如下:

漏洞分析之thinkPHP反序列化:这就是黑客的世界吗

文章插图
 
在这里插入图片描述
由于我本地配置的原因没能弹出计算器,但是确实是调用了call_user_func的 。攻击链:
引用自 https://xz.aliyun.com/t/6619thinkphplibrarythinkprocesspipesWindows.php - > __destruct()thinkphplibrarythinkprocesspipesWindows.php - > removeFiles()Windows.php: file_exists()thinkphplibrarythinkmodelconcernConversion.php - > __toString()thinkphplibrarythinkmodelconcernConversion.php - > toJson() thinkphplibrarythinkmodelconcernConversion.php - > toArray()thinkphplibrarythinkRequest.php   - > __call()thinkphplibrarythinkRequest.php   - > isAjax()thinkphplibrarythinkRequest.php - > param()thinkphplibrarythinkRequest.php - > input()thinkphplibrarythinkRequest.php - > filterValue()分析完这个利用链,真的是觉得师傅们太强了,特别是最后找到这个isAjax函数,需要很大的耐心才能挖到!
最后再点个题,回到红帽杯的题目,还有一个考点就是怎么触发反序列化,因为我在复现这个利用链的时候都是自己构造的反序列化点,但是题目中是没有这么一个明显的输入点的 。题目考到了利用phar归档文件实现反序列化,参考:phar利用姿势




推荐阅读