漏洞原因
一些概念:
SQL:用于数据库中的标准数据查询语言。
web分为前端和后端,前端负责进行展示,后端负责处理来自前端的请求并提供前端展示的资源。
而数据库就是存储资源的地方。
而服务器获取数据的方法就是使用SQL语句进行查询获取。
SQL注入:所谓的sql注入就是通过某种方式将恶意的sql代码添加到输入参数中,然后传递到sql服务器使其解析并执行的一种攻击手法
SQL可分为平台层注入和代码层注入。
平台层注入:由于不安全的数据库配置或数据库平台的漏洞导致。
代码层注入:程序员对输入没有细致地过滤,从而执行了非法地数据查询。
原因:在前后端数据的交互中,前端的数据传到后台处理时,没有做严格的判断,导致其传入的数据拼接到SQL语句中,被当成SQL语句的一部分执行,从而导致数据库受损,信息丢失。
总结版:后台服务器接收相关参数未经过过滤直接带入数据库查询。
例子:
比如这是一条前端URL:https://www.jb51.net/aboutus.php?id=1
其后台sql语句:$sql&#