会话固定攻击复制,学期论文(php)



我试图复制我的学期论文的会话,我在这里找到了相当多的技巧,但无法复制攻击我的本地主机

我在这里试过一个例子:http://www.devshed.com/c/a/PHP/Sessions-and-Cookies/2/

fixation.php:

  <?php 
  session_start(); 
  $_SESSION['username'] = 'chris'; 
  ?>

test.php

  <?php 
  session_start(); 
  if (isset($_SESSION['username']))
  { 
    echo $_SESSION['username'];
  }     
  ?>

文章说我应该能够固定会话:

http://example.org/fixation.php?PHPSESSID=1234

但是检查请求头似乎不起作用:

Cookie  PHPSESSID=0avpo8ttlmg35apkjaovj6dgd3

此外,在tmp文件夹中有一个"sess_0avpo8ttlmg35apkjaovj6dgd3"文件。

我在这里有点迷路了,我尝试了很多类似的例子,但都不起作用……


一个小更新
在php.ini中,设置这些值:

session.use_trans_sid = 1 
session.use_cookies = 0 

和注释出session.save_handler禁用在cookie中保存会话并生成tmp文件(我认为,如果我错了,请纠正我)。现在我能够固定会话(在tmp文件夹中有一个名为sess_1234的文件)并劫持它(在另一个浏览器中打开,恢复状态)。再次,纠正我,如果我错了-会话固定完全修补在最近的php版本或只是这个简单的攻击?我的当前版本是5.3.4

从这篇文章和你给我们的更新,这是我能告诉你的。

PHP并没有完全修补这个攻击,但它给了开发人员一个选择,不允许服务器接受来自URL的PHPSESSID,而强制它只接受来自cookie的PHPSESSID。这样,您链接的文章中显示的示例将变得更加难以提交(但这并不意味着不可能!)。在某种程度上,这是一种非常简单的攻击,并且依赖于启用的某些配置选项,但如果启用了这些选项,则攻击是非常合法的。

这让我想起了一些神奇的引号。这个特性原本可以帮助人们阻止SQL注入,但最终却让一些新的PHP开发人员编写了容易发生SQL注入的代码。魔术引号(直到PHP 5.4)仍然可以启用,允许人们使用SQL注入编写代码,但就像PHPSESSID一样,开发人员可以决定是否启用这些选项。

尝试在浏览器中更改cookie。使用firefox,安装"Web Developer"工具栏扩展。然后在Cookie菜单中,选择"编辑Cookie"并更改您的域名值或创建您尝试复制的新Cookie。

相关内容

  • 没有找到相关文章

最新更新