挖洞经验 | PayPal未配置恰当的爬虫索引(robots)规则导致的用户敏感信息泄露漏洞
字数 1442 2025-08-18 11:39:08
PayPal/Xoom敏感信息泄露漏洞分析及防护教学文档
漏洞概述
本漏洞涉及PayPal及其子公司Xoom因robots.txt配置不当导致用户敏感信息被Google搜索引擎索引收录的问题。攻击者可通过简单的Google Dork查询技术获取PayPal用户的转账交易信息和Xoom用户的注册信息。
技术背景
robots.txt文件作用
robots.txt是放置在网站根目录下的文本文件,用于告知网络搜索引擎爬虫哪些内容允许或不允许爬取收录。标准格式如下:
User-agent: *
Disallow: /private/
Allow: /public/
noindex标签
防止搜索引擎索引页面的另一种方法是在HTML页面头部添加meta标签:
<meta name="robots" content="noindex">
或针对特定搜索引擎:
<meta name="googlebot" content="noindex">
PayPal漏洞详情
漏洞发现过程
研究人员通过Google Dork技术发现PayPal未对包含敏感信息的URL进行适当的爬虫控制,导致以下信息被搜索引擎索引:
- 用户转账交易记录
- 收款人邮箱地址
- 转账金额
- 货币类型
- 转账附言信息
PayPal转账请求参数分析
PayPal用户转账时发送的GET请求包含以下敏感参数:
https://www.paypal.com/signin/?country.x=US&locale.x=en-US&returnUri=https://www.paypal.com/myaccount/transfer/send/external?recipient=victim@example.com&amount=1000.00¤cyCode=USD&payment_type=Gift&onboardData={"intent":"sendMoney","recipient":"victim@example.com","currency":"$","amount":"1000.00","redirect_url":"https://www.paypal.com/myaccount/transfer/send/external?recipient=victim@example.com&amount=1000.00¤cyCode=USD&payment_type=Gift","flow":"p2p","country":"US","locale":"en-US","sendMoneyText":"Custom message"}
关键参数说明:
recipient: 收款人邮箱地址amount: 转账金额currencyCode: 货币代码payment_type: 付款类型onboardData: 包含转账详细信息的JSON对象sendMoneyText: 转账附言/留言
Google Dork查询示例
可用于发现PayPal敏感信息的Google搜索语法:
site:paypal.com inurl:'payment_type='
site:paypal.com inurl:intent
site:paypal.com inurl:'sendMoneyText'
site:paypal.com inurl:'recipient='
site:paypal.com inurl:currencyCode=
site:paypal.com inurl:onboardData=
site:paypal.com inurl:sendMoney
site:paypal.com inurl:item_name
site:paypal.com inurl:counterparty
Xoom漏洞详情
Xoom是PayPal旗下的跨境转账平台,存在类似的敏感信息泄露问题。
Xoom注册机制问题
- 已注册账户再次注册时,前端显示注册成功
- 后台会向该账户发送安全警告邮件
- 这种矛盾行为可能导致账户枚举攻击
Xoom Referrer功能问题
Xoom的"推荐朋友"功能(https://www.xoom.com/xoom-refer-a-friend-program)也存在信息泄露风险,新用户首单转账超过\(400可获得\)20亚马逊礼品卡。
Google Dork查询示例
可用于发现Xoom敏感信息的搜索语法:
site:xoom.com inurl:'@gmail.com'
site:xoom.com inurl:'@yahoo.com'
site:xoom.com inurl:'@hotmail.com'
site:xoom.com inurl:'@msn.com'
site:xoom.com inurl:'e=' 'refer'
site:xoom.com inurl:'tellapal.id'
漏洞复现步骤
PayPal信息泄露复现
- 打开Google搜索引擎
- 输入上述任一PayPal相关的Dork查询
- 查看搜索结果中是否包含敏感信息
- 分析获取的URL参数和内容
Xoom信息泄露复现
- 打开Google搜索引擎
- 输入上述任一Xoom相关的Dork查询
- 查看搜索结果中是否包含用户邮箱或其他信息
- 尝试分析获取的推荐链接和用户数据
漏洞修复建议
针对开发人员
-
完善robots.txt配置:
- 明确禁止爬虫索引包含敏感信息的URL路径
- 示例:
User-agent: * Disallow: /myaccount/transfer/ Disallow: /signin/
-
使用noindex meta标签:
- 在包含敏感信息的页面头部添加:
<meta name="robots" content="noindex">
- 在包含敏感信息的页面头部添加:
-
修改URL设计:
- 避免在URL中包含敏感参数
- 将GET请求改为POST请求传输敏感数据
-
实施Referrer-Policy:
- 设置适当的HTTP头控制referrer信息:
Referrer-Policy: no-referrer
- 设置适当的HTTP头控制referrer信息:
针对安全团队
- 定期审计robots.txt配置
- 监控搜索引擎收录情况
- 对敏感操作实施二次验证
- 建立安全编码规范
经验总结
- 搜索引擎爬虫可能成为信息泄露的渠道
- 看似无害的功能(如推荐系统)可能带来安全隐患
- 前后端行为不一致可能暴露系统漏洞
- 安全研究需要多角度思考,从常规功能中发现非常规问题