我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?

admin 2022年1月6日04:29:21评论74 views字数 1258阅读4分11秒阅读模式

我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?


我是网络安全研究员Prashant Singh。这是我的第一个漏洞赏金文章。只是我对社区的一小部分贡献

我不能透露漏洞赏金计划的名称,因此在这种情况下,它会被称为 redacted.com。该网站使用基于 cookie 的身份验证和授权机制来验证服务器端的合法请求。

我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?

敏锐地观察 cookie 中存在的参数。存在用户身份参数“c=1234567”。整个细微差别都围绕着相同。


我做了什么?

几乎每一个E-CO米多做贡献的网站有一个部分,用户可以添加/删除/更新他们的地址。该地址反映在以下两个端点上。

  1. 在用户个人资料部分(https://www.redacted.com/profile/address)

  2. 在清除购物车项目的同时完成订单的最后步骤。(https://www.redacted.com /checkout/adv/address/view) —一个隐藏的 JSON 端点。

开发人员通常更多地强调对用户来说很容易实现的端点。因此,没有发现第一个端点的运气,因为它是安全可靠的。


继续第二个端点,尝试更改 customer_id,但没有奏效。此外,尝试过参数污染,但没有奏效。

后来我试图找出网络服务器验证会话请求的依据。

根据我的调查,redacted.com 通过 cookie 使用以下参数验证会话:-

  • ud=XXXXXXX;

  • c = CUSTOMER_ID;

  • XSSRF-TOKEN= XXXXXXXX;

  • sessid = XXXXXXXXXX;

GET /checkout/adv/address/view HTTP/1.1

但是在以下端点上,它变得非常棘手。如果我们删除“ sessid ”和“ XSSRF-Token ”参数,然后将任何请求发送到服务器,它会将其视为有效请求并获取请求的内容。


因此,如果我在对受害者的客户 ID 的请求中操纵攻击者的客户 ID 参数。Web 服务器将获取受害者个人帐户详细信息的内容。


注意:Web 服务器会验证“Ud”参数是否存在,但不会验证“Ud”参数的内容。

因此,发送到服务器的最终请求如下所示:

我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?

最终回应

响应 JSON 数据与很长的 HTML 元素混杂在一起,因此无法清楚地看到 PII 数据。但是,我在下面附上了从上述回复中检索到的个人数据的干净形式。

我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?

从响应中提取的 PII 数据

请注意 CSRF_token 的存在,现在事情会很有趣。到目前为止,我只能读取其他人的私人数据,但无法写入。这是我如何找到方法的。

我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?

地址部分

存在编辑/更新地址的功能。发送到服务器的 post 请求由与上述相同的 cookie 组成。所以没有任何进一步的延迟,我用受害者的 customer_ID 操纵了 cookie。但是没有用!!!!


后来我意识到这次授权不是基于cookie的。它基于更新地址时在 POST 请求中传递的 CSRF-token 的值。


请注意,我已经拥有受害者的 CSRF 令牌。因此,我替换了令牌并更新了受害者的详细信息。


因此,通过这种方式,我可以远程读取/写入近 300 万用户的个人数据。我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?



END

我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?


本文始发于微信公众号(网络侦查研究院):我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日04:29:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   我如何找到对电子商务网站 300 万用户个人数据的读/写访问权限?http://cn-sec.com/archives/465405.html

发表评论

匿名网友 填写信息