搜索
查看: 1420|回复: 1

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

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2018-9-10 15:12:11 | 显示全部楼层 |阅读模式

原文链接:http://www.freebuf.com/articles/web/183516.html


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

—— 小编日常懵比

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

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


a@a.com=>有效

“a”@.com =>有效

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

dimaz arno@test.com =>无效

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

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

[/url]

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

[url=http://image.3001.net/images/20180907/1536279986_5b91c5b2e27d3.png]

以下为测试所用payload列表:

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

总结

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

格式如下:

injection_here”@email.com

例如:

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

最后,祝你好运!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?Join BUC

x
过段时间可能会取消签到功能了

0

主题

26

帖子

136

积分

我是新手

Rank: 1

积分
136
发表于 2018-9-12 18:35:35 | 显示全部楼层
学习了               
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表