int(1111) int(1111) sqlmap Tamper脚本编写 | 绝缘体

sqlmap Tamper脚本编写

 
更多

sqlmap Tamper脚本编写

前言

sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。采用五种独特的SQL注入技术,分别是:

  • 基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
  • 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
  • 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
  • 联合查询注入,可以使用union的情况下的注入。
  • 堆查询注入,可以同时执行多条语句的执行时的注入。

sqlmap是渗透测试中判断sql注入的神器,但是sqlmap不会绕过一些过滤(比如过滤and),也不会绕过安全狗等WAF。为了让sqlmap更加方便(为了让自己偷懒不用手动写python脚本sql 注入)—–>sqlmap提供了tamper

tamper内置了很多绕过功能(比如替换双引号 在括号前增减内联注释) 下面就是tamper文件夹中对应的模块。

tamper格式介绍

tamper文件夹下的所有python文件都满足以下格式

import re
from lib.core.enums import PRIORITY

__priority__ = PRIORITY.HIGHEST

# 对当前脚本的介绍(不用管)
def dependencies():
    pass


# 对payload进行处理(知识举个例子 payload将空格变成/**/ 将union变成UnIoN)
def tamper(payload, **kwargs):
	payload = payload.replace('union', 'UnIoN')
    payload = payload.replace(' ', '/**/')
    return payload

编写完成后放到tamper文件夹下 sqlmap就可以直接使用

sqlmap -u "xxxxx" --tamper "xxx.py,yyy.py" # tamper可以有一个或多个py文件

遇到sql注入的问题直接使用sqlmap是没有灵魂的,但是如果经过手动判断,自己编写了tamper之后再用sqlmap那就是有灵性的( ͡°ᴥ ͡° ʋ)( ͡°ᴥ ͡° ʋ)( ͡°ᴥ ͡° ʋ)。

打赏

本文固定链接: https://www.cxy163.net/archives/5218 | 绝缘体

该日志由 绝缘体.. 于 2025年10月25日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: sqlmap Tamper脚本编写 | 绝缘体
关键字: , , , ,

sqlmap Tamper脚本编写:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter