在一次渗透中学会编写Tamper脚本

admin 2026-01-23 12:24:43 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录了一次渗透测试中SQL注入过滤的绕过过程。作者发现存在漏洞但被拦截,利用MySQL内联注释成功绕过并解释了版本号逻辑。针对Sqlmap无法自动识别的问题,详细演示了编写自定义Tamper脚本实现自动化攻击,建议掌握内联注释用法及脚本编写以应对复杂环境。 综合评分: 86 文章分类: 渗透测试,WEB安全,漏洞分析,安全工具,实战经验


cover_image

在一次渗透中学会编写Tamper脚本

标准云 标准云

蚁景网络安全

2026年1月22日 17:34 湖南

拿到这个网站,通过对比查询,我们发现

闭合参数 finsh 时,查询出的内容更多

经过进一步判断,确实存在漏洞

不过在测试的时候发现存在一定的过滤

但是可以通过内联注释进行绕过。

这里也是加深了解了内联注释的知识点,之前只会简单的利用 /*!50000UniON SeLeCt*/ /*!12345union*/ 不知其所以然,有这样一段解释,在 mysql 中 /*!...*/ 不是注释,mysql 为了保持兼容,它把一些特有的仅在 mysql 上用的语句放在 /*!...*/ 中,这样这些语句如果在其他数据库中是不会被执行,但是在 mysql 中它会执行。当!后面接的数据库版本号小于自身版本号,就会将注释中的内容执行,当!后面接的数据库版本号大于等于自身版本号,就会当做注释来处理。如下语句 /*!50001UniON SeLeCt*/ 这里的 50001 表示假如数据库的版本是 5.00.01 及其以上版本才会被使用。这里我们会产生一个疑问,数据库的版本也不仅仅是五位数字,也存在四位,甚至于三位,应该是会进行处理 5.7.23 也对应着 5.07.23

我们首先查询出数据库的版本信息

当前面的数字为 50723 及小于这个数的五位数字组合都可以利用成功

当前面的数字为 50724 及大于这个数的五位数字组合无法利用成功

我们已经手工验证过了存在 SQL 注入漏洞,但是却无法利用 sqlmap 识别出联合注入,是因为存在检测,需要内联注释进行绕过

我们需要编写一个Tamper脚本

我们打开 sqlmap-master\tamper 下的一个文件 htmlencode.py 我们看到就是一个查找替换的操作

我们目前已经知道需要利用内联注释来实现绕过检测的操作

我们修改代码

import re

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW

defdependencies():
    pass

deftamper(payload, **kwargs):
    """
    HTML encode (using code points) all non-alphanumeric characters (e.g. ' -> ')

    >>> tamper("1' AND SLEEP(5)#")
    '1'/!*00000AND SLEEP(5)*/#'
    """
    if payload:
        replaced_text = payload
        replace_code = re.search(r"'(.*?)(#|--)", payload)
        if replace_code:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;replaced_text = re.sub(r"(?<=')(.*?)(?=#|--)",&nbsp;r"/!*00000\1*/", payload)

&nbsp; &nbsp;&nbsp;return&nbsp;replaced_text

成功生效


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:蚁景网络安全 标准云 标准云《在一次渗透中学会编写Tamper脚本》

利用数字签名增强杀毒效果 网络安全文章

利用数字签名增强杀毒效果

文章总结: 文章提出用数字签名构建‘白库’,把可信签名文件提前标记为正常,显著缩小待检样本量,降低误报与运营成本;并给出四层白库建设路径:签名可信链、相似度聚类
评论:0   参与:  0