哈喽各位师傅们!Day 2 打卡来啦~今天继续刷 Bandit 练 Linux 基础,下午开坑 Web 方向,体验了一波"看源码找 flag"的快乐。话不多说,上干货!哈喽各位师傅们!Day 2 打卡来啦~今天继续刷 Bandit 练 Linux 基础,下午开坑 Web 方向,体验了一波"看源码找 flag"的快乐。话不多说,上干货!
📋 今日学习清单
✅ OverTheWire Bandit 通关(Level 8 - 12)
✅ Web 入门题 x 7(Bugku 平台)
✅ 学习抓包工具 reqable 的基本使用
🐧 一、Bandit 继续闯关(Level 8 - 12)
昨天刷到第7关,今天继续冲!越往后越有意思,每关都能学到新命令~Level 8 → Level 9
题目:密码在 data.txt 中,跟在 "millionth" 这个词旁边grep
文本搜索命令,用来查找匹配内容的行
格式:grep 关键词 文件名
Level 9 → Level 10
题目:密码在 data.txt 中,是唯一只出现过一次的那行sort
:对文件内容按行排序
uniq -u
:只显示唯一的行(只出现一次的)
|
管道符:把左边命令的输出传给右边的命令
⚠️ 注意:uniq 只能识别相邻的重复行,所以必须先 sort 排序!
Level 10 → Level 11
题目:密码在 data.txt 的人类可读字符串中,前面有若干个=号strings data.txt | grep "=="strings
:从二进制文件中提取人类可读的字符串
配合 grep 使用效果更佳,直接筛选包含特定特征的行
Level 11 → Level 12
题目:data.txt 里是一段 base64 编码的数据base64
:base64 编解码命令
-d
参数表示 decode(解码)
输出:The password is dtR173fZKb0RRsDFSGsg2RWnpNVj3qRr
Level 12 → Level 13
题目:所有大小写字母都被旋转了 13 个位置(ROT13)tr 'A-Za-z' 'N-ZA-Mn-za-m' < data.txttr
:字符替换命令,把左边字符集替换成右边的
'A-Za-z' 'N-ZA-Mn-za-m'
:A→N, B→O... 正好是 ROT13
<
:把文件内容重定向给前面的命令
输出:The password is 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4
🌐 二、Web 入门!首战 Bugku 七连杀
Linux 练得差不多了,下午正式开启 Web 方向!用 Bugku 的入门题练练手,顺带学了下抓包工具reqable的使用。1. 滑稽
思路:F12 查看页面源代码,直接在 body 里找到注释的 flag💡 小技巧:Web 题上来先 F12 看源码,很多题 flag 就藏在注释里!2. 计算器
题目:一个两位数加法题,但输入框只能输 1 位数字思路:又是前端限制!F12 找到输入框代码,把maxlength="1"改成3,直接输入答案就行flag:flag{ebab35e5203983872833182d90097cd9}📝 知识点:前端的限制都是纸老虎,改源码就能绕过~3. alert
题目:网页一直弹 alert 框说"flag就在这里",但 F12 看不到源码思路:弹alert导致页面不停刷新,F12 根本来不及看。直接上抓包工具 reqable,发送请求看原始响应flag:flag{9c86778c34232adbca5a8f5149d38e3a}📝 知识点:&#数字;是 HTML 实体编码,每个数字对应一个 ASCII 字符4. 你必须让他停下
思路:同样用 reqable 抓包,不停重发请求,发现每次返回的图片编号不一样。发到第 10.jpg 的时候,flag 就出来了flag:flag{31564bb09f0099bb8129a0e3607b0f90}5. 头等舱
思路:题目叫"头等舱"= 响应头!(这谐音梗绝了)Flag: flag{c2661dea1708cc17967aff81f470548f}flag:flag{c2661dea1708cc17967aff81f470548f}💡 划重点:Web 题除了看响应体,响应头也很重要!6. GET
?what=flag
**flag **:flag{289c019eb1068648fc0f165ce97fba50}GET 参数通过 URL 传递,格式:?参数名=值
$_GET['参数名']
是 PHP 获取 GET 参数的方式
7. POST
**题目 **:和 GET 那题很像,不过是 POST 方法用 burp 或者 reqable 把请求改成 POST,请求体里加what=flag**flag **:flag{e88e16282ccb34d3eac01e6dbbe1af68}POST 参数在请求体里传递,不在 URL 上
$_POST['参数名']
是 PHP 获取 POST 参数的方式
📝 今日总结
💡 学到的新东西
| |
|---|
grep | |
sort | |
uniq -u | |
strings | |
base64 -d | |
tr | |
F12 查看/修改前端源码,前端限制都能绕过
HTML 实体编码(&#数字;格式)
响应头也可能藏信息
GET 和 POST 请求的区别与使用
抓包工具 reqable 的基本使用
🎯 明日计划
继续刷 Web 题,多练几种题型
学一下 burp suite 的使用
晚上安排代码审计学习
🌈 写在最后:第二天感觉渐入佳境了!Web 题比想象中有意思,每道题都像在解谜,尤其是"头等舱"那题的谐音梗,解出来的时候真的会心一笑哈哈。
因为晚上还要学代码审计,今天就先学到这里。虽然题都不难,但每道题都学到了新东西,感觉很充实~
刚入门的小伙伴也可以跟着一起刷,有问题欢迎评论区交流!
觉得有帮助的话别忘了 点赞+在看+关注 呀~我们 Day 3 见!👋