如何防止Session伪造攻击
来源:互联网 发布:首轮融资知乎 编辑:程序博客网 时间:2024/05/21 13:19
什么是SESSION伪造攻击:
Session伪造攻击是一种非常流行的针对session的攻击方式.它之所以流行的主要原因是:它是一个攻击者获得一个有效的SESSION ID(标识符)最简单的方法.使用这种方法,可以模仿当前用户的SESSION ID,伪装成这个用户,然后进一步进行SESSION劫持攻击.
任何促使受害用户使用攻击者提供的SESSION ID的方法都可以称之为SESSION伪造攻击,最简单的例子就是在一个链接中嵌入SESSION标识符:
<a href=”http://www.wemvc.com/login.php?PHPSESSIONID=123123″>登录</a>
受害者点击了这个链接后将会把SESSION ID设置为123123.而且如果受害者在这个时候继续登录,攻击者就能够劫持他的SESSION用来提升自己的权限级别.甚至在购物类型网站中盗取他人帐户钱财.
这种攻击方法有很多变体,有一些使用COOKIES来达到自己的攻击目的,例如我在前一篇博文中写到的利用COOKIE和SESSION联用实现session跨域,那里就是用COOKIE来存储SESSION ID的,攻击者伪造COOKIE也可以变成受害者的身份去登录他的帐户.幸运的是针对这些攻击的防范,php也给了我们非常简单易懂并且通用的方法来处理.无论什么时候,只要有权限级别的改变,如果一个用户登录的时候,就用session_regenerate_id()函数来重新生成SESSION ID,无论是用POST/GET或者COOKIE方式传递SESSION ID 这个函数都适用.
代码片段:
<?php
if(checklogin($user_name,$password){
$_SESSION['auth'] = TRUE;
session_regenerate_id();
}
?>
这样可以有效的避免SESSION伪造攻击,可以确保每个用户登录时(或者有权限提升时)都被分配新的随机的SESSION ID.
- 如何防止Session伪造攻击
- 如何防止Session伪造攻击
- 【转载】如何防止Session伪造攻击
- 如何防止网站攻击
- 如何防止XSRF攻击
- 如何防止ARP攻击?
- 如何防止脚本攻击
- 如何防止 CC攻击
- 如何防止session超时
- 如何防止session超时
- 如何防止session过期
- Notes如何防止病毒攻击
- 如何防止网站注入攻击
- 如何防止SQL注入攻击
- 如何防止服务器被攻击
- 如何防止SQL注入攻击
- 如何防止PHP木马攻击
- 如何防止PHP木马攻击
- 二十多高峰会议凸透镜梵蒂冈
- [Leetcode]N-Queens
- findbugs安装
- short-path problem (Floyd)
- HTTP Status 404 - The requested resource (/Test/loginSerlet) is not available.
- 如何防止Session伪造攻击
- rand()函数
- Java之反射、枚举、内省、注解
- 使用hibernate 分表做增删改查
- 类的高级概念(内部类和访问)
- DOM应用
- 从技术角度深入剖析:改号软件,电话号码任意显示,伪造来电显示
- PHP代码从Windows环境迁移到linux环境下问题
- UVa 11995 I Can Guess the Data Structure!