使用sqlmap进行sql注入
简单介绍下sqlmap吧,它是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MS-SQL,,MYSQL,ORACLE和POSTGRESQL。SQLMAP采用四种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,堆查询和基于时间的SQL盲注入。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。
今天是用BT5下的sqlmap对一个真实的站进行一系列的操作,环境嘛就是bt5,+sqlmap,在操作之前我把所有的软件全部更新了一下,由于很久没进入真机上的bt5系统,所以更新了很久,提醒下,高版本的python与sqlmap貌似兼容有问题,建议使用稳定版本的python+sqlmap,好了,下面进入正题!
0×01
很多朋友在使用bt5里的工具的时候经常为找不到哪个地方而烦躁,还有那些复杂的路径名,谁记得住啊,建议使用ALT+F2,在弹出的栏目里输入你想要使用的工具就可以了,如下图。
让我们看看sqlmap的说明,好长啊,这也说明了这个工具的复杂性和强大性,配合各种参数,能完成我们想要实现的效果
根据SQLMAP的说明,它是发现并利用给定的URL的SQL注入漏洞,所以我们要先发现一个可以注入的URL,怎么找··大家发挥想象了,今天主要介绍SQLMAP的一些功能。
上图是启动SQLMAP,对这个注入点进行初步的判断和检测,它的检测机制在文章开头也已经说明,启动后,SQLMAP开始工作,并对给定的URL开始判断,如下图
已经判断出目标的系统和数据库类型,从上图也可以清楚的看出SQLMAP的判断方法
接着输入,如下图
这是判断当前数据库的使用者是否是dba,
根据显示的结果看出,当前用户就是DBA··
接着输入,如下图
这句的目的是列举数据库的用户
从返回的结果看来,数据库用户是SA啊,这代表什么就不多说了吧
接着输入,入下图:
这句的目的是获取数据库用户的密码,
SA的HASH密码已经显示出来,而且它还有解密的模块,你如果选择Y,它就会载入自己的解密字典,这里虽然没有解出来,但是把密码的结构显示的很明白,什么头部啊,混合的部分啊,都很明白,如下图
接着输入,如下图;
这是判断当前的权限,结果如下:
接着输入,如下图:
这句的目的是将所有的数据库列出来,结果如下:
但是这儿我没有发现与管理有关的库,算了吧,今天主要讲讲如何对库里的数据进行查询,
接着输入
这是显示WC2表的所有表,如下:
已经把所有的表都显示出来了,我们随便找一个表,查询列
我们找的是DBO.BZJ_FFMX表的内容,如下
把列名,和类型显示出来,接着查询列的内容,如下:
这里是查询第2到第4行的内容,显示如下:
如果我们找到管理员信息的表了,这儿不就找到对应的账号和密码了吗!
接着继续:
这儿我们将所有的库导出来,我想这就是前段时间盛传的脱裤吧,在执行这项操作的时候,会把所有的表里的内容导入到当前的一个目录下,看着清楚明了,但是花费的时间和很长。
上图就是WC2库里所有的表,SQLMAP导出来是CSV的格式,我们直接打开就能看到里面的数据,
要在SQLMAP里执行命令就用—OS-CMD=命令就可以了
好了,演示就到这儿了,很基础的科普,今天弄了一天的这个,发觉这个工具真的蛮强大的,有一点需要注意,之前我用穿山甲对这个站进行过扫描和执行命令,我用SQLMAP到处表的时候,发现了一个pangolin_test_table,这个应该就是穿山甲执行命令建的那个临时表,但是没有删除,如果精明的管理员发现的话,一定会有所察觉的!今天我写这个也是个抛砖引玉的作用,希望更多的人一起探讨交流BT5的使用!
posted on 2012-12-07 14:35 cn三少<script></script> 阅读(654) 评论(0) 编辑 收藏 举报