一、Session是什么
暗码与证书等认证手法,一般用于登录进程。用户登录之后,服务器通常会树立一个新的Session保存用户的状况和相关信息,用以盯梢用户的状况。每个Session对应一个标识符SessionID来标识用户身份,SessionID一般是加密保存在Cookie中。尽管Cookie也是为了盯梢用户状况,可是Cookie存储在客户端上,Session存储在服务器上。有些网站也会将Session保存在Cookie中,以减轻服务器保护Session的压力。Session在 *** 运用中被称为“会话操控”。
二、Session Hijacking
与盗取用户名、暗码登陆用户帐户的办法有所不同,Session绑架是一种经过盗取用户的SessionID,运用该SessionID登录方针账户的进犯办法。此刻进犯者实际上是运用了方针账户的有用Session。假如SessionID是保存在Cookie中的,则这种进犯能够成为Cookie绑架。
进犯进程如下:
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
echo 'Now Count:'.$_SESSION['count'];
?>
下面经过一个试验来简略演示Session Hijacking的进程。
此段代码布置在服务器上,功用是在服务器上敞开Session,初始时将$_SESSION['count']置0。当页面完毕后,$_SESSION['count']的值会被主动保存下来,一起在用户浏览器上留下一个包含着SessionID的Cookie。该用户下次再拜访时,会运用该Cookie持续会话,$_SESSION['count']自增,完成简略的计数器功用。
在铲除浏览器一切Cookie的情况下,用Chrome拜访此页面:
多改写几回页面,由于处于同一个Session,计数器的数字会增加。翻开Chrome的开发者东西(F12),查看到SessionID如下,此刻计数器显现为9:
翻开另一个浏览器(此处以Firefox为例,也可换用另一台电脑)拜访session.php,用Firefox插件[Tamper Data]进行抓包。由于两个浏览器处于不同的Session,所以Firefox计数器的初始值为0:
点击“Start Tamper”,再改写一下Firefox的界面,正常情况下计数器应该改写为1。现在咱们要模仿Session绑架的进程,假定经过某种手法盗取到了Chrome的SessionID,而且将Firefox中的SessionID修改为方才盗取到的Chrome中的SessionID,点击确认发送数据:
此刻,Firefox中的计数器直接变成了10,相当于操作了Chrome的Session,对方才的9进行了自增运算:
能够看到,尽管换了浏览器,可是只需获得了SessionID,即可盗取到有用会话。假如替换改写两个浏览器,操作的其实是同一个计数器。由于在服务器看来,客户端传来了相同的SessionID,即可认定为是同一个Session。常见的运用场景有盗取用户登录后的邮箱、博客的SessionID,对用户账户进行不合法登录,盗取隐私信息。
获取SessionID的首要办法:
1) *** 嗅探:在公共上网区域,可经过 *** 嗅探来获取SessionID,常用的一些东西有:Ettercap、Cain & Abel、Dsniff。
2) SessionID猜测:假如SessionID运用非随机的办法发生,则能够经过剖析SessionID的强度(长度、字符集以及均匀信息量),将其核算出来,例如能够运用Burp Suite中的Sequencer模块对会话进行剖析。
3) 客户端进犯:XSS、木马等。
三、 Session Fixation
Session Fixation尽管同为盗用合法用户SessionID的一种办法,可是进犯原理又有所不同。Session Hijacking是进犯者盗取了一个合法的SessionID;Session Fixation是进犯者预先核算一个SessionID,诱运用户运用此SessionID登陆,并使之合法。因而,Session Fixation适用于登陆前后SessionID不发生改变的场景。
进犯进程如下:
下面运用WebGoat下的Session Management Flaws->Session Fixation来演示这一进程:
进犯者给方针用户发送一封邮件,并在链接中刺进预先设定好SessionID:
方针用户收到此邮件后,点开链接而且跳转到登陆界面:
方针用户输入正确的用户名、暗码发送给服务器,服务器即将此用户的Session与进犯者预先设定好的SessionID进行绑定:
[1] [2] 黑客接单网
0x01 前语 材料来历: http://javaweb.org/?p=567 http://zone.wooyun.org/content/19379 http://drops.wooyun.or...
XSS 跨站脚本(Cross-site scripting,一般简称为XSS)是一种网站运用程序的安全漏洞进犯,是代码注入的一种。它答应歹意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这...
在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...
存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...
布景 本地文件包括(LFI)缝隙是一种危害性较大的缝隙类型。一旦呈现进犯者将或许运用其,读取文件源码或灵敏信息,包括歹意文件,履行恣意代码,乃至操控服务器等。大多数LFI进犯都是由动态加载图画或其他文...
bash中会呈现已经对接的机器设备:拜会如下图在本实例教程中,我们作出了一些实例查看,搜索的是数据库查询中表和列的头衔。 为了更好地便捷过虑数据文件,他开了 wiresharkmsf exploit...