如何绕过电子邮件格式过滤进行SQL注入
在此之前先给大家讲个冷笑话。这篇文章原文乍一看是英文的,但仔细一看我就懵了。没错!它并不是英文,而是印度尼西亚文。还好内容并不多,不然还不得吐血~
—— 小编日常懵比
前不久,我加入了一家印度尼西亚金融科技公司的bug赏金计划。经过一番测试,我在“忘记密码”功能中找到了一个电子邮件输入框。依据经验,我开始尝试以下输入。
首先,我尝试了不带空格的输入:
a@a.com=>有效
“a”@.com =>有效
然后,尝试了带空格的输入:
dimaz arno@test.com =>无效
“dimaz arno”@test.com =>有效
从以上结果我们可以看出,当地址中出现空格将会被过滤,而加了双引号就会被认为是一个完整的字符串则为合法。这符合会话中的RFC 3696邮件检验标准。
但字符 “(“ 和 “)”并不会被阻止,这对于构造sql注入payload非常“有用”。
以下为测试所用payload列表:
通过枚举最终确定数据库字符长度为10。
总结
当你在测试中碰到了一些限制特殊字符的电子邮件过滤器,你可以像我一样尝试在@符之前添加双引号,这可能会帮你绕过过滤机制。
格式如下:
“injection_here”@email.com
例如:
“<script src=//xsshere?”@email.com
“1-’or’1'=’1”@email.com
最后,祝你好运!
*参考来源:medium,FB小编 secist 编译,转载请注明来自FreeBuf.COM
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐