漏洞产生原因:①代码层:开发者在编写代码的时候不严谨,未对文件上传的合法性进行检验;
②应用层:web容器漏洞,cgi,配置不当;
有网站到服务器上传文件的常用检测手段:①js(一般是检测文件后缀名)-可修改本地js代码或通过浏览器自带功能“No-script”进行绕过;
②服务器端MIME检测-对contenttype的额检测;
③服务端目录路径检测,一般是检测目录路径是否合理,漏洞原因是对目录路径的检测不够严谨,可以用0x00截断进行攻击
④服务器端文件拓展名检测绕过,分为白名单检测和黑名单检测:Ⅰ黑名单:文件名大小写绕过;名单列表绕过;特殊文件名绕过;0x00截断绕;htaccess文件攻击;Ⅱ白名单:0x00截断绕过;解析调用/漏洞绕过;
⑤服务端文件内容检测绕过
⑥加载文件检测:这个是最变态的检测了,一般是调用 API 或函数去进行文件加载测试 常见的是图像渲染测试,再 变态点的甚至是进行二次渲染。对渲染/加载测试的攻击 方式是代码注入绕过,对二次渲染的攻击方式是攻击文件 加载器自身,常见的是溢出攻击,上传自己的恶意文件后 ,服务器上的文件加载器会主动进行加载测试 加载测试 时被溢出攻击执行shellcode。
时间: 2024-10-18 02:26:16