Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php上的SQL注入_Php_Sql Injection - Fatal编程技术网

php上的SQL注入

php上的SQL注入,php,sql-injection,Php,Sql Injection,我收到了一份使用sql注入攻击给定网站的援助 $sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender, FROM USERS_TABLE WHERE (name = ’$user’ OR email = ’$user’) AND pass = ’$pass’"); $chk = mysql_fetch_array($sel1); if (found one record) then {allow the user to

我收到了一份使用sql注入攻击给定网站的援助

$sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender,
FROM USERS_TABLE
WHERE (name = ’$user’ OR email = ’$user’) AND pass = ’$pass’");

$chk = mysql_fetch_array($sel1);

if (found one record)
then {allow the user to login}
问题是我应该输入$user和$password的哪些值来入侵网站

我尝试在user(例如:admin)中输入一个真值,并尝试使用(“=”或“=”)作为$password的值-没有不起作用的括号。我也试过('或'=')-没有括号

这看起来很简单,我遗漏了什么吗?

我想这是学校/大学的作业,不是为了入侵真实的网站

粘贴将成为有效SQL的一部分的内容,并使条件计算为
TRUE
,而不管数据库中实际有什么内容

这意味着,通过输入“正确”值,您可以登录网站,而不知道数据库中的实际用户名/密码

考虑以下条件:

WHERE (name = '' OR ''='' OR email = '' OR ''='') AND pass = '' OR TRUE LIMIT 1 -- '
如果数据库中至少有一个用户,它总是计算为
TRUE
,并且它最多返回一行(因为
限制1

现在,您必须“从该条件中提取片段”,并将其作为用户名和密码输入:

  • 用户名:
    ”或“=”
  • 密码:
    ”或真正的限制1--

请注意,PHP插入的查询末尾的最后一个撇号字符将成为注释,不会导致SQL语法错误

这个网站上的警察不是在开玩笑吧?如果我们在大多数电子游戏中都有这样一支网络大军,也许整个社区都会如此better@user779444,我相信对你的问题有很多误解。有些人认为你是在破坏一些真实的网站而不是学习之后。这样的事情偶尔会发生在任何地方,请不要太靠近。不要对StackOverflow失去信心,它实际上是一个很好的资源。主持人现在锁定了这个问题,所以大家都冷静下来,删除了所有无用的评论:)@user779444,另外,如果你想了解网站的安全性,请试试这个游戏:它是关于XSS的,不是SQL注入,但是很有趣(你将在这个网站上黑客多个页面:)。很酷的网站,谢谢。我相信大多数人,至少是那些有很高声誉的人,都和你一样。关心他人,乐于助人,信任stackoverflow及其用户。做得好!