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

访客5年前黑客工具1065

环境建立
运转环境要求
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]  黑客接单网

相关文章

今年朋友介绍玩一个赌博平台输了十多万进去,现在

2019年6月,Microsoft发布了一条安全更新。 该更新针对CVE-2019-1040漏洞进行修复。 此次漏洞,攻击者可以通过中间人攻击,绕过NTLM MIC(消息完整性检查)保护,将身份验证流...

破解密码软件,到什么网上找黑客,网络黑客杳找微信聊天记录

检查页面源代码 ,发现有个躲藏的token字段.NET Framework 供给了一个称为CLR(Common Language Runtime)的运转时环境,所以.NET 的程序,都是在CLR中运转...

拿站_找怎么找黑客帮忙-黑客网络攻略找注册id

「拿站_找怎么找黑客帮忙-黑客网络攻略找注册id」Description: Javascript libraryhttps://github.com/joeyxy/python/blob/master...

玩游戏找商人买元宝赌钱输了可以找回吗

$ cat /lib/systemd/system/apache2.service 因此脚本会首选修改ACL来提权,因为这相比创建用户的方式更隐秘一些。 具体方式是通过LDAP修改域的安全描述符(Se...

黑客中介接单_找黑客弄回诈骗的钱

四、 被进犯的设备品种不断扩大因为许多用户安全意识缺乏,导致许多NDay缝隙被黑客使用进行进犯。 2018年,有多个勒索软件宗族经过Windows体系缝隙或Web使用缝隙侵略Windows服务器。 其...

电脑发展史,找黑客破解qq邮箱密码,利用黑客技术找客户

六、测验拜访-M 5678参数,担任经过5678端口监督衔接状况,衔接有问题时就会主动重连 -N只是端口转发,-R绑定ip和端口翻开浏览器,输入供给的网址,翻开试验文件下载页面,点击 [web.ex...