我建立了一个易受SQLi
攻击的网站。
但是当我使用SQLi
'--
运行GET请求时,我得到了错误的查询输出。有人可以帮我这个吗?
这是我的SQLi
这就是SQL运行查询的方式。
SQL查询假设不同。应该是:SELECT * FROM product WHERE id LIKE '%'
,它应该输出product
表中的所有数据。
代码段
答案 0 :(得分:2)
这是正确的,并且在给定输入的情况下,它正在按照你所说的去做。
GET请求值为'--
,用于替换SQL查询字符串中的变量$test
。但它不会删除SQL查询字符串中 $test
变量之后的内容。
让我用一些颜色编码向您展示:
SELECT * FROM product WHERE id LIKE'%
$test
%'SELECT * FROM product WHERE id LIKE'%
'--
%'
字符--
构成SQL注释的开头,因此在SQL注入发生后会忽略其后的任何内容。查询的唯一功能部分是:
SELECT * FROM product WHERE id LIKE'%'