0

我有一个需要通过 PCI 合规性的站点。

使用 Magento 1.5.1(Magento 是基于 PHP 的系统)的站点和 PCI 兼容失败是可预测的 Cookie 会话 ID。

我假设这意味着他们希望 Magento 中名为“前端”的 cookie 更改为随机 UUID。我认为这可以在不修改或扩展核心的情况下完成,但我找不到执行此操作的设置。

想法?

以下是漏洞描述:

远程 Web 应用程序使用可预测的基于 cookie 的会话 ID。理想情况下,会话 ID 是随机生成的数字,攻击者无法猜到。如果会话 ID 是可预测的,则攻击者可以劫持活动受害者的

4

1 回答 1

0

我不确定这是否会有所帮助,但这与我知道如何进行会话设置一样安全。我很想得到比我更博学的人的纠正,因为它会直接影响我所有的电子商务项目。

下面的代码中引用了一个current_domain()来自我的开源框架的函数(链接是指向包含该函数的文件)。如果您不需要动态域替换,您可以在那里对您的域进行硬编码。

<?
ini_set( 'session.use_trans_sid',       false                   );
ini_set( 'url_rewriter.tags',           ''                      );
ini_set( 'session.use_cookies',         true                    );
ini_set( 'session.use_only_cookies',    true                    );
ini_set( 'session.name',                sha1( current_domain()  ) ); // current domain is a function implemented in tgsf
ini_set( 'session.cookie_lifetime',     0                       ); // until browser is closed.  I implement this server side

ini_set( 'session.hash_function',           1 ); // sha-1
ini_set( 'session.hash_bits_per_character', 6 );

// only if host is not localhost 
ini_set( 'session.cookie_domain', 'www.example.com' );

// use for localhost
//ini_set( 'session.cookie_domain', null );

ini_set( 'session.cookie_path', '/' ); // limit as much as you can for security
ini_set( 'session.cache_limiter',           'nocache' ); //prevents back button displaying a page after session is dead
ini_set( 'session.cookie_httponly',         true ); // helps prevent xss by preventing javascript access to the session cookie (on SOME browsers, not all)
于 2011-12-12T17:46:28.913 回答