实验原理
1.MetInfo 漏洞
MetInfo 漏洞由于设计错误,导致远程攻击者访问 MentInfo 并利用漏洞进行
文件上传及 webshell 利用。
2.文件上传漏洞
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件
获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上
传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如
果服务器的处理逻辑做的不够安全,则会导致严重的后果。
3.文件上传后导致的常见安全问题
a) 上传文件是 Web 脚本语言,服务器的 Web 容器解释并执行了用户上传的
脚本,导致代码执行。
b) 上传文件是 Flash 的策略文件 crossdomain.xml,黑客用以控制 Flash
在该域下的行为(其他通过类似方式控制策略文件的情况类似);
c) 上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。
d) 上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会
被作为脚本执行,被用于钓鱼和欺诈。
4.设计安全的文件上传功能
a) 文件上传的目录设置为不可执行
b) 判断文件类型:强烈推荐白名单方式。此外,对于图片的处理,可以使
用压缩函数或者 resize 函数,在处理图片的同时破坏图片中可能包含的 HTML
代码。
c) 使用随机数改写文件名和文件路径:一个是上传后无法访问;再来就是
像 shell.php.rar.rar 和 crossdomain.xml 这种文件,都将因为重命名而无法
攻击。
d) 单独设置文件服务器的域名:由于浏览器同源策略的关系,一系列客户
端攻击将失效,比如上传 crossdomain.xml、上传包含 Javascript 的 XSS 利用
等问题将得到解决。
实验过程
1.打开靶场工具合集,找到 MetInfo 漏洞,以 txt 格式打开 upload,将其改为
靶机 ip,然后以浏览器打开 upload 文件,提交 phpspy.php 文件
2.得到如图,将其在网站根目录打开
3.得到flag