一、论述题(3 ✖ 10分)
写一段含有XSS漏洞的代码,并写出如何利用XSS漏洞来实行攻击
写出5种以上常见的安全配置错误的漏洞
- 不安全的默认配置
- 不完整的临时配置
- 开源云存储
- 错误的HTTP报头配置
- 包含敏感信息的详细错误信息
- 无线局域网的有哪几种安全机制?详细说一下最安全的那种机制的加解密
二、代码分析题(2 ✖ 10分)
- 代码1:
<? php
include($_GET['test']);
?>
- 代码2:
<?php
$target = $_GET['ip'];
$cmd = "ping -c 3 $target";
echo $cmd;
system($cmd);
?>
- 这两段代码存在什么漏洞?
- 这两段代码中的漏洞如何修复?写出修复代码。
三、代码分析题(2 ✖ 10分)
$is_upload = false;
$msg = null;
if (isset($_POST[ ' submit ' ])) {
if (file_exists(UPLOAD_PATH)) {
$deny_ext = array( ' .asp ' , ' .aspx' , ' .php ' , ' .jsp ' );
$file_name = trim($_FILES[ ' upload_file ' ][ ' name ' ]);
$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, ' . ');
$file_ext = strtolower($file_ext);//转换为小写
$file_ext = str_ireplace(' ::$DATA ', ' ', $file_ext);//去除字符串::$DATA
$file_ext = trim($file_ext);//收尾去空
if (!in_array($file_ext,$deny_ext)) {
$temp_file = $ FILES[ 'upload_file'][ 'tmp_name'];
$img_path = UPLOAD_PATH.' / '.date("YmdHis").rand(1000,9999).$file_ext;
if (move_uploaded_file($temp_file,$img_path)) {
$is_upload = true;
} else {
$msg = '上传出错! ';
}
} else {
$msg = ‘不允许上传.asp,.aspx,.php,-jsp后缀文件! ';
}
- 文件上传漏洞的原理和后果?
- 图中代码对上传的文件做了哪些操作?如何上传文件才能使webshell成功上传?
四、代码分析题(3 ✖ 10分)
HLOCAL h1,h2,h3,h4,h5,h6;
HANDLE hp;
hp = HeapCreate(0,0x1000,0x10000);
h1 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);
h2 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);
h3 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);
h4 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);
h5 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);
h6 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);
HeapFree(hp,0,h1);
HeapFree(hp,0,h3);
HeapFree(hp,0,h5);//此时freelist[2]包含三个空闲堆块
h1 = HeapAlloc(hp,HEAP_ZERO_MEMORY,8);//考试题里好像没有这句代码,忘了忘了
- 详细说明空表和快表
- 尽可能详细地画出图中代码的堆结构空间图
- 说明DWORD SHOOT攻击的方法,可以画图辅助说明