科技报道|WEB渗透——MySQL注入原理与注入检测


SQL , 叫做结构化的查询语言 , 所谓的SQL注入 , 就是把SQL命令插入到web表单提交或输入域名页面请求的查询字符串 , 最终达到欺骗服务器执行恶意的SQL命令 。 具体来说 , 它就是利用现有程序 , 将(恶意的)SQL命令注入到后台数据库引擎执行的能力 , 它可以通过在web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库 , 而不是按照设计者意图去执行SQL语句 。
一、SQL注入的危害
1、数据库信息泄露:数据库中存放用户的信息隐私数据的泄露 。
2、服务器被人远程控制 , 被安装后门 。
那么我们怎么样去寻找一个网站它是否存在这样的一个注入点呢?
二、MySQL注入检查
1、搭建MySQL注入练习环境
1)先搭建phpstudy(我们直接去下载应用就行了)
2)将靶场在网站根路径下解压 , 解压过后 , 修改数据库连接配置文件 。 Sqli-labs-mastersql-connectionsdb-creds.inc , 修改数据库连接账号密码为root/root 。
3)我们下载好靶场以后 , 打开我们的phpstudy , 我们打开后先启动 , 如果两个成绿色那就证明没问题 。
2、判断某URL是否存在注入(字符型注入)
|url:?Id=1
|后端sql:$sql|="SELECT*FROMusersWHEREid=$idLIMIT0,1";
A:一般在传参后面加一个单引号或者双引号 , 报错或者没有返回都是正常的页面 , 那么大概率是存在注入的
B:进一步检查是否存在注入 。
3、数字型注入
1)Url:
2)后端sql:$sql|="SELECT*FROMusersWHEREid=$idLIMIT0,1";
4、搜索型注入
如何找寻注入点 , 在burpsuite中抓包 , 分析每一个请求的传参数 , 任何与数据库有交互的地方都有可能存在注入 , 所以记录在httphistory中的目标网站每一个请求 , 在有参数的地方都可以进行SQL注入的检测 。