当前位置:首页 > 黑客业务 > 正文内容

PHP反序列化入门之寻觅POP链(一)

访客4年前 (2021-04-09)黑客业务972

环境建立
运转环境要求
PHP >= 7.1.3
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
装置标题环境

运转标题代码

更多请参阅:https://laravel-china.org/docs/lumen/5.7/installation/2402
PS:更新P牛制造的docker环境 https://github.com/phith0n/code-breaking
 
缝隙点
在 routes/web.php 文件中,界说了 web 程序的路由,当咱们以 GET 或 POST 办法拜访 http://website/server/editor 的时分,程序就会调用 app/Http/Controllers/EditorController.php 类中的 main 办法。

咱们从而看 app/Http/Controllers/EditorController.php 文件,很快便会发现有一个 download 办法中的 $url 变量没有通过任何处理用在了 file_get_contents 函数中, download 办法代码如下:

这时咱们便考虑 $url 变量是否可控,假如可控,便能够使用 phar反序列化 。咱们回溯寻觅 $url 变量来历,会发现在 doCatchimage 办法中,该变量值是从 $sources 变量来。而 $sources 变量由用户传来的 source 参数决议(通过 http://website/server/editor/?action=Catchimage&source[]=phar://xxx.gif 即可操控 $url 变量),相关代码如下:

那么接下来,咱们就要寻觅可使用的类办法,然后通过 phar反序列化 触发缝隙。
 
了解PHPGGC
在寻觅 pop链 之前,咱们无妨先看看 phpggc 中已有的 4种 关于 Laravel 结构 RCE 的 payload 生成办法,以便咱们更快速的找出本题的 pop链 ,其 4种 Laravel 结构 RCE 的 payload 生成办法别离如下:
第1种

其反序列化时,类办法调用进程如下:

第2种

其反序列化时,类办法调用进程如下:

第3种

其反序列化时,类办法调用进程如下:

第4种

其反序列化时,类办法调用进程如下:

这儿我选取 第1种 的 phar反序列化 履行成果图(标题环境为 PHP7.1.16 ):

但是本标题的环境还有一些额定的约束,例如 PHP 版别为 7.2.14 ,且禁用了如下函数和类(这些信息通过 phpggc 的第一个 Laravel 结构 RCE 生成 phpinfo 函数的使用 phar 即可看到):
disable_functions:
system,shell_exec,passthru,exec,popen,proc_open,pcntl_exec,mail,apache_setenv,mb_send_mail,dl,set_time_limit,ignore_user_abort,symlink,link,error_log
disable_classes:
GlobIterator,DirectoryIterator,FilesystemIterator,RecursiveDirectoryIterator
因为在 PHP7.x 版别中,许多函数制止动态调用了,加上上面的这些约束,所以咱们还需要寻觅其他使用点,结合上述 POP 链,完结写 shell 。
 
开端寻觅pop链
咱们能够发现上面的4种 RCE 进口点都是从 PendingBroadcast 类的 __destruct 办法开端的,那么咱们侧重搜索 dispatch 办法和 __call 办法。通过一番搜索,发现 ValidGenerator 类中的 __call 比较好使用。

[1] [2] [3]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/106525.html

分享给朋友:

“PHP反序列化入门之寻觅POP链(一)” 的相关文章

华流芒种是几月几号农历

芒种是二十四节气之一,大家对于二十四节气也已经非常熟悉了,但是芒种是哪一天还不是很清楚,今年的芒种是阳历6月5日,那么2020年芒种是农历几月几号呢?接下来我们就一起了解一下吧。     2020年芒种是农历几月几号...

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这 买猪肉时,根据肉的颜色、外观、气味等可以判断出肉的质量是好还是坏。优质的猪肉,脂肪白而硬,且带有香味。肉的外面往往有一层稍带干燥的膜,肉质紧密,富有弹性,手指压后凹陷处立即复原。 次鲜肉肉色较鲜肉暗,缺乏光泽,脂肪呈灰白色;表面带...

宜家自助餐多少钱一位 「天津宜家自助餐多少钱」

食材的流转等息息相关的,白堤路店,就不用付钱了。吃完了,不像别的自助沙拉酱都兑了N多的水!其他」的也是10多块20块一份。鞍山西道,你绝对吃不腻。 举荐菜:当然是面啦!海鲜、你去尝尝吧。 举荐蔡:特色鸡串,金汉斯南美多少烤肉,腌好的肉和没腌的肉都有,200元一位,宜家家居,宜家2楼那个不是自助餐厅,...

比特犬打架视频(美国巨比特犬打架视频)

阿根廷杜高。罗威拿犬。但是还是看后天的训练,起源于19世纪。 和美国斗牛犬,放出来视频喂食的时候让其他狗和她抢,比特结构的总和等等的评估最后得出的猛犬排行。比特犬、也不退梭好感动斗牛犬比特,比特犬是同体型的后中最能打架的一种犬种!比特犬.我是一个水平很低的养狗者。 卡斯罗,爱的是优美的曲线。也就是斗...

中铁快运寄件电话 - 中铁快运官方网站

尽快前去领取吧,查询可以来我们,包裹已经到石家庄了,告诉对方所寄何物。广木头箱子费用在及时上百不等。 .网站“中铁快运单号查询系统”留言查询,开始不知道。 中铁快运的,且电话通知无人接听,但是价格也很贵。在哪里寄,中铁快运,电话多少中铁。 打了个电话,K54,徐州中铁快运,你好,木头箱子中铁能提供。...

存储过程oracle(oracle财务系统)

推荐教程:甲骨文教程 本文主要介绍甲骨文中的数据转换。 1.日期转换成字符串(以2016年10月20日为例) 选择to_char(sysdate,& # 39;yyyy-mm-DD hh24:mi:ss & # 39;)strDateTime从dual-获取年-月-日:分:秒-...

评论列表

森槿纵遇
3年前 (2022-07-02)

变量),相关代码如下:那么接下来,咱们就要寻觅可使用的类办法,然后通过 phar反序列化 触发缝隙。 了解PHPGGC在寻觅 pop链 之前,咱们无妨先看看 phpggc 中已有的

笙沉念稚
3年前 (2022-07-01)

过 phpggc 的第一个 Laravel 结构 RCE 生成 phpinfo 函数的使用 phar 即可看到):disable_functions:system,shell_exe

只酷弥繁
3年前 (2022-07-01)

任何处理用在了 file_get_contents 函数中, download 办法代码如下:这时咱们便考虑 $url 变量是否可控,假如可控,便能够使用 phar反序列化 。咱们回溯寻觅 $url 变量来历,会发现在 doCat

泪灼南殷
3年前 (2022-07-02)

第1种 的 phar反序列化 履行成果图(标题环境为 PHP7.1.16 ):但是本标题的环境还有一些额定的约束,例如 PHP 版别为 7.2.14 ,且禁用了如下函数和类(这些信息通过 phpggc 的第一个 Laravel 结构 RCE 生成 p

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。