SQL注入的原理:
定义:通过把SQL命令插入到 web表单提交、输入域名、页面请求的查询字符串,最终达到欺骗服务器 执行恶意的sql命令。
它的本质就是服务器对代码和数据不区分,未对用户提交的参数进行校检或者有效的过滤,直接进行sql语句的拼接,改变了原有的sql语义,传进数据库解析引擎中执行。
网页一般分为静态页面和动态页面。静态页面一般是HTML或者htm页面格式,不需要服务器解析脚本。也就不存在sql漏洞,但是它灵活性交互性就很差。动态页面一般是asp,jsp,php等页面格式,它是由相应的脚本引擎来解释执行,根据指令来生成网页。但是在与数据库交互时,可能会存在SQL漏洞。
动态网页访问过程:
SQL注入的场景:
一切用户可控参数的地方,比如:URL路径,GET/POST请求参数,HTTP请求头。
SQL注入过程:
详细过程:
①通过检查Web页面上存在的SQL注入漏洞,构建特殊的SQL注入点;