当前位置:   article > 正文

Web安全漏洞与防御-XSS(一)——会话管理_会话管理漏洞防御方法

会话管理漏洞防御方法

0x00:实验目的

  • 使用php搭建基于Server端的Session会话管理环境
  • 完成登录页面、检查登录以及清除当期会话三个功能

0x01:实验环境

  • 安装Apache、PHP、MySQL(或者phpStudy集成环境)
  • 测试PHP环境释放搭建成功

找到PHP目录…\www 新建文件phpinfo,显示PHP版本信息

<?php
	phpinfo();
?>
  • 1
  • 2
  • 3

在这里插入图片描述

0x02:实验步骤

1、编写前端页面并测试 http://127.0.0.1/login.html

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
</head>
<body>
	<form action="login.php" method="POST">
		username:
		<input type="text" name="username"><br>
		password:
		<input type="password" name="password"><br>
		<input type="submit" name="submit" value="登录">
	</form>	
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

2、编写登录页面,包含session函数(仅检查用户名密码是否为admin,不连接数据库),并登录检查 http://127.0.0.1/login.php

<?php
header("Content-Type:text/html;charset=utf-8");
session_start();
$user = $_POST['username'];
$pwd = $_POST['password'];
if($user === 'admin' && $pwd ==='admin'){
	echo '登录成功';
	$_SESSION['admin'] = 1;
	var_dump($_SESSION);
}
else{
	echo '登录失败';
}
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述

3、编写维持会话功能,检查是否为管理员 http://127.0.0.1/check.php

<?php
header("Content-Type:text/html;charset=utf-8");
session_start();
var_dump($_SESSION);
if($_SESSION['admin'] ==1){
	echo '管理员登录';
}else{
	echo "普通登录";
}
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

4、编写消除会话功能(unset()消除当前会话,session_destroy完全消除所有会话)http://127.0.0.1/unset.php

<?php
session_start();
unset($_SESSION['user']);
session_destroy();
?>
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

5、再次访问check.php 检查会话已经消除

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/150204
推荐阅读
相关标签
  

闽ICP备14008679号