SQL 注入漏洞的产生需要满足以下两个条件
1.参数用户可控:前端传给后端的参数内容是用户可以控制的
2.参数带入数据库查询:传入的参数拼接到 SQL 语句,且带入数据库查询。
不管数字还是字符型,加单引号或双引号都会报错
注入流程
是否存在注入并且判断注入类型 //看输入的参数是整形还是字符型,判断方法:假如id=1,改成id=2,如果页面有变化,就是数字型,没变化是字符型
判断字段数 order by
确定回显点 union select 1,2
查询数据库信息 @@version @@datadir
查询用户名,数据库名 user() database()
文件读取 union select 1,load_file(‘C:\wondows\win.ini’)#
写入 webshell select..into outfile…
补充一点,使用 sql 注入遇到转义字符串的单引号或者双引号,可使用 HEX 编码绕过
