攻击者上传一个可执行脚本文件,并通过该脚本获得了执行服务器命令的能力。
按照上传文件类型分类:
- web脚本文件
- Flash策略文件
- 病毒、木马
- 钓鱼图片或包含脚本的图片
攻击者成功上传,并且被用户执行,才能称之为攻击成功。
一般服务器均对上传文件的格式有检查,以下总结常见绕过文件类型检查的方法:
校验方法:
- 客户端校验
一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" onsubmit ="return check()" name ="frm" action="index2.htm" >
<p><input type="file" name="F1" size="20"><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form>
<script type ="text/javascript">
//核心代码,检验上传文件格式
function check()
{
var filename = frm.F1.value ;
filename = filename.substring(filename.lastIndexOf("\\")+