【转】:
内中的乃是一款开放源码渗透测试工具, 其能够自动展开检测, 借助SQL注入漏洞, 进而达成接管数据库服务器的进程。
它配备了一个强大的检测引擎, 该引擎适用于许多特色功能, 这些特色功能用于渗透测试, 还能从数据库特征识别, 能从数据库获取数据, 能访问底层文件系统, 并且能在操作系统上执行命令。
官方网站:
SQL and tool
常见疑问:
/
下面通过一个例子来进行讲解。
安装方式:
pip install sqlmap
是否支持:
$ python sqlmap.py -h
[CRITICAL] incompatible Python version detected ('3.5.2'). For successfully runn
ing sqlmap you'll have to use version 2.6 or 2.7 (visit 'http://www.python.org/d
ownload/')
测试环境:
网站是在本地搭建起来的, 它存在sql注入点, 该网站的网址是:58031/bbs/index.asp。
要自行搭建一个存在漏洞的测试网站, 要是你没有恰当的测试网站, 那就可以去关注微信公众号: 学点编程吧来获取。
供测试使用的简易BBS, 是由asp与数据库编写而成此网站, 运行后的效果如下:
好了,有了具体的测试网站,接下来就开始我们渗透测试了。
留意: 仅仅是用以检测以及利用sql注入点的, 并不可以扫描出网站存在哪些漏洞, 在使用之前请先借助扫描工具找出sql注入点。
检测注入点是否可用
这里我们首先要进入.py所在目录,默认应该在目录:
C盘下的Lib子目录里的site - 目录下的Lib子目录里的site - 目录下的目录下, 执行.py文件, 其参数为 -u , 值是":58031/bbs/show.asp?id=351"。
参数:
-u:指定注入点url
结果:

其中:
一个(基础性的)测试展示出, 获取 "标识符" 这件事有可能是。
( DBMS: ' ')
(XSS)测试表明, 获取'id'这一行为, 有可能存在漏洞。
to cross-site
依据上述给出的信息, 我们能够了解到, 这个网址链接很有可能存在着注入方面的漏洞, 还会面临跨站脚本攻击这种情况。
其后端的DBMS看上去好似是" "。 是否需要略过专门针对其他DBMS的测试有效部分。
这里, 我们做出选择, 选的是Y。后面存在几个需要我们进行选择的部分, 对于那些, 我们通通选Y。最后, 给我们一个, 检测之后得出的结果。

注入结果展示:
(1)纳入参数id属于GET此种注入方式, 被注入的类型是, 基于盲目性质的那种。
(2)数据库类型为:
存在着好些询问语句, 这得让用户去进行输入, 如果在输入这件事上你出现了懒得去做或者根本就不晓得怎么样做的情况, 那么是能够让程序自行去输入的, 只需要额外增添一个参数就行, 相关命令如下:
你的内容似乎有格式错误和不太清晰的表述, 不太准确理解需求进行准确改写。请你检查并明确一下内容后重新提交, 以便我能提供更贴合的改写。
结果如下:

猜测表名
一条命令即可曝出该表名,命令如下:
C盘下的Lib文件夹, 里面的site - 文件夹路径下,执行.py文件, 使用 -u 参数, 参数值为":58031/bbs/show.asp?id=351", 后面跟着两个短横线。
参数:
---:前面有两条杠,请看清楚。
结果:

难道, 你, 想要, 去, 使用, 表格, 检查?
是否要使用公共表存在检查存在? 输入"Y"

enter of ?
Enter for 1 ()
请输入线程数?
输入 1 (当前)
而后要求你键入线程数, 在此处输入10, 线程数切勿输入得过大, 不然会给出错误提示。
然后通过猜测我们得到了相应的表名:admin、bbs
结果:

猜测表中的列名
晓得了数据库里头表的名字, admin、bbs , 正常情形下, 用户名以及密码是存于admin表里边的, 故而我们采用猜测admin表中的列名手段。
C盘下的Lib文件夹里的site - 路径下, 执行.py文件, 使用 -u参数, 跟随":58031/bbs/show.asp?id=351", 同时使用 --参数, 指定 -T为"admin"。
结果:

在admin表里头, 有这么两个字段是存在的, 如此一来, 请留意, 如果能够猜测出该列当中的内容, 依此便可得到admin的登录用户名了, 还有密码也能获取到。
假设列内的内容是, C:\\Lib\site - sqlmap> , .py , 减去 u参数值为":58031/bbs/show.asp?id=351" 操作下 , 携带两个指定的值, 一个是dump行动下 , 另一个是针对T参数设置为"admin" , 再另一个又是针对C参数设置为空字符串""。
结果:

看到用户名是admin, 密码是12345等等, 我用admin, 用12345, 去测试看看。
验证结果
结果是验证成功的,测试结果如下:
总结
这仅仅是一回模拟性质的测试, 借助对网站用户名以及密码予以破解, 当然后续你能够凭借上传之类的手段, 获取到主机的控制权限, 这属于后面要说的事, 最终放置一段涵盖全部内容的操作记录动画。