1、介绍
sql注入,是用户提交的数据,服务端接收后未经过严格检查,将其直接拼接到sql语句中,交给sql应用执行,超出了开发者预期的sql语句结构,从而造成危害。
2、详解
(1)从数据来说,任何前端提交的数据,都有可能成为sql注入的参数。包括get、post、及其它请求方法,包括url、请求头部和请求体部位置,包括ajax和非ajax请求形式。甚至包括http与非http的请求。
(2)从sql应用来说,几乎所有sql应用都存在sql注入的风险。包括mysql、sql server、oracle等。
(3)从编程语言来说,java、php等都存在sql注入风险。但相对来说,php等解释型语言风险更高,因为编译型语言天然的分割了字符串和数值类型。
(4)从sql语句来说,任何类型都存在sql注入风险。包括select、delete、update、insert以及其它。但相对来说,select语句在业务上最常见,从测试来说也相对安全,最多需要考虑脱库风险,而其它语句可能对数据库造成更改。
(5)从防护角度来说,预编译是核心方法,能够完全避免sql注入
3、select类型的五种测试
(1)联合注入
(2)时间盲注
(3)布尔盲注
(4)异常注入
(5)堆栈注入
标签:语句,web,请求,漏洞,sql,来说,select,注入 From: https://www.cnblogs.com/wd404/p/17467289.html