SQL注入
SQL注入=SQLi=SQL Injection
- 攻
 
- 形象的图
 
- 手段:插入SQL代码
 
- 目的:获取到敏感信息
 
- 根据范围,可分为3个层级
Inband
 
Out-of-band
 
Inferential or Blind
- 没有数据输出
- 攻击者(测试者)可以发送特定查询代码,查看服务器状态(是否符合预期)
 
 
 
 
- 常见SQL注入可利用的相关漏洞或弱点
Operator union:用SELECT期间,把2个操作合并成一个 
Boolean:用布尔变量测试某条件是否为真 
Error based:强制服务器产生错误
 
Out-of-band:攻击产生数据通过其他渠道发送出去
 
Time delay:从数据库中使用命令(比如sleep)去延迟查询条件
- 当攻击者没有特定类型的响应(结果、输出、错误等)时
 
 
 
- 检测SQL弱点
- 举例
' / ' = ' / ' OR 1 = 1 / 'OR a = a / ' OR ' / ' OR '' = '' / 'OR' = '' / 'OR' = " / 'OR' = ' / ' OR '' = ' / ' OR '=' ' / ' OR '=' ' 
 
 
- SQL注入攻击
- 举例
http:/mywebsite/toto/connexion.php?username=admin'#&password=test
- 其中的
#允许给一行加注释
 
- 此命令实现了:连接到一个管理员账户,而无需(知道)密码
 
 
' UNION SELECT username,password FROM users--
 
 
 
- 相关工具