WEB漏洞—文件上传之基础及过滤方式

WEB漏洞—文件上传之基础及过滤方式
Yatming的博客WEB漏洞—文件上传之基础及过滤方式
- 什么是文件上传漏洞?
- 文件上传漏洞有哪些危害?
- 文件上传漏洞如何查找及判断?
- 文件上传漏洞有哪些需要注意的地方?
- 关于文件上传漏洞在实际应用中的说明?
什么是文件上传漏洞?
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传” 本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
文件上传漏洞有哪些危害?
1.上传文件是web脚本语言,服务器的web容器解释并执行了用户上传的脚本,导致代码执行。
2.上传文件是病毒或者木马时,主要用于诱骗用户或者管理员下载执行或者直接 自劢运行;
3.上传文件是Flash的策略文件 crossdomain.xml,黑客用以控制Flash在该域 下的行为(其他通过类似方式控制策略文件的情况类似);
4.上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行;
5.上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。 除此之外,还有一些不常见的利用方法,比如将上传文件作为一个入口,溢 出服务器的后台处理程序,如图片解析模块;或者上传一个合法的文本文件,其内容包含了PHP脚本,再通过”本地文件包含漏洞(Local File Include)”执行此脚本。
文件上传漏洞如何查找及判断?
首先,上传的文件能够被web容器解释执行。所以文件上传后所在的目录要是web容器所覆盖到的路径。
其次,用户能够从web访问这个文件。如果文件上传了,但用户无法通过web访问,或者无法得到web容器解释这个脚本,那么也不能称之为漏洞。 最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,则也可能导致攻击不成功。
像这种网站有上传的功能的时候,都可以成为你测试的地方,这种一般是个人中心,或者会员中心,就会有比如说修改头像的时候可以上传本地头像,那么这个时候就可以把带有后门的图片上传进行测试
文件上传漏洞有哪些需要注意的地方?
要对文件上传漏洞的类型进行区分,是否是属于编辑器的文件上传还是第三方的应用的,还是基础的,这个要自己去验证
上传的webshell必须是可以被网站正常解析的,如果你上传的是图片格式,正常情况下是就当图片进行解析,那么你植入的一句话就不能正常执行,而这个一句话必须是符合网站的脚本类型的,如果是php的就用php的一句话,如果是asp就用asp的一句话
解析漏洞产生的部分原因:
1 | cgi.fix_pathinfo |
upload-loas靶场第一关
采用的是前端验证,只需要将前端代码copy下来,然后在本地将前端验证代码删除,在添加或者查找一个action这个,这个设置要上传的地址,获取方式:在靶场用F12进行抓包,复制http头
第二种方式:用burp抓包,然后在将数据包中的格式改为php,这样就可以绕过了,但是由于你是本地搭建的靶机,有可能是抓不到包的,归根结底是因为代码的原因(不懂),这里要抓的话先要改成图片的格式,也就是要上传他允许的格式
第三种方式:直接关闭js的功能,但是这样是可能会将网站正常的js功能也会关闭,从而有几率上传失败
vulhub两个靶场
搭建环境,百度即可