SQL注入漏洞测试入门
- Sqlmap获取
在学习sqlmap之前先复习一下SQL注入漏洞
- sql注入的成因是因为服务器要执行的数据库代码拼接了用户输入的数据
- sql注入漏洞的典型危害是可以被用来获取数据库敏感数据(拖库)
那么我们如何方便地检测和利用注入漏洞呢?
神器——sqlmap(给予Python2.7的,命令行模式的软件)
命令行工具:
- 只需关注输入和输出
- 可以看到流程化的执行细节
Sqlmap是一款开源的sql注入漏洞检测与利用神器,没有之一
软件获取:http://sqlmap.org(官网下载)
Sqlmap.py(主程序,初学者只需要关注这个就可以了)
打开命令行(win+r,输入cmd)→输入sqlmap.py(输入的时候可以使用tab键自动补全)
- 基本流程及用法
找到有数据库交互的页面功能
判断页面是否存在sql注入
利用sql注入漏洞读取数据
导出所需数据保存
(以上四个步骤都是可以用工具来完成的)
为何sqlmap被称为神器?
- 支持数据库:MySQL、oracle、postgresql、Microsoft SQL server、Microsoft access、IBM DB2、sqllite、firebird、sybase、SAP max DB、HSQLDB and informix
- 支持的参数位置:get、post or cookie parameter or via the HTTP user-agent ruquest header
Sqlmap基本语法
-h 调出帮助菜单
- 实战
如何判断一个注入点?
命令:Python sqlmap.py –u “目标URL”
Sqlmap文件夹里面:doc里面是用户使用文档、txt里面是一些字典、xml里面是一些供给在和
注入点判断到数据获取我们都是在测试站点进行的。
在实际环境中,确定注入点以及基本信息就可以了,千万不要因为自己的一时冲动为自己带来不必要的麻烦,尤其是涉及到敏感数据的时候
总结
- sqlmap获取
- sql注入流程与基本用法
- 实战案例
作业
- 下载和运行sqlmap
- 参考实战案例进行注入尝试:get、post
- 思考:了解sqlmap中level和risk参数的作用
- 如果感兴趣还可以试试其他的经典的sql注入工具:
啊D、明小子、pangolin(穿山甲)、havij(胡萝卜)等(需要注意的是,这些软件有一些已经停止更新了,所以可能找不到官网,安全性无法验证,所以建议在虚拟机或者沙箱中运行)
野兔
2019.2.24