联系我们联系我们
电子邮箱电子邮箱

如何绕过电子邮件格式过滤进行SQL注入

[复制链接]
  • TA的每日心情
    奋斗
    4 天前
  • 签到天数: 67 天

    [LV.6]常住居民II

    知秋一叶 发表于 2018-9-14 09:46:22
    1464 0


    在此之前先给大家讲个冷笑话。这篇文章原文乍一看是英文的,但仔细一看我就懵了。没错!它并不是英文,而是印度尼西亚文。还好内容并不多,不然还不得吐血~                                                                                                                          

    —— 小编日常懵比


    前不久,我加入了一家印度尼西亚金融科技公司的bug赏金计划。经过一番测试,我在“忘记密码”功能中找到了一个电子邮件输入框。依据经验,我开始尝试以下输入。


    首先,我尝试了不带空格的输入:

    a@a.com=>有效

    “a”@.com =>有效

    然后,尝试了带空格的输入:

    dimaz arno@test.com =>无效

    “dimaz arno”@test.com =>有效


    从以上结果我们可以看出,当地址中出现空格将会被过滤,而加了双引号就会被认为是一个完整的字符串则为合法。这符合会话中的RFC 3696邮件检验标准。


    1536279971_5b91c5a32bda8.jpg


    但字符 “(“ 和 “)”并不会被阻止,这对于构造sql注入payload非常“有用”。


    1536279986_5b91c5b2e27d3.jpg


    以下为测试所用payload列表:


    1536280000_5b91c5c021447.jpg


    1536280001_5b91c5c1afdc4.jpg


    1536280001_5b91c5c1632eb.jpg


    通过枚举最终确定数据库字符长度为10。


    总结

    当你在测试中碰到了一些限制特殊字符的电子邮件过滤器,你可以像我一样尝试在@符之前添加双引号,这可能会帮你绕过过滤机制。

    格式如下:

    injection_here”@email.com

    例如:

    “<script src=//xsshere?”@email.com“1-’or’1'=’1”@email.com

    最后,祝你好运!


    *参考来源:medium,FB小编 secist 编译,转载请注明来自FreeBuf.COM

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    发表新帖

    小黑屋|手机版|Archiver|华盟论坛 ( 京ICP证070028号 )

    Powered by 华盟网 X 8.0  © 2001-2013 Comsenz Inc.  华夏黑客同盟