黑客工具sqlmap,带你了解什么师sql注入
moboyou 2025-04-03 21:17 32 浏览
1、 sqlmap介绍
sqlmap是一款支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测工具。
2、 sqlmap的下载以及安装
(1)linux下git直接安装
Kali系统自带的sqlmap
gitclone –depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
(2)windows下安装
windows下下载sqlmap的压缩包,解压后即可使用。但需要一些组件包的支持,需要有python2.7.x或者2.6.x环境支持
D:\一些工具分类\Python27
(3)kali及PentestBox默认安装sqlmap
(4) sqlmap支持的检测模式
sqlmap支持五种不同的注入模式:
l 基于布尔的盲注,即可以根据返回页面判断条件真假的注入;
l 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;
l 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;
l 联合查询注入,可以使用union的情况下的注入;
l 堆查询注入,可以同时执行多条语句的执行时的注入。
(5)sqlmap不同的等级
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。
--level
除此之外,也可以用-v代替level,因为-v就是level的缩写,因此这样也是可以的
如果你想看到sqlmap发送的测试payload最好的等级就是3
如下图,我这里选择了-v3,它这里显示了注入的payload,那么这个工具注入的代码就显示出来了,因此我们也可以照着这个去学习和研究
3、 数据库注入的使用
Access数据库注入sqlmap.py -u "网站" 我们先检测这个网站是否存在注入点
-u "网站"--tables 列出数据库中所有表的名字。
-u "网站"-T "表名" --columns 针对某个表的列名
-u "网站"-dump T "表名" - C "列名"针对某个表里的某个列。列出该列中的字段内容(注意-dump可以放在后面,不用担心麻烦注意看清楚大小写)
因为access数据库只有一个独立的数据库,所以它这里不需要去猜数据库名
mssql数据库注入 -u "网站"
-u "网站"--dbs
-u "网站"--is-dba 查看当前用户是否是数据库管理员
-u "网站" --current -db
-u "网站"-D "数据库名" --tables
-u "网站"-D "数据库名" -T "表名" --columns
-u "网站"--dump -D "数据库名" -T "表名"-C "列名"
mysql数据库同上
一般注入的时候,我们可以先查看它的权限 --privileges
由于mysql和mssql数据库有多个数据库和多个网站,那么这个时候sqlmap默认跑的注入方式是显错注入。
1) mysql注入演示
首先简单的测试是否存在sql注入漏洞
可以看见它这里显示了对方网站的操作系统为Windows,然后当前的php版本为5.4以及web服务器Apache的版本,还有当前的数据库为mysql5.0版本,上面的就是sqlmap注入时候攻击代码。
跑完的数据都将会保存在output目录下生成一个以网站域名命名的文件夹。
由于我是本地环境,所以它这里就是127.0.0.1
那么简单的检测就这样演示完了,接下来就是跑数据库名,为什么要跑数据库?因为mysql和mssql跟access数据库不一样,mysql有多个数据库,那么我们就需要跑出当前网站的数据库名,就跟我们进行显错注入一样,都需要数据库名来进一步来弄出表名和表里面的数据。
这个要用到--current-db这个参数,这个参数是用来显示当前数据库名的参数
那么结果如下,可以看见它这里显示出当前的数据库名为security,那么我们知道了数据库名,我们就可以去跑当前数据库名的所有数据
用-D大写的D代替databases,那么这个就是指定对应的数据库名,然后再用--tables去跑出当前数据库的所有表名
跑出来的结果如下,跑出了security数据库的4个表名,分别为emails、referrs、uagents、users。
那既然都跑出表名了,我们想看哪个表名最有价值,一般作为渗透者,都会对user、username、pass、password、admin等表名进行猜解,因为这些关键词的表名一般都存在重要的信息。
那我们就直接猜users表名的数据,当然,猜完表也要猜列名。猜列表要使用到--columns参数,这里还是一样,用-D和-T分别代表数据库名和表名,-T是tables的缩写,那么后面就是猜列名的参数--columns
然后就是这里猜出三个列名。分别是id、password、username等等,那么我们要猜出所有的数据,那我们就要用到--dump,--dump是全部拖下来的意思(可以这样理解)
因为这里有三个列名,那么用-C全部指定的时候,要用到逗号隔开,再使用--dump全部脱裤。
那么对应的数据就这么简单的显示出来了
4、注入的选择
参数:--technique
这个参数可以指定sqlmap使用的探测技术,默认情况下会测试所有的方式
· 测试注入点:sqlmap.py -u url -p id
· sqlmap注入方式techniquesqlmap.py -u url --technique T
支持探测的方式如下
B:Boolean-based blind sql injection(布尔型注入)
E:Error-based SQL injection (报错型注入)
U:UNION query SQL injection (可联合查询注入)
S:Stacked queries SQL injection(可语句查询注入)
T: Time-based blind SQL injecgtion(基于多时间延迟注入)
比如说我想进行一个时间盲注,再用-v3显示出当前注入的攻击代码。那么可以对比一下上面默认注入的代码和这里选择注入方式的代码。是完全不一样的
- 上一篇:SQL入门知识篇
- 下一篇:数据查询语言SQL基本语法
相关推荐
- php宝塔搭建部署实战服务类家政钟点工保姆网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的服务类家政钟点工保姆网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS...
- 360自动收录简介及添加360自动收录功能的详细教程
-
以前我们都是为博客站点添加百度实时推送功能,现在360已经推出了自动收录功能,个人认为这个功能应该跟百度的实时推送功能差不多,所以我们也应该添加上这个功能,毕竟360在国内的份额还是不少的。360自动...
- 介绍一个渗透测试中使用的WEB扫描工具:Skipfish
-
Skipfish简介Skipfish是一款主动的、轻量级的Web应用程序安全侦察工具。它通过执行递归爬取和基于字典的探测来为目标站点准备交互式站点地图。该工具生成的最终报告旨在作为专业Web应用程序安...
- 好程序员大数据培训分享Apache-Hadoop简介
-
好程序员大数据培训分享Apache-Hadoop简介 好程序员大数据培训分享Apache-Hadoop简介,一、Hadoop出现的原因:现在的我们,生活在数据大爆炸的年代。国际数据公司已经预测在20...
- LPL比赛数据可视化,完成这个项目,用尽了我的所有Python知识
-
LPL比赛数据可视化效果图完成这个项目,我感觉我已经被掏空了,我几乎用尽了我会的所有知识html+css+javascript+jQuery+python+requests+numpy+mysql+p...
- 网站被谷歌标记“有垃圾内容”但找不到具体页面?
-
谷歌的垃圾内容判定机制复杂,有时违规页面藏得深(如用户注册页、旧测试内容),或是因第三方插件漏洞被注入垃圾代码,导致站长反复排查仍毫无头绪。本文提供一套低成本、高执行性的解决方案。你将学会如何利用谷歌...
- 黑客必学知识点--如何轻松绕过CDN,找到真实的IP地址
-
信息收集(二)1、cms识别基础为什么要找CMS信息呢?因为有了CMS信息之后,会给我们很多便利,我们可以搜索相应CMS,有没有公开的漏洞利用根据敏感文件的判断:robots.txt文件robots....
- Scrapy 爬虫完整案例-提升篇
-
1Scrapy爬虫完整案例-提升篇1.1Scrapy爬虫进阶案例一Scrapy爬虫案例:东莞阳光热线问政平台。网站地址:http://wz.sun0769.com/index.php/que...
- 如何写一个疯狂的爬虫!
-
自己在做张大妈比价(http://hizdm.com)的时候我先后写了两个版本的爬虫(php版本和python版本),虽然我试图将他们伪装的很像人但是由于京东的价格接口是一个对外开放的接口,如果访问频...
- 程序员简历例句—范例Java、Python、C++模板
-
个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...
- Python爬虫高级之JS渗透登录新浪微博 | 知了独家研究
-
小伙伴们看到标题可能会想,我能直接自己登陆把登陆后的cookie复制下来加到自定义的请求头里面不香嘛,为什么非要用python模拟登录的过程?如果我们是长期爬取数据,比如每天早上中午和晚上定时爬取新浪...
- 使用Selenium实现微博爬虫:预登录、展开全文、翻页
-
前言想实现爬微博的自由吗?这里可以实现了!本文可以解决微博预登录、识别“展开全文”并爬取完整数据、翻页设置等问题。一、区分动态爬虫和静态爬虫1、静态网页静态网页是纯粹的HTML,没有后台数据库,不含程...
- 《孤注一掷》关于黑客的彩蛋,你知道多少?
-
电影总是能引发人们的好奇心,尤其是近日上映的电影《孤注一掷》。这部电影由宁浩监制,申奥编剧执导,是一部反诈骗犯罪片。今天给大家讲解一下影片潘生用的什么语言,以及写了哪些程序。揭秘影片中的SQL注入手法...
- python爬虫实战之Headers信息校验-Cookie
-
一、什么是cookie上期我们了解了User-Agent,这期我们来看下如何利用Cookie进行用户模拟登录从而进行网站数据的爬取。首先让我们来了解下什么是Cookie:Cookie指某些网站为了辨别...
- 「2022 年」崔庆才 Python3 爬虫教程 - urllib 爬虫初体验
-
首先我们介绍一个Python库,叫做urllib,利用它我们可以实现HTTP请求的发送,而不用去关心HTTP协议本身甚至更低层的实现。我们只需要指定请求的URL、请求头、请求体等信息即...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)