我是靠谱客的博主 靓丽花卷,最近开发中收集的这篇文章主要介绍如何防止session伪造攻击,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如何防止Session伪造攻击  


Session伪造攻击是一种非常流行的针对session的攻击方式.它之所以流行的主要原因是:它是一个攻击者获得一个有效的SESSION ID(标识符)最简单的方法.使用这种方法,可以模仿当前用户的SESSION ID,伪装成这个用户,然后进一步进行SESSION劫持攻击.


任何促使受害用户使用攻击者提供的SESSION ID的方法都可以称之为SESSION伪造攻击,最简单的例子就是在一个链接中嵌入SESSION标识符:


登录


受害者点击了这个链接后将会把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.

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 阅读(1037) | 评论(0) | 转发(0) |
0

上一篇:Oracle的substr函数简单用法

下一篇:oracle执行计划详解

评论热议

最后

以上就是靓丽花卷为你收集整理的如何防止session伪造攻击的全部内容,希望文章能够帮你解决如何防止session伪造攻击所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部