sql注入的原理:
将(恶意)的SQL命令注入到后台数据库引擎执行的能力,把信息返回到页面
sql注入产生的原因:
过滤不严谨,导致产生的sql注入。
sql注入产生的地方:
任何客户端可控制的变量,必须带有参数传递,且带入数据库里查询,没有过滤。
任何数据包能拼接数据库。
列子:
一个请求包
请求行 POST /index?id=1 HTTP1.1
请求头 user-agent:
host
referer
cookie:
x-forward-for: 它代表请求段的IP, IP可以在后面添加 $_server
请求体 id=1 & user=2
sql数据库5.0之前没有information_schema这个库,所以要load_file()读取相对路径
sql注入的分类:
可联合查询注入(union select ),可多语句查询注入(mssql提权的时候,xp_cmdshell.exec用到),布尔注入(ascii()函数),报错注入(floor报错),基于时间延迟的盲注(slep(时间))