通过直接访问Andpoint来窃取用户的PII信息
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
文章来源:EDI安全 1.介绍 窃取用户的PII并不是什么新鲜事,有很多方法可以获取用户的PII,例如使用XSS,IDOR,API endpoint公开以及许多其他方法。 但是,通常仅通过观察API endpoint行为就可以测试我要讨论的编写方案。在这种情况下,只需访问API endpoint,任何用户的个人信息都可以存储在其他API endpoint中。 2.说明 在关于H1的一个私人程序中,工作人员可以在其中向任何客户发送“下订单”功能。他们可以通过将电子邮件或二维码发送给客户来获得必要的详细信息。 客户收到链接进行付款后,他们访问该链接,例如 payment-na.examle.com/0811ebf4-d7d0-ba31–9ce68648a5a9 并填写必要的详细信息。 在Burp套件上拦截请求,并显示POST方法中的API endpoint,将详细信息保存到该endpoint。 3.请求 4.响应 表格填写完毕后,就完成了 在使用POST方法期间 Payments-na.example.com/na/customer/client/v1/session/002420e4-e031–47aa-8d94–6f7c40c248c7。 所有信息已存储,付款并完成。 5.开发部分 从另一个用户的门户或攻击者的角度来看,我们具有不同的门户区域,就像上面的类似方法一样,他们可以使用“下订单”功能并获得付款链接 payment-na.examle.com/fa5daba4-5d50-8f80–9eb1-ebia3ea6d665。 在这种情况下,只需填写表格,在拦截选项卡区域拦截请求,在 “ payment-na.example.com/na/customer/client/v1/session/xxxx” 上获取POST请求,获取生成的API endpoint,然后删除请求,以便我们不提交它,并且它仍然是最新的。 提取的API 从客户那里获得的信息为 “payment-na.example.com/na/customer/client/v1/session/96afd42f-4281–4529–9b8c-3ba70b0f000b” 在对该endpoint进行进一步测试之后,也可以使用浏览器上的GET方法来使用此endpoint,下面是获取的API endpoint的屏幕截图。 如我们所见,尚未添加任何PII,参数上为空白。 现在,获取此API endpoint并将其发送给其他用户,他们已完成其订单的详细信息。受害者单击此API endpoint后,将复制先前已存储PII的API endpoint所有PII信息。 (/na/customer/client/v1/session/002420e4-e031–47aa-8d94–6f7c40c248c7) will be copied to this API endpoint — “/na/customer/client/v1/session/96afd42f-4281–4529–9b8c-3ba70b0f000b”. 在受害者单击此API endpoint之后,这是在此endpoint上复制的PII数据(从受害者的角度来看): 从攻击者的角度来看,只需以隐身模式访问给定的API endpoint,我们就可以在endpoint上看到复制的详细信息,其中包括受害者的电子邮件ID,地址等(PII)。 6.补丁工作 团队删除了GET方法,将其严格限制为POST方法,并在上述POST方法请求中添加了授权令牌标头,每次在服务器上对其进行身份验证时,都将添加该令牌。 删除了在复制PII攻击中使用的上述API endpoint的方案。 7.关键点 1. 在API endpoint的不同方案上可以观察到不同的行为,观察它并深入挖掘,以创建一个场景,进一步说明如何开发此情况以及在何种情况下可以对其进行利用。 2.在这种情况下,攻击者的API endpoint已针对受害者的API endpoint进行了正确的身份验证,因为没有授权令牌标头检查,该检查允许服务器将PII详细信息复制到另一个新的API endpoint。