vlambda博客
学习文章列表

SQL注入——mysql注入原理与注入检查

制丨阿星

整理丨阿星



MySQL注入原理


SQL,叫做结构化的查询语言,所谓的SQL注入,就是把SQL命令插入到web表单提交或输入域名页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它就是利用现有程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。


SQL注入——mysql注入原理与注入检查


一、SQL注入的危害


  1. 数据库信息泄露:数据库中存放用户的信息隐私数据的泄露。

  2. 服务器被人远程控制,被安装后门。


    那么我们怎么样去寻找一个网站它是否存在这样的一个注入点呢?


二、MySQL注入检查


1)搭建MySQL注入练习环境


  1. 先搭建phpstudy(我们直接去下载应用就行了)

  2. 将靶场在网站根路径下解压,解压过后,修改数据库连接配置文件。Sqli-labs-master\sql-connections\db-creds.inc,修改数据库连接账号密码为root/root。

  3. 我们下载好靶场以后,打开我们的phpstudy,我们打开后先启动,如果两个成绿色那就证明没问题。



SQL注入——mysql注入原理与注入检查


找到我们解压过后的靶场文件


SQL注入——mysql注入原理与注入检查


点进去找到下面这个文件


SQL注入——mysql注入原理与注入检查


把他的账号密码改成root 就行了而这个文件呢也是php去链接mysql 数据库的配置文件。存放着数据库的账号密码,主机和数据库名,我们只需要看下账号密码是否是修改的那个就行了。


SQL注入——mysql注入原理与注入检查


然后我们需要ctrl+s保存起来,重启我们的phpstudy


SQL注入——mysql注入原理与注入检查


重启过后我们就可以去靶场去了,我们用到的浏览器是火狐46.0打包版的浏览器。如果小伙伴们没有的话,可以私聊我给你们工具包。


SQL注入——mysql注入原理与注入检查

4.访问靶场,点击第一个去安装这个库,创建表,把数据导入进去,点击进去就好了,这样我们的环境就搭建好了。


2)判断某URL是否存在注入(字符型注入)


| url:http://127.0.0.1/sqli-labs-master/Less-1/?Id=1

| 后端sql :$sql|=”SELECT*FROM users WHERE id=$id LIMIT 0,1”;

A:一般在传参后面加一个单引号或者双引号,报错或者没有返回都是正常的页面,那么大概率是存在注入的

B:进一步检查是否存在注入。


3)数字型注入


  1. Url:http://127.0.0.1/sqli-labs-masteter/less-2/?id=1

  2. 后端sql:$sql|=”SELECT*FROM users WHERE id=$id LIMIT 0,1”;


4)搜索型注入


SQL注入——mysql注入原理与注入检查


5)搜索型注入判断方式


SQL注入——mysql注入原理与注入检查


6)搜索型注入判断语句


SQL注入——mysql注入原理与注入检查


以上就是sql注入的判断方式和基本的三种类型,后面我们会根据mysql注入的方式来对注入手法分类,大家不要混淆了。


如何找寻注入点,在burpsuite中抓包,分析每一个请求的传参数,任何与数据库有交互的地方都有可能存在注入,所以记录在http history中的目标网站每一个请求,在由参数的地方都可以进行SQL注入的检测。


SQL注入——mysql注入原理与注入检查 SQL注入——mysql注入原理与注入检查
差一点

我们就擦肩而过了

有趣

有用

有态度

SQL注入——mysql注入原理与注入检查

扫描二维码更精彩

关注小狸

领取学习资料