没有name属性的输入字段是否容易受到MITM攻击(w/ or )或任何其他攻击的影响?
例如:
<form action="" method="post">
<label for="credit_card_number"><input id="credit_card_number" type="text" value="4111111111111111"></label>
<button type="submit">Submit</button>
</form>我所做的是使用javascript获取值,然后将其发送到stripe.js,接收令牌,然后在向服务器提交表单之前清除CC字段的所有值。
我知道SSL是个好主意,但有必要吗?如果是的话。
发布于 2014-08-20 11:47:54
是没有通过浏览器“发送”name=的输入字段。
不是通过标准的HTML表单提交过程。但是,客户端的JavaScript可以读取字段的内容并自行发送数据。
没有名称属性的输入字段是否容易受到MITM攻击(w/o )或任何其他攻击的影响?
是。不受SSL保护的页面上的所有内容都容易受到MitM攻击。
即使stripe.js正在读取信用卡号码并将其完全安全地发送到Stripe的服务器,也无法知道页面的其余部分在加载时没有被活动的MitM攻击所篡改。例如,可以将一段JavaScript注入到侦听按键并将信用卡号分别发送给攻击者的页面中。
这就是为什么给用户的建议总是检查SSL是否在页面级别上启用,以及为什么PCI要求用户输入密码的网页必须在浏览器UI中显示为SSL保护。
我知道SSL是个好主意,但有必要吗?
是。无论如何,条纹要求你这么做。
发布于 2014-08-20 03:27:39
是。任何不受SSL/TLS/HTTPS保护的HTTP请求都容易受到MitM攻击的攻击。如果没有HTTPS提供的完整性,通过HTTP提供的HTML的任何组件都容易受到中间人的攻击或修改。例如,表单的操作可能会被更改,因此可以将表单改为POSTed (由MitM指定),而不是将表单改为目标页面,而是将表单更改为恶意站点上的页面。
底线是,通过HTTP发送给客户端的任何内容都可以在实际到达客户端之前进行更改。如果您需要安全性(当然您需要支付事务),您需要HTTPS来确保客户端收到您希望他们接收的信息。
https://security.stackexchange.com/questions/65761
复制相似问题