我使用 SQL Inject Me 扫描了我的登录脚本火狐插件
根据测试结果,我的脚本容易受到 SQL 注入(inject)攻击。实例结果
Results:
Server Status Code: 302 Found
Tested value: 1' OR '1'='1
Server Status Code: 302 Found
Tested value: 1' OR '1'='1
Server Status Code: 302 Found
Tested value: 1 UNI/**/ON SELECT ALL FROM WHERE
Server Status Code: 302 Found
Tested value: %31%27%20%4F%52%20%27%31%27%3D%27%31
我的剧本 login.php - 登录表单 check-login.php - 检查登录详细信息,这里是代码。
$email = clean($_POST['username']); $pass = clean($_POST['password']); $user = "select * from tbl_admin where admin='$email' and pass='$pass'";
//一些代码
$_SESSION['login_mes'] = "您已成功登录!"; header("位置:admin.php"); 导出();
} 别的 {
$_SESSION['login_mes'] = "电子邮件地址或密码无效,请重试。"; header("位置:登录.php"); 导出(); } 登录失败时出现问题。如果我删除
} else {
$_SESSION['login_mes'] = "Invalid email address or password, please try again.";
header("Location:login.php");
exit();
}
SQL Inject Me 没有检测到故障以及如何修复这部分?
Best Answer-推荐答案
302 是服务器说“我想让你去[其他地方]”的方式(在这种情况下是login.php)。 这不是错误,而是完全正常的响应。特别是在您的情况下,在 SQL 注入(inject)尝试后将用户发送到登录页面比让他进入更有意义(如果您问我)。
关于php - 如何修复服务器状态代码 : 302 Found by SQL Inject Me Firefox Addon,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/1283476/
|