在第一
篇在codeby上发表的
文章进入了本周排名前三的出版物之后,我非常有动力写下一篇。 但是11年级对自由时间准备考试和奥林匹克竞赛施加了限制。 因此,我在
飞出所有奥运会后的几个月后才写出第二张。
该出版物将讨论一个有趣的案例,即在一种资源上发现的漏洞需要在其他多个站点上找到它们的链条。
开始
一切始于检查一家主要锻造产品制造商的所在地。 用户的个人帐户不在那里,漏洞搜索范围也不是很大。
测试订单提交表单时,发现了许多漏洞。
首先,这是一个相当标准的存储在买方数据中的XSS,并以此纠缠不休。 XSS是标准的,cookie上缺少“ httponly”标志显然不是标准的。 很多时候,我从各个站点收到cookie,但是我从未获得授权,而且我开始怀疑自然界中有些站点没有使用“ httponly”标志,因为使用它会大大降低XSS攻击的风险。 在一家大公司的网站上遇到这样的事件更加令人惊讶。 但是,事实证明,允许进行监督的服务比我预期的要大得多。 但是之后会有更多。
我替换了收到的cookie,并登录到站点系统的crm帐户(我无法抗拒,这是我第一次很幸运)。 该权限不是管理员,但足以访问订单的任何统计信息,包括 和客户数据。

我制作了屏幕截图以证明存在漏洞,并发送了报告。 一个多星期过去了,我不再等待答案。 据统计,如果三天之内未回答您,您可能会忘记它们。 但是八天后,一个意外的答案来了。 甚至更多,他们是第一个为发现的漏洞付钱给我的人。

回到测试订单提交表单,我还发现了一个iDOR漏洞,该漏洞使您可以通过编辑POST请求domain.ru/shop.php中的参数“ json_order [0] [price]”和“ json_order [0] [total]”来更改订单价格。 。 将订单链接替换为json_order [0] [href]字段中的同一请求导致了RFI。
未收到有关新发现的消息的回复...
延续性
在那个crm站点上,该系统并非是自写的,而是由一项众所周知的服务提供的。 在他们对Cookie进行错误处理之后,合理地假设还会存在其他漏洞。
如果我通过订单发送的脚本有效,则在所需站点和crm系统中都没有字段验证。 2倍 因此,在收到试用帐户后,我首先搜索易受xss影响的字段。
经过广泛的crm系统漫长的旅行之后,发现了十几个验证不充分的字段。 在某个位置,您可以直接插入script标记,而在该位置,您必须使用类型为“ onmouseover = alert()”的嵌入式脚本。 此外,在某些地方可以嵌入脚本,但是在某些地方,我想知道它们遵循什么逻辑,在某些地方而不是在其他地方添加过滤? 从字段的逻辑目的来看,我没有看到任何模式。 在某些地方,几乎每个人都不会走,但一切正常,但是,例如,他们没有费心在对方的名字上添加过滤条件。
大多数弱势领域无法受到外部影响。 员工只能使用它们来增强他们在系统中的权利,这也很重要。
xss结束了,可以传递更多有趣的东西。
以前,我从来没有寻找过CSRF漏洞,我测试过的网站不在使用网络钓鱼的类别中。 因此,我不想打扰自己或那些永远不会对自己使用的漏洞的网站所有者。 情况截然不同。 这种crm系统很受欢迎,大型在线商店也使用过该系统,此外,还可能连接零售离线点的收银处,这使安全问题变得更加重要。
令人惊讶的是,没有针对CSRF的保护措施。 可以发送任何请求,但未在任何地方进行检查。
-更改帐户信息? -请
-更改商品名称和价格? -没问题
同时,cookie包含称为“ csrftoken”的东西。
然后我仍然想,将csrf令牌放入cookie的意义何在? 在谷歌搜索中,我发现有一种相当方便的方法,可以在cookie中使用令牌来防止csrf并在发布请求中复制它,而无需在服务器上存储令牌。 更多细节
在这里 。
但是在我们的情况下,仅完成了一半的工作,令牌被放置在cookie中,并且对服务器的请求中却没有令牌。 更重要的是,将其从Cookie中完全删除并没有改变任何内容。 为什么要添加?
结合发现的csrf,我们以前无法从外部访问的xss获得了第二次生命。 毕竟,我们无需进入帐户即可编辑易受攻击的字段。
另外,通过替换文件的mime类型,可以将任意文件上载到服务器。 但是服务器配置正确,并且未在其中执行php脚本。
更有趣。 有关在线商店的商品的所有数据均来自crm。 即 名称,说明,照片。 指向产品图片的链接为“ yyyy.domain.ru/file/get/id=xxx”。 为了使在线商店能够拍摄图像,它们必须对所有人都有阅读权。 122。
检查了其他更多私人文件的存储路径后,我看到了相同的URL。 似乎不足为奇,它们可能还有其他访问权限。 绝对不低于022。 但是,事实证明情况稍有不同,未经授权的用户也可以免费访问。
-您是否已请求将订单数据导入exel文件中? -太好了,现在任何人都可以下载它。
也许那里的id看起来像“ yt5bjFb54hb#HJ%$ p”并且没有屈服于暴力? 也不行 所有id文件都具有数字格式,范围在数千个范围内。 保护免受野蛮,我也没有注意到。 从1到10000的所有ID扫描完所有障碍物后均未遇到。 再重复几次,没有人对这种活动感兴趣。
他们在三天内回答了我的报告。
关于缺少标志,httponly说它丢失了“很早以前,因为php版本已更新。” 当天开启。
根据xss,他们说每个人都知道过滤器是在夏季初(当时已经是8月)关闭的,这当然不能解释为什么在某处而不是某处进行了过滤,但是我们假装我们没有注意到这一点。不一致。 他们还保证该过滤器将在几天内启动。 实际上,事实证明,几个月后。 但是,我在这里非常理解它们:然后我还计划在几天之内开始为考试做准备...
将任意文件上传到服务器并不关心它们,因为它们不在服务器上执行,这意味着无需担心。 仅在撰写本文时,我才知道如果一个不在crm之外的主机上的站点正在尝试为店面拍摄产品图像,但收到php脚本,它将执行它吗? 还是由于它是用于img标签的事实,将其仅作为图像处理吗? 还是取决于服务器设置? 请回答有知识的人。
事实证明,对csrf报告的回应非常有趣。 他们回答了一个问题:“您认为用来保护CSRF攻击的令牌是什么?” 真的,我在说什么?

他们说免费访问他们没有考虑到的任何文件。 立即关闭。
我必须说,这是我真正期望获得现金奖励的唯一时间。 该网站很大,除了crm之外,还没有一个付费项目。 热门在线杂志。 但是他只得到口头上的感激。
我必须感谢他们,我对付款问题变得更加镇定。 为了任何形式的感恩而努力,最终都将一事无成。 您将习惯于任何称赞和其他荣誉,而它们将不再带来满足感。 如果您为他们所做的一切,那么做某事的意义就会消失。 而且,您不会失去活动过程中的乐趣,解决新问题,创造新事物。 为了工作而努力,不管听起来多么陈旧。 在工作中您不会注意到时间的流逝,太阳不仅设法超越地平线,而且还因此而升起。
'''
我们对小满意,对幸福不等于大钱
“做自己喜欢的事”-在我们的圈子中受到赞赏
'''©Kolya Manyu-每天
结局
在先前站点的技术支持中,使用了第三方票务接收系统UserEcho。 我没有不检查它。 当然,在梦中,有可能获得阅读任何私人门票的机会。 自然,我没有成功。 我必须满足于一点点。

在测试使用票证的api时,最初没有发现异常,没有权限不去调查别人的权限。 但是,经过对该网站的进一步研究,结果发现开发人员犯了一个小缺陷。
在概要文件中,您可以找到有关管理票证的部分,其中指示您已预订或先前已预订的票证。

如果我们发送取消订阅其他人门票的请求,则会如预期的那样通知我们,我们无权执行此操作。 但同时,它也被包含在我们的门票清单中,这是我们之前订购的门票之一。 因此,我们有机会找出其名称和格式为“ ticket_name_name_in_translate”的网址。 当然,这种伤害没有任何危害。 在极少数情况下,有可能从名称中学习一些重要且有价值的东西。 但这总比什么都不做要好。
几周后,该错误已修复。
我感谢读到最后的每个人!