首页 > 数据库 >sqlmap使用教程

sqlmap使用教程

时间:2024-11-16 10:15:26浏览次数:3  
标签:sqlmap 教程 http -- 数据库 xxx 使用 id

参考文章:SQLmap使用教程图文教程(超详细)-CSDN博客
可使用必应搜索以下网站来测试使用:
inurl:news.asp?id=site:edu.cn
inurl:news.php?id= site:edu.cn
inurl:news.aspx?id=site:edu.cn
https://i-blog.csdnimg.cn/blog_migrate/80d2a4ffaa0cb7d7d1db82770ccdf1cf.png
扫描完成之后会显示注入的类型以及数据库和版本信息

sqlmap提示选项使用技巧
在使用sqlmap过程中,经常需要用户进行选择,如[Y/n]。这里有几个技巧:
1.大写的为默认选项。如果不输入,就自动使用该选项。
2.我们输入时,不用区分大小写。
3.除了y和n,还有两个特殊选项。一个是a,表示alway,就是总是获取。一个是q,表示退出。
4.不想手动选择,则在执行sqlmap的时候,加上–batch和–smart选项。

一、常规命令

1.检测注入点

sqlmap -u 'http://xx/?id=1'

2.查询所有数据库

sqlmap -u 'http://xx/?id=1' --dbs

3.查看当前使用的数据库

sqlmap -u 'http://xx/?id=1' --current-db

4.查看数据表

sqlmap -u 'http://xx/?id=1' -D meteor --tables

5.查看字段

sqlmap -u 'http://xx/?id=1' -D meteor -T zzy --columns

6.查看数据

sqlmap -u 'http://xx/?id=1' -D meteor -T zzy -C 123 --dump

二、目标

1.指定url:-u

-u参数需要指定检测的url,使用单双引号包裹
eg:
sqlmap -u 'https://xxx/?id=1'

2.指定文件(批量扫描)

准备一个文件,写上需要检测的url,一行写一个
再使用-m参数指定文件,可以批量扫描文件中的url
eg:
sqlmap -m urls.txt

3.指定数据库/表/字段

-D 指定目标「数据库」,单/双引号包裹,常配合其他参数使用。

-T 指定目标「表」,单/双引号包裹,常配合其他参数使用。

-C 指定目标「字段」,单/双引号包裹,常配合其他参数使用。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username' --dump

4.POST请求

检测POST请求的注入点,使用BP等抓包工具抓包,将http请求的内容保存为txt文件
使用 -r参数指定需要检测的文件,sqlmap会通过POST请求方式检测目标

sqlmap -r bp.txt

5.cookie注入

--cookie指定cookie的值,模拟用户登录,使用单/双引号包裹

sqlmap -u 'http://xxx/?id=1' --cookie 'meteor'

三、脱裤

获取所有内容:-a,但会消耗很长时间

sqlmap -u 'http://xxx/?id=1' -a

1.获取数据库

1.1获取数据库版本 -b

sqlmap -u 'http://xxx/?id=1' -b

在扫描完最后会显示数据库的版本

1.2获取当前使用的数据库

sqlmap -u 'http://xxx/?id=1' --current-db

1.3获取所有的数据库

sqlmap -u 'http://xxx/?id=1' --db

最后会显示出所有的数据库名字

2.获取表

参数:–tables

2.1获取指定数据库的表

sqlmap -u 'http://xxx/?id=1' -D 'meteor' --tables

最后会显示指定数据库中的所有的表名

2.2同时获取多个数据库的表明,库名用逗号隔开

sqlmap -u 'http://xxx/?id=1' -D 'meteor,zzy' --tables

2.3不指定数据库,获取数据库中的所有的表

sqlmap -u 'http://xxx/?id=1' --tables

最后会显示每个数据库下都有哪些表

3.获取字段

参数:–dump

3.1获取指定数据库以及指定表中的字段

!!!只指定数据库不指定表会报错!!!

sqlmap -u 'http://xxx/?id=1' -D 'meteor' -T 'zzy' --columns

最后显示表中的所有的字段

3.2不指定表名,默认获取当前数据库所有表的字段

sqlmap -u 'http://xxx/?id=1' --columns

4.获取字段类型

参数:–schema获取字段类型,可以指定库或表,不指定则获取数据库中所有字段的类型。

sqlmap -u 'http://xxx/?id=1' -D 'meteor' --schema

最后会显示每个表的字段类型

5.获取值(数据)

参数:–dump获取表中的值。

5.1获取指定数据库,表,字段的值:

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username,password' --dump

5.2获取指定数据库所有表的数据:

sqlmap -u 'http://xx/?id=1' -D 'security' --dump

5.3使用–start和–stop指定获取数据

使用参数:–start,–stop指定开始和结束的行,只获取一部分数据

sqlmap -u 'http://xxx/?id=1' -D 'meteor' -T 'meteor' --start 1 --stop 5 --dump

6.获取用户

6.1获取当前登录数据库的用户

sqlmap -u 'http://xxx/?id=1' --current-user

最后会显示当前登录数据库的用户current user:xxx

6.2获取所有的用户

参数:–users获取数据库所有的用户名

sqlmap -u 'http://xxx/?id=1' --users

6.3获取用户的密码

参数:–password获取所有用户的密码(哈希值)
数据库不存储明文密码,只会将密码加密后,存储密码的哈希值,需要借助工具将其解密出明文

sqlmap -u 'http://xxx/?id=1' --passwords

最后面显示数据库用户名对应的密码(哈希值)

6.4获取用户的权限

参数:–privileges查看每个数据库用户都有哪些权限

sqlmap -u 'http://xxx/?id=1' --privileges

最后显示每个数据库用户所拥有的权限。(权限最多的即为root用户)

6.5判断当前用户是不是管理员

参数:–is-dba判断当前登录数据库的用户是不是数据库的管理员用户

 sqlmap -u 'http://xxx/?id=1' --is-dba

如果是管理员,就在current user is DBA后面显示 true

7.获取主机名称

参数:–hostname获取服务器主机名

sqlmap -u 'http://xxx/?id=1' --hostname

最后面显示服务器的主机名

8.搜索库,表,字段

参数:–search搜索数据库中是否存在指定库/表/字段,需要指定库名/表名/字段名
搜索数据库中有没有 security 这个数据库:

sqlmap -u 'http://xx/?id=1' -D 'security' --search

回车后需要手动选择模糊匹配(as like database namesas)还是完全匹配(as exact database namesas)
也可以搜索表和字段

sqlmap -u 'http://xxx/?id=1' -T 'users' --search
sqlmap -u 'http://xxx/?id=1' -C 'username' --search

9.正在执行的SQL语句

参数:–statements获取数据库中正在执行的SQL语句

sqlmap -u 'http://xxx/?id=1' --statements

最后显示正在执行的SQL语句
SQL statements:
[*]正在执行的SQL语句

四、WAF绕过

参数:–tamper指定绕过脚本,绕过WAF或IDS

sqlmap -u 'http://xxx/?id=1' --tamper 'xxx.py'

sqlmap中内置绕过脚本,linux系统中在:/usr/share/sqlmap/tamper/

五、其它指令

–batch 不再询问是否确认
-p 指定可测试的参数 ?page=1&id=2 -p “page,id”
–method=GET 指定请求方式
–random-agent 随机切换UA
–user-agent ’ ‘ 使用自定义UA
–referer ’ ’ 使用自定义referer
–proxy=‘127.0.0.1:8080’ 指定代理
–thread 10 设置线程数,最高10
–level=1 执行测试的等级(1-5,默认为1,常用3)
–risk=1 风险级别(0~3,默认1,常用1),级别提高会提高数据被篡改的风险

标签:sqlmap,教程,http,--,数据库,xxx,使用,id
From: https://blog.csdn.net/weixin_62512865/article/details/143778497

相关文章

  • 解析 React Scheduler 原理,Solid 竟也在使用!
    对于ReactScheduler,它通过将任务切片并异步执行,避免了阻塞浏览器的主线程。很多人其实都看到过类似的文章了,甚至说去手写调度器,都写的很不错,所以本文将从一个新的角度探讨ReactScheduler,揭示它是如何利用几个简单的API实现这一壮举的。ReactScheduler解析首先,让......
  • Tomcat 使用入门
    简介及目录结构ApacheTomcat是一个Servlet容器,是应用(Java)服务器,可在其中部署JavaWeb应用。ApacheTomcat的目录结构主要包括以下几个重要的文件夹和文件。下面是一个典型的Tomcat目录结构及其功能简要说明:apache-tomcat/├──bin/#启动和停止To......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘要随着计算机科学技术日渐成熟,人们已经深刻认识到了计算机功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用。通过管理系统在电脑上的应用,人们能更好的管理信息,储存数据。为了能够提供游戏商城的方便性,开发了基于vue的游戏网站。此游戏网站......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,招聘网站当然也不能排除在外。招聘网站是以实际运用为开发背景,运用软件工程开发方法,采用互联网技术构建的一个管理系统。整个开发过程首先对软件系统进行需......
  • 计算机毕业设计项目推荐,SSM山西能源学院教室管理系统81671(开题答辩+程序定制+全套文案
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,山西能源学院教室管理系统当然也不能排除在外。山西能源学院教室管理系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用 SSM技术构建的一个管理系......
  • 基于STM32通过TM1637驱动4位数码管详细解析(可直接移植使用)
    目录1. 单位数码管概述2. 对应编码2.1 共阳数码管2.2 共阴数码管3. TM1637驱动数码管3.1 工作原理3.1.1 读键扫数据3.1.2 显示器寄存器地址和显示模式3.2 时序3.2.1 指令数据传输过程(读案件数据时序)3.2.2 写SRAM数据地址自动加1模式3.2.3 ......
  • C++ 游戏开发入门教程:从基础到实践
    引言C++是一种广泛应用于游戏开发的编程语言,因其高性能和对硬件资源的精细控制能力,成为了许多大型游戏和引擎的首选语言。无论是开发2D还是3D游戏,C++都能够提供高效的计算和优异的性能,尤其在需要处理大量数据和实时计算的情况下,如渲染、物理计算和网络通信等。本文将介......
  • Python 网络爬虫入门教程
    引言网络爬虫(WebCrawler)是一种通过编程从互联网上抓取数据的技术,常用于数据分析、信息采集等任务。Python作为一门功能强大且易于使用的编程语言,拥有丰富的爬虫库和工具,如Requests、BeautifulSoup和Scrapy,使得网络爬虫的开发变得更加高效便捷。本文将以一个简单的实例,介......
  • Groq:一个完美平替ChatGPT的AI厂商,免费使用10种大模型,安装部署指南
    groqhttps://console.groq.com/playgroundhttps://groq.com/WelcometoGroqChat™,we'regladyou'rehere!PleaseenjoythisfastAIinferencedemoPoweredbytheGroqLPU™.Furtherresources:Developers,buildwithfastfreeAPIkeysforLLMs......
  • 接口测试JMeter使用教程 (三)---接口关联
    我们在测试过程中一定会有这种情况,上一个接口要抓取数据传给下一个接口,也就是上一个接口的相应数据做为下一个接口的请求数据那我们来做这样一个登录然后加入购物车,先捋一下思路。1、登录----token(鉴权)2、加入购物车(把token带过去)那我们先登录后看返回的数据后置处理器......