1.File Upload:
文件上传的漏洞主要原理在于利用这些文件上传的地方将恶意代码植入到服务器中,然后利用url访问上传的文件以达到目的。我直接构造了脚本代码如下:
然后直接对该文件上传上去,接着如下:
2.File Upload:
该题目对php后缀进行了过滤,因此直接用.phtml上传,ps: .phtml也是php一种拓展名。
如下:
3.修补措施:
A:检查文件拓展名。
可以采用黑名单或者白名单策略来限制上传的文件拓展名。
反制方法:可利用解析漏洞绕过执行。
B:检查HTTP Header中的Content-Type
可利用代理工具直接修改包头contend-type信息即可。常见content-type如下所示:
C:.分析文件头内容来检查文件类型
一般而言各种不同的文件格式在包头处会有不同的特征,如
通过检查这些特征判断文件格式类型
反制方法:通过加上这些特征就可以了,例如php脚本是从<?php开始的,因此我们在前面加上一些特征字节就绕过了。
D:.限制Web Server对于特定类型文件的行为
通过调用特定的接口控制服务器对文件的处理方式来控制,例如
反制的方法也简单:可通过move_uploaded_file函数将自己的.htaccess文件上传,覆盖掉服务器上的文件,自定义服务器对文件的执行方式,从而获得权限。
附上学习的文章:
http://www.freebuf.com/vuls/128846.html