sql注入工具的使用
关于sql注入工具的使用
- 前言
- 一、超级sql注入工具
- 1、下载地址:
- 2、使用步骤
- (1).针对于get和post传递的参数进行注册
- 小技巧:
- (2).针对于http头部进行的注入
- 具体情景
- (3).最重要的
- 总结
- 二、sqlmap的使用
- 1、前言
- 2、使用方法
- 3、总结
前言
针对于sql注入的练习,目前我已经使用过两种sql注入工具,分别是Sqlmap和超级sql注入,下面将各自介绍一下,我对这两个工具的感受和他们的一些具体用法
提示:以下是本篇文章正文内容,下面案例可供参考
一、超级sql注入工具
1、下载地址:
链接:https://github.com/shack2/SuperSQLInjectionV1/releases
当然,如果你不想去这边下,也可以加我QQ(QQ在文末),我发给你就好,反正闲着也是闲着
2、使用步骤
(1).针对于get和post传递的参数进行注册
针对于这种方式,感觉还是比较完善的,通过自动识别可以识别出注入点,而且在注入的过程中,它也会自动设置注入模式,就相当于你只需要点一个自动识别,就可以让他自己去跑。
具体操作流程:先配置好头部,就是输入ip/域名,然后使用BP抓包,将http头部放到下面的http请求包里面,这就算是配置完成了,然后点击识别注入,工具就会自动运行,找到注入点,然后也会自动配置好注入方式和数据库的一些信息,还是比较高级的,但可能就是速度有点慢,因为他好像是从盲注开始尝试。在他自己注入点之后,我们接下来点到获取数据那一栏,就可以获取数据了。
小技巧:
1、可以再注入之前自己先点击发送数据,然后看一下包含这个头部的数据发出去会有什么响应,这样就可以判断这个数据到底有没有问题,方便自己查错
2、可以再日志中心里面查看测试时的payload以及发送此payload时响应的包,也可以方便自己查错
所以这种注入方式,简单,也好理解,可以省去很多时间,如果是针对于get和post传递参数的情况。但是这种方式也不是说一定能把这两种含参的有sql注入漏洞的能扫出来,我之前测试的order by 后面跟注入就没有测试出来,我感觉这个东西还是也得看运气吧
(2).针对于http头部进行的注入
如果使用超级sql注入工具对http头部进行注入,我感觉是一件挺繁琐的事情,因为这得需要你手动配置,手动配置包括你需要自己确定注入方式,确定数据库类型,还得你自己确认注入点,这个东西看着可能会觉得麻烦,但是他会即时反应,再加上sqlmap对头部的注入基本上发现不了,所以,如果用这个工具来进行手动注入,我觉得还是可以的,最起码起比用BP方便一百倍,接下来详细说一下如何进行手动注入。
首先,需要明确一点,注入方式尽量选择union注入,然后是显错注入,盲注比较费时间所以放在最后。
然后需要先找到注入点,根据注入点能不能回显在确定注入方式。这时候就需要用到前面提到的小技巧里面的第一个,利用发送数据这一选项,来确定注入点,然后在根据是否会有回显选择注入方式。
具体情景
如果他有回显,然后你选择了union注入方式,这时候你还需要手动再利用发送数据这一栏来确定总列数,和哪几列可以显示在浏览器中,这些都是需要自己手动完成的,确定这两栏之后,就可以去数据中心那里获取数据。
如果他有回显,你选择了报错注入这种方式,这种方式比较友好,自己什么都不用管,直接去数据中心获取数据即可。
如果是第三种情况,你选择了盲注,这个时候也需要对盲注进行一下配置,主要就是配置一下盲注的判断方式,所谓判断方式,就是用来判断他输入哪一些payload的时候,会输出正反馈,会有以下几种判断方式,我比较常用的可能是关键字判断。神奇的是这个工具他可以自己验证来生产判断值,而且要实现让他自己生产判断值,也只需要把注入点,即#injection#用编码验证框起来就行。
(3).最重要的
有同学可能会疑问,盲注的时候,会发现一直在运行跑包,但是union注入和显错注入的时候,你按下获取数据按钮,他只会跑几个包(跑几个包主要取决于再几栏前面选了对勾),然后会觉得可能是这个工具出了问题。其实不然,这个工具里面,所谓的注入点只是注入语句,他是不包括闭合前面的单引号,注释后面的其他符号的。比如
uname=1") or left(database(),2)='se' #&passwd=admin&submit=Submit
这个payload里面只有left(database(),2)='se'
这个属于这个工具里面的注入点,前面的那个怎么闭合不属于payload,不属于注入部分,大家一定要注意这一点。
总结
所以,真正关键的怎么闭合前面的符号,又怎么注释后面的符号,对于手工注入来说,这些都得我们自己判断,但好歹这些判断起来也是挺方便的。我想,这个工具之所以能被推崇,他的意义应该在于,让手工注入变得更简单了吧。
二、sqlmap的使用
1、前言
对于sqlmap,我的感觉他就是sql注入的神器,因为他不仅可以注入对于get和post传参的方式,也可以自动对http头部进行注入,我们只需要配置一些参数即可实现自动化注入
2、使用方法
首先,需要使用-u参数,导入网页的地址
可以使用–batch让软件接下来所有操作,都不询问,自己回答,自动执行
可以用-p来指定注入点,测试此注入点是否可以被注入
可以使用–level和–risk来提高注入的风险和等级,这样会提高注入的成功率,但是风险也会增大
可以使用-g让软件自动搜索谷歌中的网页对其进行sql注入
当注入成功后,可以使用–current-user或者–current-db来分别获得当前用户名和当前数据库名,也可以通过–dbs获得所有的数据库之后,可以利用获得的名字来-D指定数据库名,通过–tables获取数据库里面的表,获得-T表之后,可以直接使用–dump获取表里面的列,dump意思为取下,倒出的含义,也可以在成功注入之后,不用获取表,直接使用–sql-shell来使用sql语句来查询表
可能看下面比较清楚
--batch 加入这个可以让他不在询问我们,自己去做决定--dbms= 数据库管理系统,可以指定数据库类型,不用挨个去尝试,缩短检测时间--p 指定注入点,减少检测时间--risk 增大风险等级,有利于探测--level 增大风险等级,有利于探测--user 获得用户--current-user 获得当前用户--current-db 获得当前数据库--dbs 获得数据库 --D 指定库 --tables--T 指定表--columns 指定列--dump 值前面所有的值都列出来
3、总结
我感觉sqlmap真的完全就实现了自动化扫描注入点,然后进行注入,真的感觉很厉害,可能他的唯一缺点就在于对于注入度不高吧,比如用它来测试sqli-labs的http头部注入,他就没有测出来。但能测试的范围真的挺大的。
sql注入工具的使用相关推荐
- SQL 注入工具集合
众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker B ...
- 详解强大的SQL注入工具——SQLMAP
本文转自:详解强大的SQL注入工具--SQLMAP 前言 Windows下的注入工具好的又贵,免费的啊D.明小子等又不好用,我们根本没必要花 时间去找什么破解的havij.pangolin什么的,特别 ...
- mysql sql注入工具_SQL注入工具实践
程序简介 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具,支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入. ...
- mysql注入扫描网站漏洞工具_国产SQL注入漏洞测试工具 - 超级SQL注入工具(SSQLInjection)...
此工具为本人对C#.Socket及HTTP协议.SQL注入进行深入研究后,闲暇时间做的一款SQL注入工具.不说秒SQLMap,直接秒杀什么webcruiser.Safe3SI.pangolin.hav ...
- mysql sql注入工具_基础篇——SQL注入(工具注入)
注入工具 上一篇介绍了SQL注入漏洞以及一些手工注入方法,本篇介绍一下注入工具 1.sqlmap sqlmap属于比较经典的一个注入工具,功能强大,还自带一些绕过参数 使用方法: sqlmap.py ...
- Sql注入工具php,phpcms框架SQL注入--基于Havij工具
sql注入的步骤: 1.首先观察网站是通过GET还是POST方式传输数据的: a.如果是GET传输,则在url中输入?id=1' 或者 " 或者 ') 来测试是否存在sql注入. b.如果是 ...
- python编写sql注入工具-利用Python实现SQL注入 - Python黑客编程入门系列 - 8
{getUnitName} {getLessonName} 敬请期待 免费 {getTaskName} 剩余观看时长:{watchLimitRemaining} 回放 {activityStartTi ...
- 阿D SQL注入工具常用的一些注入命令
//看看是什么权限的 and 1=(Select IS_MEMBER('db_owner')) And char(124)%2BCast(IS_MEMBER('db_owner') as varcha ...
- python编写sql注入工具毕业设计_Python编写SQL注入工具(2)
#coding=gb2312 importurllibimportstring#定义Access注入函数 classAccessInject():def __init__(self,url): sel ...
- 自动化SQL注入工具-sqlmap
1.通过burpsuite.获取拦截到的请求,指定文件进行探测 python sqlmap.py -r target.txt --current-db 2.通过url地址进行探测 Python sql ...
最新文章
- MPB:南土所冯有智组-基于微量热曲线的微生物群落代谢特征分析
- zookeeper源码
- python numpy库安装winerror5_(转载)Numpy安装中遇到的问题和解决方法
- VMware下主机与虚拟机剪切板独立,无法直接复制粘贴
- (计算机组成原理)第二章数据的表示和运算-第二节3:定点数的移位运算(算数移位、逻辑移位和循环移位)
- Linux常用的分区方案及目录结构
- [转载]POJ 分类
- Codeforces914D Bash and a Tough Math Puzzle
- 网络研讨会的邀请:SQL优化:你不是一个人在战斗
- Centos开机自动执行shell脚本启动tomcat服务器
- 批量导入经纬度点到奥维地图中
- 鸟哥的 linux 的私房菜 基础学习篇,鸟哥的 Linux 私房菜 -- 基础学习篇
- 网页、app、小程序图标素材PNG格式
- 百度翻译反向js——破解反爬虫
- 315前瞻:哪些互联网消费领域今年可能上榜?
- eBPF-4-perf_map的丢失事件lost_event解读
- 【条码检测算法】不起眼的条码识别也能玩出这么多花样
- Excel的官方网站
- S3 Drive支持以及FIPS 140-2兼容性
- kaggle中关于图像的比赛整理