美文网首页
用python实现接口测试(五、SQL注入神器sqlmap)

用python实现接口测试(五、SQL注入神器sqlmap)

作者: keitwo | 来源:发表于2018-01-03 20:33 被阅读413次

    前提

    sqlmap是基于python2.x进行开发的,所以要使用sqlmap请先安装python2,建议安装python2.7.x系列。Python3.x未尝试过,有兴趣的童鞋可以自己搞

    一、sqlmap简介

    1.sqlmap官网:http://sqlmap.org/

    2. 什么是SQL注入

    SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的应用,比如将恶意的SQL代码注入到特定字段用于实施拖库攻击等。SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有经过正确地过滤(针对某些特定字符串)或者没有特别强调类型的时候,都容易造成异常地执行SQL语句。SQL注入是网站渗透中最常用的攻击技术,但是其实SQL注入可以用来攻击所有的SQL数据库。

    3.下载安装方法:https://github.com/sqlmapproject/sqlmap/tarball/master

    二、sqlmap基本用法和命令行参数

    基本用法和命令行参数及目录列表

    三、sqlmap所有用法和命令行参数

    所有用法和命令行参数

    四、sqlmap示例

    检测SQL注入点:SQL注入点可以通过扫描软件扫描,手工测试以及读取代码来判断,一旦发现存在SQL注入,可以直接进行检测,如下图所示

    1.获取当前数据库信息:我们对一个目标mysql来一个简单的命令(注,请使用你自己搭建的测试mysql服务,安装步骤等请见上一篇文章)

    输入指令:python sqlmap.py -d "mysql://用户名:密码@localhost:端口号/user" -f --banner --dbs --users

    sqlmap注入结果

    2.获取当前数据库表

    输入指令:python sqlmap.py -d "mysql://用户名:密码@localhost:端口号/user" -D 数据库 --tables 

    获取数据库表

    3.获取当前使用sqlmap的硬件设备名

    输入指令:python sqlmap.py -d "mysql://用户名:密码@localhost:端口号/user" --hostname

    获取当前使用sqlmap设备名称

    更多关于sqlmap注入神器的操作请移步至https://github.com/sqlmapproject/sqlmap/wiki/Usage。欢迎大家一起学习交流。--我就是keitwo

    相关文章

      网友评论

          本文标题:用python实现接口测试(五、SQL注入神器sqlmap)

          本文链接:https://www.haomeiwen.com/subject/lmmfgxtx.html