0

我在我的网站上执行了“网络漏洞扫描”。(来自该公司http://www.acunetix.com/)并且存在一些中等级别的威胁。所以这是我想问的一个。

…………………………………………………………………………………………………………………………

警报:

表单发布中从 HTTP 到 HTTPS 的不安全转换。

描述:

此表单是从不安全页面 (http) 页面提供的。该页面可能被中间人攻击劫持,攻击者可以替换表单目标。

影响:

可能的信息泄露。

.....................................

我知道 SSL 确实应该在用户输入敏感信息(例如信用卡详细信息)的任何页面上使用。但是,在这种威胁所指的形式中,我使用的是直接转到贝宝的贝宝托管按钮。表单中没有传递敏感数据,只有价格和商品名称。在这种情况下这是一种威胁吗?是否有必要在带有托管按钮的页面上添加 https?这是托管按钮的表单。非常感谢任何建议,莎拉

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
        <input type="hidden" name="cmd" value="_s-xclick">
        <input type="hidden" name="hosted_button_id" value="YK6RA88XCE69G">
        <table>
        <tr><td>
        <input type="hidden" name="on0" value="Ableton Course Fees"></td></tr>
        <tr><td>
        <select name="os0">
            <option value="Full Payment">Full Payment &euro;275.00 EUR</option>
            <option value="Deposit Payment">Deposit Payment &euro;100.00 EUR</option>
        </select>
        </td></tr>
        </table>
    <input type='hidden' name='cancel_return' value='http://www.funkdafone.com/finalne4/cancelled.php'>
    <input type='hidden' name='return' value='http://www.funkdafone.com/finalne4/confirmation.php'>

    <input type="hidden" name="currency_code" value="EUR">
    <input type="image" src="https://www.sandbox.paypal.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
    <img alt="" border="0" src="https://www.sandbox.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
4

2 回答 2

1

基本上,当您使用 PayPal Hosted 按钮时,您不需要真正担心 Https 或 http。最终,将加密信息传递给https://www.paypal.com.

  • 因此,由于结帐页面由 PayPal 托管,您已经很安全,并且 PCI 合规性也得到了注意。

  • 如果您使用自己的结帐页面(例如,Dodirectpayment您收集买家信用卡信息的地方),那么您需要符合 PCI 标准,并且建议使用 SSL(https) 以提高安全性。

于 2015-02-22T02:33:23.993 回答
1

是的,理想情况下,您应该确保您的整个网站在重定向到 PayPal 之前使用 HTTPS。但是,这可能会带来额外的性能挑战,因为站点范围的 SSL(即 HTTPS)会稍微增加 CPU 负载:根据 Google 的说法,CPU 增加 1%,网络带宽增加 2%

为什么我要到处使用 HTTPS?

假设您的网站是通过普通 HTTP 加载的,并且用户在以下位置结帐:

http://example.com/checkout.php

这包含您将用户重定向到 PayPal 的上述代码:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">

现在,如果用户的网络上有攻击者(假设用户和攻击者都在使用 wifi 的咖啡店),攻击者可以使用诸如sslstrip之类的工具来MITM从用户到您的网站的连接。当呈现给用户时,这将动态地将页面的表单更改为纯 HTTP:

<form action="http://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">

现在,当用户单击转到 PayPal 时,连接再次被 MITM 攻击,允许攻击者截获密码、信用卡和地址详细信息。因此,而不是连接是:

User --> Coffee Shop Router --> PayPal

这将是

User --> MITM Attacker --> Coffee Shop Router --> PayPal

当然,用户可能会注意到他们与 PayPal 的连接不是 HTTPS(他们的浏览器将显示http://www.sandbox.paypal.com在地址栏中,没有挂锁),但他们可能不会 - 有后果。这就是为什么您不应该通过纯 HTTP 将页面重定向到支付网站 - 以保护您的用户。在您的站点上使用 SSL,用户将能够在结帐阶段信任您的站点(因为它将通过 HTTPS 提供服务,并且挂锁将在地址栏中),并且能够安全地按照结帐流程到 PayPal。

在你的情况下

话虽如此,由于您没有从您的站点向 PayPal 发送表单请求中的任何机密信息,因此用户很有可能会在输入任何详细信息之前注意到他们不在安全版本的 PayPal 上。如果您的表单包含的信息表明攻击者可以通过他们的 sslstrip 攻击立即拦截,那么您的网站将面临更大的风险。

总之,您似乎可以接受这里的风险,因为它很低。如果在您的能力范围内,我会推荐 HTTPS 站点范围。无论哪种方式,始终鼓励您的用户在输入他们的 PayPal 登录信息或他们的卡详细信息之前检查地址栏和挂锁。在这种情况下,回头客更有可能在从不同位置访问您的网站时发现他们的连接是否已通过 MITM 连接。

于 2015-02-22T08:26:29.623 回答