如何绕过电子邮件格式过滤进行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

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-09-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

Java 虚拟机对锁优化所做的努力

作为一款公用平台,JDK 本身也为并发程序的性能绞尽脑汁,在 JDK 内部也想尽一切办法提供并发时的系统吞吐量。这里,我将向大家简单介绍几种 JDK 内部的 "...

8320
来自专栏架构之路

spark 2.3 导致driver OOM的一个SparkPlanGraphWrapper源码的bug

长话短说,我们部门一个同事找到我,说他的spark 2.3 structured streaming程序频繁报OOM,从来没有坚持过超过三四天的,叫帮看一下。 ...

14420
来自专栏walterlv - 吕毅的博客

合并 Jekyll 多种类型的页面

发布于 2017-10-12 15:48 更新于 2018-08...

11920
来自专栏SDNLAB

Ryu的一些设计方法解读

作为一个业余研究Ryu的软件工程师,一直惊叹于Ryu设计的优雅与简洁。一年多坚持下来,也有自己的一些收获,写出来和大家分享一下。 我们的故事从@set_ev_c...

32960
来自专栏Golang语言社区

Golang使用pprof监控性能及GC调优

作者:峰云就她了 链接:http://xiaorui.cc/?p=3000 來源:个人博客

46430
来自专栏优启梦

渗透测试中的域名伪装原理

今天在《网络渗透测试--保护网络安全的技术、工具、过程》一书中看到了一个关于对恶意链接进行域名伪装的方法,以前从不知道的一个方法,特此记录下来:

22650
来自专栏coding for love

JS常用设计模式解析02-策略模式

在于都本文之前,希望大家能够先阅读以下JS进阶系列03-JS面向对象的三大特征之多态这篇文章,了解JS的多态。在这篇文章,我们举了一个例子,就是选拔官员选拔合唱...

13630
来自专栏加米谷大数据

Python连接Hive操作数据库

客户端连接Hive需要使用HiveServer2。HiveServer2是HiveServer的重写版本,HiveServer不支持多个客户端的并发请求。当前H...

97220
来自专栏章鱼的慢慢技术路

《算法图解》第五章笔记与课后练习_散列函数与散列表

19050
来自专栏java达人

说说JSON和JSONP( 含jquery例子)

说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义...

31450

扫码关注云+社区

领取腾讯云代金券