Web Lab 2:注入漏洞基础 ¶
前言 ¶
本次作业的四道题目全部发布在 ZJUCTF 平台上。 只要做出题目且步骤齐全就会给满分。做不出来也没关系,只要在作业中呈现完整的思考过程也会给分。但是禁止抄袭。
作业中应该包含:
- 从收集信息到利用漏洞全部的思考和操作过程,至少要包含关键步骤,最好有截图
- 有代表性的注入请求以及对应 SQL 语句的拼接结果(没有给出源码的题目就写自己猜测的 SQL 语句
) ,解释原理 - 用到的脚本代码 ( 如果有的话 )
- 得到的 Flag
总而言之,要能让人相信这是你独立思考的结果。请把作业整理为一个 PDF 文档上传到学在浙大。
请额外注意:
- 爆破对本题没有意义,也不建议使用 Sqlmap 等自动扫描工具,因为大概率跑不出来还浪费流量,很多时候自己写一个 Python 脚本足矣。
- Flag 不在数据库中,格式为
AAA{XXX}
。如果找到了疑似 Flag 的字符串但提交显示错误,或是发现了其他可能是“设计之外”的错误,请及时联系 OverJerry( 我 )。 - 如果遇到问题,可以私聊我。直接指路有失公平性,我更多是帮助你理解题目或是回答知识性的问题。如果有共性的问题或是题目完成率不高会再放出更多 hint.
Task 1: passcode1 (30%)¶
- 完成
passcode1
。- 先给自己准备一个能舒服调试 POST 参数的环境,比如
Burpsuite
,不然你可能接下来几个小时都要盯着一个输入框看。 - 你可以在不知道 passcode 的情况下通过这关。
- 先给自己准备一个能舒服调试 POST 参数的环境,比如
Task 2: passcode2 (35%)¶
- 完成
passcode2
。- 从这关开始你要考虑绕过的问题了,不过,上课都教过了,不是吗?
- 享受公开代码的最后一关。
Task 3: passcode3 (35%)¶
- 完成
passcode3
。passcode3
的基本代码结构和passcode2
类似,数据库存储结构也和passcode2
一致。- 代码不公开,因为上一关是公开代码的最后一关。请各位仔细收集信息,自行分析思考。
- 不要被表象所迷惑。
- 2024.7.11 14:00 通过插入更多 passcode 数据修复了一个非预期
Bonus (+15%)¶
- 完成
passcode bonus
- 本题需要你学习一些课外的绕过技巧
- 数据库版本是 MySQL8
HAVE FUN!!!