这道来自NSSCTF平台"Welcome To HDCTF 2023"的WEB题目,是典型的CTF入门级Web安全挑战。题目界面通常呈现为一个看似简单的网页,可能包含欢迎信息、输入框或隐藏元素。这类题目主要考察以下几个核心技能:
首先用浏览器打开题目链接,按下F12进入开发者工具。重点检查:
典型发现可能包括:
<!-- flag is in /secret -->)使用工具对网站目录进行探测:
bash复制dirsearch -u http://example.com -e php,html,js,txt
重点关注:
/robots.txt/.git//admin//backup/检查页面JavaScript可能发现如下线索:
javascript复制function checkFlag(input) {
// 简单替换加密
let encoded = input.replace(/a/g, '1').replace(/b/g, '2');
if(encoded === "hdctf{12345}") {
alert("Correct!");
}
}
解题方法:
使用Burp Suite拦截请求,可能发现:
X-Flag: base64_encoded_stringis_admin=0,尝试修改为1对发现的输入点进行基础测试:
?id=1'测试SQL注入<script>alert(1)</script>测试XSS以实际解题流程为例:
html复制<!-- Try /console for admin panel -->
/console返回403,但响应头包含:code复制X-Debug-Token: 5d41402abc4b2a76b9719d911017c592
code复制X-Debug-Token: 5d41402abc4b2a76b9719d911017c592
| 工具类型 | 推荐工具 | 使用场景 |
|---|---|---|
| 代理工具 | Burp Suite | 请求拦截与修改 |
| 扫描工具 | dirsearch | 目录爆破 |
| 编码工具 | CyberChef | 编解码转换 |
| 调试工具 | Chrome DevTools | 前端调试 |
bash复制echo "aGRjdGZ7d2VsY29tZX0=" | base64 -d
bash复制hashid 5d41402abc4b2a76b9719d911017c592
.php, .bak, .oldcode复制X-Forwarded-For: 127.0.0.1
Referer: http://localhost
当遇到类似hdctf的编码:
javascript复制document.write("hdctf");
python复制import html
print(html.unescape("hdctf"))
针对题目中暴露的安全问题,在实际开发中应该:
apache复制Options -Indexes
php复制$input = htmlspecialchars($_GET['input'], ENT_QUOTES);
nginx复制add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "default-src 'self'";