SQLMAP安装及使用

部署运行你感兴趣的模型镜像

一、前置准备

安装python

下载地址:Download Python | Python.org

安装完成后记得配置环境变量

下载SQLMAP工具包

下载地址:sqlmap: automatic SQL injection and database takeover tool

安装完成后记得配置环境变量

二、验证是否安装成功

步骤1

找到sqlmap最后一层路径输入cmd打开终端命令窗口

步骤2

输入命令:sqlmap

如果有报错则输入:sqlmap.py

还有报错时输入:python sqlmap.py

报错原因:可能是安装了pycharm工具

三、SQLMAP通用功能

1、五种 SQL 注入技术

  • 基于布尔的盲注

        1、寻找注入点

        URL参数: GET请求的查询字符串 product.jsp?id=123,123就是注入点

        表单输入:POST请求中的表单字段,最典型的就是 用户登录框、搜索框、各种信息提交表单

        2、构造payload(简单到复杂的Payload进行试探)

        假设后端拼接逻辑如下:

        -- 这是一个简化的、不安全的SQL语句示例
        String sql = "SELECT * FROM users WHERE username = '" + username_input + "' AND         password = '" + password_input + "';";

        比如登录框:用户名输入admin(用户是真实存在)

        输入一个错误密码

        预期:用户密码不存在

        后端SQL则为:SELECT * FROM users WHERE username = 'admin' AND password =         'any_wrong_password';

        payload 1:注入一个恒为真的条件- 用户名框输入'admin'AND '1'='1'

        密码框随便输入错误的密码

        此时预期:前面为真,密码部分为假AND连接,SQL查询同样会返回0条记录,存在SQL注入:

        Payload 2:注入一个恒为假的条件- 用户名框输入'admin'AND '1'='2'

        如果返回:用户不存在,说明注入成功

  • 基于时间的盲注

        Payload: admin' AND (SELECT SLEEP(5)),点击登录看服务器是否有延迟,如有延迟则存在sql注入

  • 基于错误的盲注

  • UNION 查询、堆叠查询

  • 基于boot的盲注

2、支持直连数据库

四、SQLMAP常用参数

1、指定目标url

python sqlmap.py - u

2、检测post请求注入

python sqlmap.py --data="参数=值"

3、列出所有数据库

python sqlmap.py --dbs

4、指定数据库

python sqlmap.py - d 数据库类型

5、指定表名

python sqlmap.py - t 表名

6、导出表中数据

python sqlmap.py - dump

五、SQLMAP常用命令

1、连接数据库

python sqlmap.py - d  "数据库类型://用户名:密码@IP:数据库端口号/数据库名"

sqlmap更新命令:

python sqlmap.py --update

2、连接目标网址修改参数

请求方式为get:

python sqlmap.py -u "http://地址?参数"

请求方式为:post

python sqlmap.py -u "http://地址 --data="参数1=值1&参数2=值2"

指定数据库类型:

python sqlmap.py -u "http://地址?参数" --dbms=MySQL

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值