这篇文章有点旧了,看了喜欢的可以看看,主要是博客更新麻烦,通常我在有道云上做笔记。
http://note.youdao.com/noteshare?id=3a2e27d0d1005f9a8d9f218e523eda6d&sub=7627628443FD46D7975A7381BA71AFC8
1.
前端代码
2.
逻辑绕过
3.
文件内容检测
4.
文件包含、文件备份
5.网站后台
6.
容器及语言特性
7.
畸形报文
8.
系统特性
9.SQLI
方面
上传文件时WAF
检测点:
1
)请求的
url
,
url
是否合法
2
)
Boundary
边界,通过
Boundary
边界确定内容来检测内容
3
)
MIME
类型,即
content-type
4
)文件扩展名
5
)文件内容
文件上传后导致的常见安全问题一般有
:
1
)上传文件是
Web
脚本语言,服务器的
Web
容器解释并执行了用户上传的脚本,导致代码执行。
2
)上传文件是
Flash
的策略文件
crossdomain.xml
,黑客用以控制
Flash
在该域下的行为(其他通过类似方式控制策略文件的情况类似
);
3
)上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。
4
)上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。
本文重点是
web
层面的
web shell
需要注意的要点:
1
)上传后的路径在哪里
2
)上传后的文件名是否被修改了
有些地方可能内容有些重复,请自行琢磨。
1.前端代码
主要是通过前端的JavaScript
进行过滤,可以十分简单地绕过。如正常发包,之后抓包修改。
2.逻辑绕过
2.1MIME检测
后台代码通过检测客户端请求报文中的Content-Type
字段来判断文件类型
.
,可以先上传正常文件再修改文件内容与文件名进行绕过。
各类文件的mime
类型,百度即可,此处不列举。
2.2文件后缀检测
逻辑不严谨,过滤不严谨,导致被绕过
1)
采用黑名单,简单地过滤了
“php”