什么是文件上传漏洞?
答:当文件上传时,如果服务端的脚本语言没有对上传的文件进行检查和过滤,那假如,渗透者直接上传恶意代码文件,那么就有可能直接控制整个网站,或者说以此为跳板,直接拿下服务器,这就是文件上传漏洞。
现在还存在能直接上传的上传漏洞吗?
答:不能说绝对没有,但是肯定存在,只不过很少。所以一般的渗透测试中,都是找上传点,然后绕过上传限制,直接上传恶意脚本文件,进行控制,拿下webshell。
那这篇上传漏洞原理分析主要讲什么?
答,拿webshell这个上传法,我这篇里是肯定不会记录的,网上关于这个的很多的,什么截断啊,解析啊,对了解析漏洞,这个我会开始讲这个漏洞时再总结的。本篇就是简单的上传,直接上传,控制,毕竟这就是最原始的上传漏洞,我只是分析漏洞原理。关于其它的,等我自己打网络攻防平台,打一些其他人在线的靶场的时候,就会涉及到这些,我会在打靶场的时候好好总结记录的。
对了还有最重要的!!! what ?
答:不管你上传的什么恶意代码,前提是必须被服务器所认同为该环境下的语言,才能执行,要不然,你一个asp的脚本环境,你上传一个PHP的恶意代码,你觉得这个有用吗?当然实际的渗透测试中,肯定会出现各种问题,这个就需要你自己去分析去攻破了。
正文开始:
这个是一个未加任何过滤的PHP代码编写的上传页面。
这个就是这个上传页面的代码,我也是自己从网上直接 copy 过来的,毕竟我也对PHP代码还算太精通,还在慢慢的学习中。。。
看吧,这个页面只有这两个文件,我要开始上传我的PHP恶意代码了。
选择我的PHP恶意代码。因为这个环境是PHP的,所以只能上传这个。
看吧,提示上传成功了!
是不是这个文件夹,变成三个文件了?那是不是正如我上面说的就可以控制这个网站了? 来看看吧。
这个是不是就是解析成功的意思?代码没有被显示出来。
直接上菜刀,看吧! 所以说,这个漏洞很是危险,决定着能否拿下 webshell 这权限的关键。
总结:
上传漏洞的原理就是未对用户上传的文件进行检查和过滤,导致某些别有用心的用户上传了一些恶意代码,从而控制了网站。当然你因为某些原因,可能无法限制的很死,但是身为管理者的你,更需要对这个点加以防范,比如一些安全软件,一些防护措施,都要打开。