数据库手工注入中的闭合

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")

数据库手工注入中的闭合

上一篇:MySQL教程78-INNER JOIN 内连接


下一篇:例子-给oracle添加自增长字段