polarctf之2024年冬季挑衅赛--web

打印 上一主题 下一主题

主题 1696|帖子 1696|积分 5088

1. 狗黑子的RCE
  1. 考察远程命令执行, 但是过滤了大多命令, 一个GET传参, 一个POST传参
  2. <?php
  3. error_reporting(0);
  4. highlight_file(__FILE__);
  5. header('content-type:text/html;charset=utf-8');
  6.     $gouheizi1=$_GET['gouheizi1'];
  7.     $gouheizi2=$_POST['gouheizi2'];
  8.     $gouheizi2=str_replace('gouheizi', '', $gouheizi2);
  9.     if (preg_match("/ls|dir|flag|type|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $gouheizi1)) {
  10.         echo("badly!");
  11.         exit;
  12.     }
  13.     if($gouheizi2==="gouheizi"){
  14.         system($gouheizi1);
  15.     }else{
  16.         echo "gouheizi!";
  17.     }
  18. ?>
复制代码
  1. 再通过修改GET传参的参数, 即可得到flag
复制代码
  1. #flag{d22add0cf74c46feffe95e7f8064136b}
复制代码
2. xxmmll

非预期
  1. 直接用工具dirsearch扫目录
复制代码

  1. #flag{ce22bbe170d234645361239b395dbc5d}
复制代码
预期解
  1. 前端页面, 通过BurpSuite抓包并发送, 观察返回包内容, 存在目录xxmmll.php
复制代码

  1. 随便输入点内容, 报错Invalid XML input.
  2. 那我们输入一个xml试试:
  3. <?xml version="1.0" encoding="UTF-8"?>
  4. <HelloWorld>
  5.         <Message>hello, world</Message>
  6. </HelloWorld>
复制代码
  1. #flag{ce22bbe170d234645361239b395dbc5d}
复制代码
3. button

  1. 点按钮就会飞走, 没办法点, 查看页面源码
复制代码
  1. 发现flag字样, 查看js源码
复制代码
  1. 访问该目录, 查看源代码得到flag
复制代码
  1. #flag{ce50a09343724eb82df11390e2c1de18}
复制代码
4. 井字棋
  1. 通过与ai对战, 发现最后的结局只能是平局, 无法得到flag
  2. 另辟蹊径, 通过BurpSuite抓包, 发现平局也是显示ai赢
复制代码
  1. 将其改成player即可(为什么是player可以去看看前端代码)
复制代码
  1. #flag{288CCA1ADB228E10EED4BFD85AC544B8}
复制代码
5. 简单的导航站
  1. 点开靶机环境, 发现有注册页面, 直接点开注册即可(不需要管404)
复制代码
  1. 然后直接点开登录界面, 用刚刚注册的用户登录
复制代码
  1. 点开有个php代码, 代码审计一下
  2. ?php
  3. header("Content-Type:text/html;charset=utf-8");
  4. show_source(__FILE__);
  5. include('user.php');
  6. $user1 = $_GET['user1'];
  7. $user2 = $_GET['user2'];
  8. if ($user1 != $user2) {
  9.     if (md5($user1) === md5($user2)) {
  10.         echo '用户名:' . $user;
  11.     } else {
  12.         echo 'MD5值校验出错啦啦啦......';
  13.     }
  14. } else {
  15.     echo 'user不能相等!';
  16. }
  17. ?>
  18. md5($user1) === md5($user2)直接用数组绕过即可
复制代码
  1. 得到用户名的字典后, 去查找下登录密码, 在页面源码中发现
复制代码
  1. 用BurpSuite的爆破模块
复制代码
  1. 得到正确的用户名, 登录发现是一个文件上传题目, 直接上传一句话木马
复制代码
  1. 没回显路径, 就用正常的路径.../uploads/一句话木马.php, 用蚁剑进行连接
复制代码
  1. 再用BurpSuite的爆破模式来验证这些flag哪个是正确的
复制代码
  1. #flag{T4PwCg1RrQNsO4EcrQmU}
复制代码
6. Note
  1. 用dirsearch扫目录, 发现flag.txt
复制代码
  1. 直接访问得到flag
复制代码
  1. #flag{4596b24ab4ffcaf5472e9db97d21a3a1}
复制代码
7. 坏掉的上传页
  1. 访问靶场, 发现没办法上传, 用dirsearch扫描目录, 发现config.php
复制代码
  1. 访问查看数据库信息
复制代码
  1. 可以看出来定义了一个DB_FILE的常量, 它的值是由UPLOAD_PATH常量与"database.db"字符串拼成的。
  2. 可以直接编写python脚本上传木马
复制代码
exp
  1. import requests
  2. url = "http://e40a71ed-e374-46f9-b80d-53608ece144d.www.polarctf.com:8090/"
  3. muma = {'file':open("E:\\桌面\\muma.php", "rb")}
  4. response = requests.post(url, files = muma)
  5. if response.status_code == 200:
  6.         print("文件上传成功")
  7.         print("服务器返回的信息: ", response.text)
  8. else:
  9.         print("文件上传失败")
  10.         print("错误码: ", response.status_code)
复制代码
  1. 访问/database.db, 得到完整的上传路径
复制代码
  1. 通过蚁剑进行连接即可
复制代码
  1. #flag{73b974596dc61737dbe1d52ec2e84433}
复制代码
8. 赌王

  1. 根据提示, 需要三个图标相同才能拿到hint, 我们通过抓包进行不断地旋转
复制代码

  1. 根据提示, 访问ed3d2c21991e3bef5e069713af9fa6ca.php
复制代码
  1. 输入1, 发现系统数字是2, 总是会比我们输入的数字大一。
复制代码
  1. 测试下xss漏洞或ssti漏洞。发现是xss漏洞, payload为:
复制代码
  1. 将alter换为confirm再次尝试, 成功弹窗
复制代码
  1. 访问目录e744f91c29ec99f0e662c9177946c627.php
复制代码
  1. 尝试ping 127.0.0.1, 返回权限不足!
  2. 重新返回查看页面源码发现提示
复制代码

  1. 直接X-Forwarded-For构造地址为1.1.1.1, 然后执行命令ls /
复制代码

  1. #flag{fae0b27c451c728867a567e8c1bb4e53}
复制代码
9. ezezser
  1. 发现php源码, 但是好像没有利用的点, 通过dirsearch扫描目录, 发现存在git泄露
复制代码
  1. 用githacker工具恢复源码
复制代码
  1. 要多回滚几次, 才能得到真正的源码, 通过git log --all命令, 查看历史版本, 进行依次尝试
复制代码
  1. 发现是最初的版本, 通过命令git reset --hard 0c635537b773cdd87268e7dbdc51f985eca0b0b4
复制代码

代码审计
[code]

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

种地

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表