Thinkphp3.2.3反序列化漏洞实例代码分析


这篇文章主要介绍“Thinkphp3.2.3反序列化漏洞实例代码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Thinkphp3.2.3反序列化漏洞实例代码分析”文章能帮助大家解决问题。以下面这个魔术方法为例:该方法的作用是,某个对象的所有引用都被删除或者当对象被显式销毁时执行。例如下面代码:执行后会发现调用了魔术方法,我们要想办法来寻找代码之间的关系来构造 反序列化链这里我是用小皮面板搭建好环境后开始我们的分析,下面是主界面:需要在控制器IndexController.class.php 处写入:首先走到Library/Think/Image/Driver/Imagick.class.php ,代码如下:这里有一个可控的变量img,因为该变量走向了destory(),于是我们寻找一下:Library/Think/Session/Driver/Memcache.class.php ,该处有个一样的方法:我们会发现handle和sessionName参数是可控,因为走向了delete函数,于是继续跟进寻找delete,在Mode/Lite/Model.class.php 处:这里比较复杂,需要分析一下,pk,pk,pk,data,$options参数都是可控的,第二次调用该函数后是调用db(Library/Think/Db/Driver.class.php )里面的函数,进去看一下:这里只贴了比较关键的代码,看到table经过parseTable处理之后进了sql语免费云主机域名句,跟进了发现没有过滤什么,直接返回了数据,最后调用了execute,我们分析其代码:看到第二行是一个初始化连接的代码,我们跟进到最后发现:可以通过里面的相应代码:建立数据库连接,整个的POP链跟进顺序如下:因为构造poc较长,这里只贴关键处,有兴趣的小伙伴可以自行去构造:生成后传入payload即可实现错报注入,体现在payload里就是table这个语句,经过一串的操作使之与数据库连接来执行sql语句关于“Thinkphp3.2.3反序列化漏洞实例代码分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: angular的两种类型表单是什么

这篇“angular的两种类型表单是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“angular的两种类型表单是什么”文章吧。在 Angul…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/14 17:54
Next 05/14 17:54

相关推荐