一、内容掌握
1 计算机基础
- 操作系统:熟悉Linux命令,方便使用Kali。
- 网络技术:HCNA、CCNA。
- 编程能力:拔高项,有更好。
2 web应用
- HTTP协议:必须掌握
- web开发框架
- web安全测试
3 数据库
- 数据库基本操作
- SQL语句
- 数据库优化
二、 刷题(经验+工具收集)
1.BugKu---Web---alert
题目描述:点开题目给出的网页后,出现弹窗(内容大概为“flag就在这里”,“来找找吧”,当时关掉之后需要重新花金币才能开启环境,拮据的我就只能在这里文字描述了),只能点击确定,并且点击后弹窗不会消失,页面中没有其它信息。
解题思路:查看网页源代码,寻找可能包含flag的信息。
解题过程:
- 通过 F12 按键查看网页源代码,但可能由于弹窗还没有关闭,源代码没有显示出来。
- 探寻强制关闭弹窗的方法,搜索结果显示需要设置浏览器,感觉不太适用于解题。
- 查看其他人的评论,发现别人第一步是通过快捷键 Ctrl U 发现的包含 flag 的信息。
- 通过快捷键发现可以查看网页源代码,在代码最后包含一串奇怪的编码,如图。
- 把这串编码发送给AI识别并解码出结果:flag{1ea9b8ac20536e599549df67f52579c5}
积累:
Unicode 编码(HTML 实体编码):
每个字符被表示为其对应的 Unicode 十进制数值,格式为
&#数字;
解码步骤:
将每个
&#数字;
转换为对应的 ASCII/Unicode 字符。组合所有字符,得到原始字符串。
例:
编码:flag{1ea9b8ac2
0536e599549df6
7f52579c5}
解码:
102, 108, 97, 103, 123, 49, 101, 97, 57, 98, 56, 97, 99, 50, 48, 53, 51, 54, 101, 53, 57, 57, 53, 52, 57, 100, 102, 54, 55, 102, 53, 50, 53, 55, 57, 99, 53, 125flag{1ea9b8ac20536e599549df67f52579c5}工具收集:离线编码解码工具
2.BugKu---Web---GET
题目描述:
进入环境后,如图。
解题思路:在哪里写入这段代码,把flag显示出来。
解题过程:
- 查询这段代码,AI告诉我这是一段PHP脚本,需要放进一个PHP文件来执行。这给我带来了无解,因此没有理解需要在哪里输入。
- 查看别人的解题过程,是在网址中加入访问参数 /?what=flag。
- 因此得到如图的flag。
2.BugKu---Web---POST
题目描述:和上题类似,这道题是使用POST方式进行请求。
解题过程:
- 把这段代码发送给AI,总结出如何使用POST请求获取flag。
- 在AI提供的方法中,我选择了使用浏览器的开发者工具,在其控制台输入代码,获取flag的输出。
- 最终在控制台得到flag。
积累:
此处其它几种解题方式,需要使用到一些工具。因此需要收集工具 BP,学习命令行cURL。