1、什么是闭合?
闭合:这个语句可以完整正确的执行
后台服务器PHP代码:
$sql = "SELECT * FROM users WHERE id = $id LIMIT 0,1";
$sql = "SELECT * FROM users WHERE id = ‘$id‘ LIMIT 0,1";
$sql = "SELECT * FROM users WHERE id = (‘$id‘) LIMIT 0,1";
$id两侧必须要闭合,代码才可以正确执行
数据库代码:
select * from users where id = $id limit 0,1;
select * from users where id = ‘$id‘ limit 0,1;
select * from users where id = (‘$id‘) limit 0,1;
2、为什么闭合这么重要
sql注入,我们要注入到自己的sql语句,
如果注入后,破坏了原有的闭合,那么注入也会失败,所以闭合很重要,决定了最后是否可以注入成功。
举例:
$sql = "SELECT * FROM users WHERE id = ‘$id‘ LIMIT 0,1";
$id = 1‘ 0r 1=1 --+ --+ 注释‘后面的数据
o
$sql = "SELECT * FROM users WHERE id = ‘1‘ or 1=1 --+‘ LIMIT 0,1";
3、用以下方式进行测试闭合
‘$id‘
"$id"
(‘$id‘ )
("$id")