2. 布尔盲注
布尔盲注是通过观察应用程序的响应(如页面内容、HTTP 状态码等)来判断查询条件是否为真。
<?php
// 数据库连接配置
$host = 'localhost';
$dbname = 'testdb';
$user = 'root';
$password = 'password';
// 创建数据库连接
$conn = new mysqli($host, $user, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 获取用户输入的参数
$id = $_GET['id'];
// 构造布尔盲注查询
$query = "SELECT * FROM users WHERE id = $id AND 1=1";
$result = $conn->query($query);
// 根据查询结果返回不同响应
if ($result->num_rows > 0) {
echo "Query is TRUE (数据存在)";
} else {
echo "Query is FALSE (数据不存在)";
}
// 关闭连接
$conn->close();
?>
布尔盲注的利用:
攻击者可以通过修改 `id` 参数