实战 | 记一次PII 数据泄露和1500 美元的赏金
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
关于私有程序信息泄露漏洞的阐述。
谷歌黑客语法:
inurl:responsible disclosure
使用上面这个语法搜索,让我获得了一个私有程序的列表。
子域名挖掘
为了开始我的安全测试,我首先使用Subfinder来识别与目标域关联的任何子域名。
我使用了各种其他工具,包括 GitHub 扫描和证书扫描,以尽可能多地收集有关目标网络环境的信息。
最后,我使用自己的字典对目标进行静态和动态暴力破解,这让我总共发现了 42 个子域名。
一旦我对目标的网络环境有了更好的了解,我便开始探索该网站的主要功能点。
在浏览该网站时,我发现了一个注册按钮,它指向一个用户面板,用户可以在其中创建一个帐户并输入他们的个人信息,包括他们的姓名、电子邮件、电话号码和个人资料详细信息。
第一种情况
我尝试的第一个场景是在没有验证的字段上尝试XSS payload,例如名称字段。我尝试了几次,但不幸的是,这种情况没有产生任何结果。
这是我试图弹出警报的payload。
第二种情况
接下来,我尝试上传一个 shell而不是个人资料图片。为此,我创建了一个PHP 文件并echo 1在其中写入。然后我尝试用content-type: image/png. 我注意到一件有趣的事——文件上传成功。我很快找到了照片的路径,并在终端中使用 curl 检查我的文件中的代码是否被执行。不幸的是,我发现代码并没有被执行,这让我感到很失望。
我尝试了各种策略来通过更改内容类型来上传我的文件,但唯一支持的内容类型是“图像”。我什至尝试将文件扩展名更改为“phar”或“php5”,但这些尝试也失败了。
第三种情况
启动架构允许用户为他们的账户定义一个或多个公司并输入他们的信息,使他们能够通过启动想法来操作它们。每个用户都分配了一个 ID,表示为u_wdobhREkbf。同样,每个公司也有一个ID,是c_z8zI6a4unp。ID 之间的唯一区别是用户 ID 以“u”开头,而公司 ID 以“c”开头。这种区别在初创公司架构的背景下是有意义的。
我尝试的第三个场景是IDOR(不安全的直接对象引用)。在公司工作期间,我没有注意数据库中对象之间的关系,也忘记了包括检查从对象中检索的引用是否与用户相关的验证。为了测试漏洞,我创建了另一个账户并填写了公司信息以获取公司ID。
接下来,在以我以前的用户身份登录时,我编辑了我的个人资料,并将公司 ID 替换为我之前创建的公司的 ID。令我惊讶的是,我收到了一个包含 SQL 查询错误的响应 API。我注意到在尝试使用重复的电子邮件创建另一个帐户时会触发类似的 API。
虽然我尝试的第三种方案最终失败了,但它给了我很大的动力。API 返回了一个 SQL 查询错误,这让我感到震惊,这在正常情况下是不会发生的。
我最初对尝试SQL 注入方法很感兴趣,但我很快发现这家初创公司已经为其所有领域实施了准备好的语句,使其免受 SQL 注入攻击。
最后一种情况
由于站点上有两个用户,我决定使用一个返回用户信息的端点来测试站点的访问控制,以查看一个用户是否可以访问另一个用户的信息。我获取了另一个用户的 ID 并输入了它,急切地想看看会发生什么。
我的发现令人惊讶。
访问用户信息端点后/main/api/v1/users/
- 上一篇:『代码审计』记一次 Java 代码审计
- 下一篇:记一次对某企业的渗透测试