有人将如何在此查询上使用sql注入

时间:2018-10-15 08:02:58

标签: php mysql sql

所以我在php中有这个查询

SELECT a.sifra,a.slika,a.slika2,a.imeProizvoda,a.opis,b.cijena,b.cijena2
FROM proizvodi a
inner join stanje b
on a.sifra = b.sifra
WHERE a.imeProizvoda LIKE '%$search%'

我尝试以DROP TABLE proizvodi进行sql注入,这在互联网上找到的所有方式都无法实现

有人将如何在搜索中进行查询,以便删除我的数据库 proizvodi

1 个答案:

答案 0 :(得分:3)

为了避免在PHP中进行SQL注入,您应该绝对使用准备好的语句,这使得几乎不可能进行任何SQL注入。要回答您的问题,我们可以尝试以下方法:

$search = "'; DROP TABLE proizvodi; SELECT * FROM dual WHERE '1' LIKE '";

这将导致执行以下操作:

SELECT a.sifra, a.slika, a.slika2, a.imeProizvoda, a.opis, b.cijena, b.cijena2
FROM proizvodi a
INNER JOIN stanje b
    ON a.sifra = b.sifra
WHERE a.imeProizvoda LIKE '%';
DROP TABLE proizvodi;
SELECT * FROM dual WHERE '1' LIKE '%'

基本思想是通过结束原始有效语句跳出PHP / MySQL,然后再注入其他(恶意)语句。请注意,DROPDELETE不是唯一可能发生的破坏性事件。例如,在包含信用卡号的客户表上进行SELECT *可能是最有害的事情。

免责声明:我不住在父母的地下室里,而是把所有的时间花在注入网站上。但是,我知道的足够多,可以猜出您的问题的答案。