phpggc的下载和使用命令

PHPGGC是什么:

PHPGGC 是一个 unserialize() 有效负载库,以及从命令行或编程方式生成它们的工具。 当您在没有代码的网站上遇到反序列化时,或者只是在尝试构建漏洞时,此工具允许您生成有效负载,而无需经历查找小工具并组合它们的繁琐步骤。它可以被视为相当于frohoff的ysoserial,但对于PHP。 目前,该工具支持小工具链,例如:CodeIgniter4,Doctrine,Drupal7,Guzzle,Laravel,Magento,Monolog,Phalcon,Podio,Slim,SwiftMailer,Symfony,Wordpress,Yii和ZendFramework。

以上是官网对它的描述


为什么要用这个工具?一句话因为框架类的反序列化漏洞利用太过于复杂,用这个可以一键生成,就这么简单。

那就要明白一件事,这个工具是针对于那些框架、组件来生成payload的,而不是原生类的,比如说很多CTF的题目,别人自己出的那种不涉及框架的代码,用这个工具是生成不出来的

用的时候只需要知道目标的版本是否在漏洞版本区间然后用命令生成payload

PHPGGC下载地址:

GitHub - ambionics/phpggc: PHPGGC is a library of PHP unserialize() payloads along with a tool to generate them, from command line or programmatically.

注意这个工具只有linux版本,没有windows版本,自己放到kali或者centos上去搭建。

使用命令:

解压缩后进入到安装目录,用php运行即可

​php phpggc -l​

列出支持的所有可选项,如下图:

或者不加php用 ./ 也可以,看你自己

​php phpggc -l thinkphp

​列出针对thinkphp框架的可选项,如下图:

ThinkPHP/FW1(FW指的是文件写入,意思就是利用反序列化漏洞进行文件写入)

version是(漏洞版本区间)

命令语法:执行程序 框架名字 要执行的函数 具体的命令 什么编码格式

比如:

./phpggc ThinkPHP/RCE3 system() "cat /flag" --base64​

再比如:

./phpggc Yii2/RCE1 exec 'cp /fla* test.txt' --URL​

注意:如果题目需要你进行base64编码或者url编码,一定要在这个命令这完成编码,不要把结果复制了拿去其它工具上编,很有可能就错了,所以要编码就直接在这个命令后面加参数;不需要编码就不加后面的参数

拿到CTF题目来说明一下:

题目:[安洵杯 2019]iamthinking

提示访问public目录,啥也没有,扫描网站发现www.zip源码在里边。看见一个README.md文档,这个文档说明了这是thinkphp 6.0的版本

关键代码在app目录下的controller目录下的index.php文件里面:

看到反序列化函数了,并且知道了版本是有漏洞的,那就直接可以用phpggc工具了

拿到flag

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值