gpt4 book ai didi

php - 我的代码对 SQL 注入(inject)有多脆弱?

转载 作者:可可西里 更新时间:2023-11-01 07:10:14 25 4
gpt4 key购买 nike

好的,我不希望这是一个黑客建议问题,所以请不要对此投反对票。我在一家网上商店工作,我发现我们的一些旧 PHP 页面容易受到用户名中 SQL 注入(inject)的攻击,我想知道有多严重。

我们使用 PHP 字符串将来自 POST 的用户输入嵌入到登录表单中。

$uname = $_POST['username'];
$pass = md5($_POST['pass']);
$sql = "SELECT * FROM users WHERE username='$uname' AND password='$pass' AND userlevel='user'";
...

然后我运行查询。

现在,我不是 SQL 专家,我只是使用我可以在 phpMyAdmin 上拼凑起来的东西。但是我可以不用用户名登录,而是使用:

' OR 1 '

我知道要转义用户输入,我使用 mysql_real_escape_string

我的问题是,这段代码有多脆弱,有人可以不需要密码就可以登录到这个页面吗?我想也许他们不需要用户名,但只能暴力破解密码。但我不是 SQL 大师,我想知道是否可以使用一些技巧来对付我们。

我们使用 MySQL。

拜托,我不需要任何关于输入验证的讲座,我知道这有多糟糕。我们应该做很多事情,比如在我们的页面上超时和锁定,这样它就不会被暴力破解。

最佳答案

“有人可以登录此页面而不需要密码吗”:是的,很简单。试试用户名 yourfavoriteadmin' 或 1; --.

May as well link this, since certainly somebody will...

关于php - 我的代码对 SQL 注入(inject)有多脆弱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com