OGeek|极客世界-中国程序员成长平台

标题: php - 如何修复服务器状态代码 : 302 Found by SQL Inject Me Firefox Addon [打印本页]

作者: 菜鸟教程小白    时间: 2022-10-23 05:23
标题: php - 如何修复服务器状态代码 : 302 Found by SQL Inject Me Firefox Addon

我使用 SQL Inject Me 扫描了我的登录脚本火狐插件

根据测试结果,我的脚本容易受到 SQL 注入(inject)攻击。实例结果

Results:
Server Status Code: 302 Found
Tested value: &#49&#39&#32&#79&#82&#32&#39&#49&#39&#61&#39&#49
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/






    欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4