识别 SQL 注入点
在本模块中,我们将揭示应用程序中存在的 SQL 注入漏洞。
步骤 1:导航到 SQL 注入页面
在应用程序的左侧菜单中,你会找到一个标记为“SQL Injection”的链接。点击此链接以导航到 SQL 注入页面。在这里,你会看到一个要求输入用户 ID 的表单。
步骤 2:输入示例用户 ID
让我们尝试输入一个用户 ID,看看会发生什么。
示例输入:
1
在表单中输入“1”并点击“Submit”按钮。输出应显示 ID 为 1 的用户详细信息。
步骤 3:检查源代码
通过点击“View Source”按钮,你可以检查页面的源代码。你应该会看到类似于以下 PHP 代码的内容:
$id = $_GET['id'];
$sql = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
$result = mysqli_query($conn, $sql);
这段代码揭示了应用程序通过将用户输入直接与 SQL 语句拼接来构建 SQL 查询。这是一个常见的错误,可能会造成 SQL 注入漏洞。
步骤 4:确认 SQL 注入漏洞
为了验证 SQL 注入漏洞的存在,让我们尝试在值“1”后注入一个单引号('
)。在表单中输入以下内容:
1'
如果你看到数据库错误消息,这表明应用程序确实存在 SQL 注入漏洞。这是识别并随后解决此类漏洞的关键步骤。