靶场地址:天狩CTF竞赛平台
来吧开搞
页面下方提示找到隐藏的flag,ctf题目一般首先就是查看源代码,此题的主要思路点在源代码中,如下所示
const xhr = new XMLHttpRequest(); xhr.open('GET', `view.php?id=${encodeURIComponent(id)}`, true); xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { contentDisplay.innerHTML = xhr.responseText; } else { contentDisplay.innerHTML = `<p class="error-message">加载内容失败。服务器状态: ${xhr.status}</p>`; } };
页面中的JavaScript代码使用XMLHttpRequest向`view.php?id=`发送GET请求,根据不同的id加载内容。可能`view.php`存在漏洞,比如SQL注入。
那么破局点就在这,如下所示
出现报错了,确定了就是sql注入,接下来就是尝试爆字段数了,但是出现了一些问题