我有一个网站,需要通过PCI合规性。
使用Magento 1.5.1的站点(Magento是基于PHP的系统)和PCI遵从性故障是可预测的Cookie会话ID。
我假设这意味着他们想要将Magento中名为“前端”的cookie更改为随机的UUID。我假设这可以在不修改或扩展内核的情况下完成,但我找不到这样做的设置。
有什么想法?
以下是漏洞描述:
远程web应用程序正在使用可预测的基于cookie的会话is。理想情况下,会话ID是攻击者无法猜测的随机生成的数字。如果会话ID是可预测的,则攻击者可以劫持活动受害者的
发布于 2011-12-13 01:46:29
我不确定这是否会有帮助,但这是我知道如何进行会话设置的最安全的方法。我喜欢被比我更有见识的人纠正,因为这会直接影响我所有的电子商务项目。
下面的代码中引用了一个来自我的opensource framework的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)https://stackoverflow.com/questions/8478265
复制相似问题