头歌-信息安全技术-实训04 数据库SQL注入漏洞

  • 第一关:获取dvwa环境
  • 任务描述
  • 实验步骤
  • 1、 安装appach
  • 2、安装php
  • 3、修改apache配置文件
  • 4、安装mysql
  • 5、安装dvwa
  • 第二关:获取数据库名称、账户名、版本及操作系统信息
  • 任务描述
  • 实验步骤
  • 1、sql实践
  • 2 、在id处输入1‘ and 1=2 union selelct user(),database() #,就可以看到用户名和数据库名啦,用户名:root@localhost,数据库:dvwa
  • 3、使用sql注入查询数据库用户名和数据库名,并将用户名和数据库名写入/data/workspace/myshixun/result2中,回到终端,输入vim /data/workspace/myshixun/result2回车
  • 4、按i键插入数据,写入root@localhost dvwa,按Esc键,输入:wq,回车,就可以直接评测啦!
  • 第三关:获取数据库表名、列名
  • 1、任务描述
  • 2、实验步骤
  • 1、使用sql注入查询dvwa数据库的所有表名,并将所有表名写入/data/workspace/myshixun/result3中,在终端输入vim /data/workspace/myshixun/result3,回车
  • 2、按i键插入数据,写入guestbook users,按Esc键,输入:wq,回车,就可以直接评测啦!
  • 第四关:获取用户名密码,并猜测root用户
  • 1、任务描述
  • 2、实验步骤
  • 1、使用sql注入查询dvwa数据库的所有表名,并将所有表名写入/data/workspace/myshixun/result4中,在终端输入vim /data/workspace/myshixun/result4,回车
  • 2、按i键插入数据,写入password,按Esc键,输入:wq,回车,就可以直接评测啦!


第一关:获取dvwa环境

任务描述

搭建dvwa环境,包括1、搭建LAMP服务;2、部署dvwa服务;3、访问dvwa主页。

实验步骤

1、 安装appach

首先更新源

apt update

安装apache2

apt install apache2 -y

启动apache2

service apache2 start

查看apache2服务是否运行

netstat -antp | grep apache2

头歌mysql数据库教学案例_php

2、安装php

更新源,安装php

apt install php -y

安装常用模块

apt install php-pear php-fpm php-dev php-zip php-curl php-xmlrpc php-gd php-mysql php-mbstring php-xml libapache2-mod-php

3、修改apache配置文件

$ sudo vim /etc/php/7.0/apache2/php.ini
#allow_url_include = Off
allow_url_include = On     # 设置为On

头歌mysql数据库教学案例_php_02

4、安装mysql

安装mysql

apt install mysql-server -y

启动mysql服务

service mysql start

测试数据库是否安装成功,使用root登录数据库。由于是root权限不需要密码

mysql -u root

头歌mysql数据库教学案例_信息安全技术_03


mysql安全配置初始化

mysql_secure_installation

Y为root用户添加密码插件

头歌mysql数据库教学案例_头歌mysql数据库教学案例_04


方便实验选择密码强度0

头歌mysql数据库教学案例_数据库_05


输入密码dvwa123456

头歌mysql数据库教学案例_数据库_06


移除匿名用户

头歌mysql数据库教学案例_头歌_07


禁止root远程登录

头歌mysql数据库教学案例_头歌_08


移除test数据库

头歌mysql数据库教学案例_信息安全技术_09


刷新权限表

头歌mysql数据库教学案例_头歌mysql数据库教学案例_10


为dvwa创建数据库

create database dvwa;

头歌mysql数据库教学案例_php_11

5、安装dvwa

切换到/var/www/html目录并下载dvwa

git clone https://github.com/digininja/DVWA.git

修改配置文件

$ cd /var/www/html/DVWA/config
$ cp config.inc.php.dist config.inc.php
$ vim config.inc.php
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = 'dvwa123456';
$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';
$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';

头歌mysql数据库教学案例_php_12


给文件夹赋予权限

$ sudo chmod 777 -R /var/www/html/DVWA/hackable/uploads/
$ sudo chmod 777 /var/www/html/DVWA/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
$ sudo chmod 777 -R  /var/www/html/DVWA/config

访问127.0.0.1/DVWA/setup.php,点击Create/Reset Database

头歌mysql数据库教学案例_头歌_13


成功之后会自动跳转到登录界面用户名为admin,密码为password

头歌mysql数据库教学案例_数据库_14

第二关:获取数据库名称、账户名、版本及操作系统信息

任务描述

在上一章的基础上判断是否存在SQL注入漏洞。

  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA
  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA
  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA

实验步骤

1、sql实践

登录dvwa平台,用户名为"admin",密码为"password",并访问127.0.0.1/DVWA/security.php,设置安全等级为low

头歌mysql数据库教学案例_信息安全技术_15

2 、在id处输入1‘ and 1=2 union selelct user(),database() #,就可以看到用户名和数据库名啦,用户名:root@localhost,数据库:dvwa

头歌mysql数据库教学案例_数据库_16

3、使用sql注入查询数据库用户名和数据库名,并将用户名和数据库名写入/data/workspace/myshixun/result2中,回到终端,输入vim /data/workspace/myshixun/result2回车

头歌mysql数据库教学案例_信息安全技术_17

4、按i键插入数据,写入root@localhost dvwa,按Esc键,输入:wq,回车,就可以直接评测啦!

头歌mysql数据库教学案例_数据库_18

第三关:获取数据库表名、列名

1、任务描述

在上一章的基础上获取数据库表名、列名。

  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA
  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA
  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA

2、实验步骤

1、使用sql注入查询dvwa数据库的所有表名,并将所有表名写入/data/workspace/myshixun/result3中,在终端输入vim /data/workspace/myshixun/result3,回车

头歌mysql数据库教学案例_php_19

2、按i键插入数据,写入guestbook users,按Esc键,输入:wq,回车,就可以直接评测啦!

头歌mysql数据库教学案例_头歌_20

第四关:获取用户名密码,并猜测root用户

1、任务描述

在上一章的基础上获取用户名密码并猜测root用户。

  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA
  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA
  • 注意:如果本节实验无法进行,请按照第一关方法配置LAMP和DVWA

2、实验步骤

1、使用sql注入查询dvwa数据库的所有表名,并将所有表名写入/data/workspace/myshixun/result4中,在终端输入vim /data/workspace/myshixun/result4,回车

头歌mysql数据库教学案例_php_21

2、按i键插入数据,写入password,按Esc键,输入:wq,回车,就可以直接评测啦!

头歌mysql数据库教学案例_信息安全技术_22