所以我在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
答案 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,然后再注入其他(恶意)语句。请注意,DROP
和DELETE
不是唯一可能发生的破坏性事件。例如,在包含信用卡号的客户表上进行SELECT *
可能是最有害的事情。
免责声明:我不住在父母的地下室里,而是把所有的时间花在注入网站上。但是,我知道的足够多,可以猜出您的问题的答案。