栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Sqlmap Tamper编写

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Sqlmap Tamper编写

Sqlmap Tamper编写

Sqlmap Tamper是sqlmap可以调用的脚本,已进行对payload的修改,如:双写、替换空格、编码等。

sqlmap可以使用--tamper调用,编写使用Python。

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOWEST

def dependencies():
    pass

def tamper(payload, **kwargs):
    return payload

以上是一个最简单的tamper示例,简单到没有对payload进行任何更改。

这段脚本有四个部分:

  1. 导入所需的库

    此处导入了sqlmap中的enums中存储优先级常量的PRIORITY

    也可以导入sqlmap中其他的库,提供了很多封装好的函数和数据等。但是我对其自带的库并不熟悉,所以我大多会选择不引入其他的库而是自己编辑,除了下面的:

    from lib.core.common import singleTimeWarnMessage
    from lib.core.enums import DBMS
    

    分别是用以输出到sqlmap控制台的函数和一个数据库的枚举

  2. 设定一个优先级

    优先级的设定是改变__priority__的值,可以是:

    • LOWEST = -100
    • LOWER = -50
    • LOW = -10
    • NORMAL = 0
    • HIGH = 10
    • HIGHER = 50
    • HIGHEST = 100
  3. def dependencies()

    该函数用以申明脚本所支持或不支持的环境,当然也可以用作提示,如:

    def dependencies():
        singleTimeWarnMessage("这是我的tamper提示")
    
  4. def tamper(payload, **kwargs):

    该函数是tamper最重要的部分,第一个参数接收传入的payload,后一个则是其他参数,稍后会说。

    payload的类型是字符串,所以可以像操作普通字符串一样操作它。

    **kwargs传入的将会是一个字典,内容为空:

    {'headers': {}, 'delimiter': '&', 'hints': {}}
    

    可以调用singleTimeWarnMessage输出信息。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号