目录
SQL 注入漏洞,就是通过把 SQL 命令插入到URL地址、Web 表单提交或页面请求的查询字符串中,最终达到欺骗服务器执行恶意的 SQL 命令。漏洞成因是程序没有对用户输入的内容进行安全检查,直接代入数据库进行查询,导致了 SQL 注入的发生。
目前常见的 SQL 注入的攻击方式有报错注入、普通注入、隐式类型注入、盲注、宽字节注入、二次解码注入。
来看几个案例:
01 攻击方式
01.01 报错注入
报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。
推荐阅读:SQL注入-报错注入
为了防止报错信息被攻击者直接看到,建议设置 php.ini 中的 display_errors 参数为 Off。
01.02 普通注入
普通注入就是在参数中携带部分 SQL 语句的请求。
使其变成一个万能查询语句,可以通过和 UNION 语句配合,获取数据库的全部信息。