bugbounty:文件上传——基于时间的SQL盲注
2019-07-14 11:08:00 Author: xz.aliyun.com(查看原文) 阅读量:134 收藏

原文链接:https://jspin.re/fileupload-blind-sqli/

这将是一篇简短的博客文章和关于Bug Bounties的第一篇文章,我正试图更多地参与这个问题,我正在寻找漏洞我的业余时间和90%的时间在Synack上。

本月初我被邀请参加在HackerOne上运行的私人bug赏金计划,由于一些特殊的原因,我不会在这里告诉公司的名字。

我问了一些朋友,如果他们知道应用程序中有一些他们愿意与我分享的“fishy”区域,那么我自己就会进入这个相同的程序,这就是朋友的意思。

https://twitter.com/reefbr交谈后,他向我发送了一个关键域(范围内)的自注册页面。注册过程没有任何问题,在点击发送按钮后几秒钟,我收到了一封包含访问详细信息的电子邮件。

在用户注册中发现一些问题,在应用程序中找到文件上传功能非常快。文件上传功能很简单,所以我尝试上传一个随机文件,看看应用程序是否有任何安全控制。我发现的限制是:

只接受PDF文件

AV在后端服务器上运行

在浏览上传功能后,我意识到应用程序只验证文件类型扩展名,例如“ filename .pdf ”。我尝试绕过这个验证,我在一些方面取得了

成功,但最终我没有在服务器端达到任何执行,是时候改变策略了。

回到过去,当我作为Penetration Tester履行我的官方日常职责时,我遇到了一个将文件名包含到数据库中的Web应用程序,据我记得那时

我在文件名中有一个Blind(基于时间的)SQL注入参数。那么,为什么不在这个应用程序中测试?

Burp Proxy设置为拦截HTTP请求,然后我点击应用程序中的Upload按钮并将原始filename参数替换为:

注意:我尝试发送没有.pdf扩展名的请求,但应用程序拒绝了。顺便说一下,这是Burp Scanner用于主动测试的相同Payload。

该应用程序在Cloudflare WAF “后面”运行,因此在尝试确认应用程序是否易受攻击之后,我的所有请求都收到了“拒绝访问”消息。

现在是时候回到https://twitter.com/reefbr,向Manoel报告绕过Cloudflare到同一个程序并再次......他告诉了我这件事。

使用@reefbr找到的bypass(配置问题)我确实设法确认SQL注入(最后)。

下面是我的PoC。初步要求如下:

让我们增加sleeping time...

慢慢的增加 sleeping time:

让我们确保分类小组能够理解并能够重现,所以+1进行请求......

这是所有的内容,希望你喜欢。

最后一点,这个私人程序正在处理非常敏感的信息(PII),因此提取任何数据会给程序所有者带来新的问题。考虑到这一点,

我选择使用睡眠Payload继续开发过程,并比较响应时间以证明漏洞。

时间线:

已发送报告

报告分类

已解决的报告(已修复错误)

赏金支付


文章来源: http://xz.aliyun.com/t/5635
如有侵权请联系:admin#unsafe.sh