vlambda博客
学习文章列表

Sql注入简单入门之-DVWA安装&使用教程


1、Sqlmap环境搭建

     Sqlmap是一款自动化sql注入的工具,其功能强大,支持多种数据库,包括mysql,sqlserver等主流的数据库,采用独特的sql注入方法来达到自动化注入扫描漏洞的目的。

(1)python2.7版本下载

(2)sqlmap下载:http://sqlmap.org/,将sqlmap文件放在python2.7的文件夹下

(3)环境变量设置,添加sqlmap文件夹的环境变量

(4)打开命令窗口,输入sqlmap.py -h则安装成功

2、测试环境搭建

     搭建一个包含了sql注入,xss等漏洞的测试环境以便学习sql注入知识点。

01 安装php环境
Sql注入简单入门之-DVWA安装&使用教程

    由于源码是php的则需要安装php的环境。wampserver下载安装:Apache+mysql+php集成安装环境,简化该集合环境安装配置流程,减少了环境配置的繁琐。



问题1:安装完成后打开时报错:

Sql注入简单入门之-DVWA安装&使用教程

解决方案:因为计算机中丢失 MSVCR110.dll。尝试重新安装该程序以解决此问题。安装完成后,重启电脑即可。

     如果还是弹出该错误,首先检查下下载的软件是32位的还是64位的,第二可以卸载wampserver重新下载安装即可。

Sql注入简单入门之-DVWA安装&使用教程


问题2:wampserver本地环境启动后显示橙色不显示绿色

解决方案:80端口号被占用,修改端口号即可

将wampserver>bin>apache>apachex.xx>httpd.conf文件以下信息的端口号换成8080

Listen 0.0.0.0:80Listen [::0]:80

改成:

Listen 0.0.0.0:8080Listen [::0]:8080

右键图标refresh即可。


02 dvwa下载安装
Sql注入简单入门之-DVWA安装&使用教程
  • https://github.com/ethicalhack3r/DVWA

  • 解压:

    解压到运行代码的位置,即将解压的安装包放在wampserver下的www文件夹下

  • 复制dvwa解压的路径

  • 图标鼠标右键Apache>http.config,修改文件

  • 添加host

    c盘>windows>system>drivers>etc>hosts,文件结尾添加127.0.0.1 dvwa的域名

    dvwa的域名:dvwa.localhost

    即127.0.0.1  dvwa.localhost,修改时显示权限不足时,在弹出的窗口点击是即可

  • 测试是否域名添加成功

    打开命令窗口,ping dvwa.localhost

Sql注入简单入门之-DVWA安装&使用教程

  • 重启wampserver

03 修改配置文件
Sql注入简单入门之-DVWA安装&使用教程
  • 打开dvwa>config>复制config文件,将文件后缀名改为php结尾

  • 打开config.inc.php,修改用户名,密码,端口号(3306)

  • 用户名为root,密码修改为空,端口号5432改为3306

04 添加数据库账号
Sql注入简单入门之-DVWA安装&使用教程
  • 浏览器打开

    http://localhost:8080/dvwa/setup.php,进入安装界面

  • 点击Create/Reset Database创建数据库,过会页面会自动跳转到登录页面:

Sql注入简单入门之-DVWA安装&使用教程

  • 数据库的登录账号和密码获取

    右键dvwa图标>phpMyadmin>users表:admin/password

  • 登录dvwa

    默认的用户名和密码为:admin/password,进入到以下的页面

Sql注入简单入门之-DVWA安装&使用教程

3、Sqlmap使用
3、Sqlmap使用
01 获取系统的基本信息
Sql注入简单入门之-DVWA安装&使用教程

     登录dvwa,设置安全的等级,设置为low,网站的安全等级为low时才能进行注入测试。

Sql注入简单入门之-DVWA安装&使用教程

点击SQL injection输入注入的信息,复制注入信息后提交的url

Sql注入简单入门之-DVWA安装&使用教程

Sql注入简单入门之-DVWA安装&使用教程

a.sqlmap的参数格式:

sqlmap.py -u 目标地址#不加入地址后面的#sqlmap.py -u "http://localhost:8080/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="" --batch                      

Sql注入简单入门之-DVWA安装&使用教程

Sql注入简单入门之-DVWA安装&使用教程

查找注入点以及可注入的方式,得到数据库是mysql,以及数据库的版本,注入点的参数为id

sqlmap.py -r 保存的请求头文件

谷歌浏览器>测试的网站右键>检查

Sql注入简单入门之-DVWA安装&使用教程

>Networks>F5重新加载网站>选中网址信息右键>copy>copy request header

Sql注入简单入门之-DVWA安装&使用教程

在sqlmap文件夹下新建一个文本文件重新命名,将复制的头文件的信息粘贴保存

02 sqlmap数据库检测
Sql注入简单入门之-DVWA安装&使用教程

    通过sqlmap获取数据库的数据

  • 查看数据库


    查找大数据库的名称为‘dvwa’

    sqlmap.py -u 目标地址 --cookie=“” --dbs:查看数据库名称

Sql注入简单入门之-DVWA安装&使用教程

Sql注入简单入门之-DVWA安装&使用教程

     扫描数据表

  • 查看数据库表名称:

    sqlmap.py -u 目标地址 --cookie=“” --table:查询出所有数据库的所有表
  • 导出数据


    sqlmap.py -u 目标地址 --cookie=“” --dump-all
  • 指定数据库查询

  • dvma下所有数据表数据

(1)指定数据库名称查找数据表:

sqlmap.py -u 目标地址 --cookie=“” -D 数据库名称 --dump

Sql注入简单入门之-DVWA安装&使用教程

指定dvwa数据库查找到两个表:users,guestbook,查询结果:

Sql注入简单入门之-DVWA安装&使用教程

(2)指定数据表名称查找数据表的数据:

sqlmap.py -u 目标地址 --cookie=“” -D 数据库名称 --dump -T 数据表名称

Sql注入简单入门之-DVWA安装&使用教程

指定查找dvwa数据库users数据表的数据查询结果:

Sql注入简单入门之-DVWA安装&使用教程

(3)指定查询users表的表结构:

Sql注入简单入门之-DVWA安装&使用教程

查询结果:

Sql注入简单入门之-DVWA安装&使用教程

(4)破解密码

查询到了users表的数据后发现密码都是md5加密存储的

Sql注入简单入门之-DVWA安装&使用教程

可以网上直接搜索md5解密,将加密后的字符解密后得到的admin用户的密码为:password

另外,也可以用sqlmap自带的字典破解密码:

在获取users数据表的过程中会出现问题选择,询问是否破解密码

Sql注入简单入门之-DVWA安装&使用教程

最后破解密码显示为:

Sql注入简单入门之-DVWA安装&使用教程

括号内的为破解后的密码

04 sqlmap 注入post
Sql注入简单入门之-DVWA安装&使用教程

1、post注入参数介绍

2、如何使用post请求注入

    sqlmap.py -u "url" --cookie="" --data=“post源码” --batch --smart
  • 注:--batch --smart启发式判断,batch自动执行yes,smart智能判断

post源码的获取:

   (1)dvwa网站>xss stored>输入参数点击提交

   (2)复制提交后的url

   (3)谷歌浏览器>测试的网站右键>检查>Network,复制cookie以及Form Data

Sql注入简单入门之-DVWA安装&使用教程

选择view source复制:

Sql注入简单入门之-DVWA安装&使用教程

   (4)运行post注入测试

Sql注入简单入门之-DVWA安装&使用教程

   (5)刷新dvwa的网站查看注入的结果

Sql注入简单入门之-DVWA安装&使用教程

04 如何快速地批量注入测试


sqlmap.py -l txt文件名 --batch --smart

(1)谷歌浏览器>测试的网站右键>检查>Network,Request Header>view source

Sql注入简单入门之-DVWA安装&使用教程

 (3)多个请求即批量注入,复制添加以上信息放在文件的后面,用分割符区分开保存即可