文件上传漏洞 分析与利用
2021-03-10 15:27
标签:恶意代码 服务端 嵌入 一句话 复习 列表 ima 后缀 strong 文件包含和文件上传 俩个漏洞结合起来的利用 文件上传漏洞使用 将图片头复制过来 伪造图片 然后将恶意代码嵌入 将jpg上传成功后 得到路径 就可以读取文件 所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如: 1.验证文件类型、后缀名、大小; 2.验证文件的上传方式; 3.对文件进行一定复杂的重命名; 4.不要暴露文件上传后的路径等 文件上传漏洞的防范措施 1. 不要在前端使用js实施上传策略。 2. 通过服务端对上传文件进行限制: A)进行多条件组合检查:比如文件的大小,路径,扩展名,文件类型,文件完整性。 B)对上传的文件在服务器上存储时进行重命名(制定合理的命令规则)。 C)对服务器端上传文件的目录进行权限控制(比如只读),限制执行权限带来的危害。 首先复习一下之前自己写过的博客: pikachu文件上传 : https://www.cnblogs.com/xingyuner/p/12310214.html 1、前端限制 在JS中限制 只允许上传jpg 在前端页面删除限制语句即可 上传成功后 而且在实际操作中 要知道上传的路径 才能进行操作 2、MIME TYPE 修改文件type 上传成功 3、图片木马制作 方法1 :直接伪造头部GIF89A 方法2:CMD: copy /b test.png + muma.php ccc.png 方法3.使用GIMP (开源的图片修改软件) , 通过增加备注,写入执行命令 DVWA文件上传: https://www.cnblogs.com/xingyuner/p/12292235.html 低: 直接上传php文件 菜刀链接 中:①之前的php文件改成png文件上传、 ②首先上传一个jpg文件,然后抓包上传文件的数据,修改其为php文件 ③%00截断 .php%00.png 在php版本小于5.3.4的服务器中,当Magic_quote_gpc选项为off时,可以在文件名中使用%00截断 修改文件后缀名为.php%00.png 高:首先利用copy将一句话木马文件ghz.php与图片文件3.jpg合并 cmd中 test.png + muma.php ccc.png 就会执行成功 pikachu文件包含:https://www.cnblogs.com/xingyuner/p/12309934.html 本地文件包含 远程文件包含
DVWA文件包含:https://www.cnblogs.com/xingyuner/p/12285861.html File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。 文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)。 文件上传检测控制方法 ?1、通过前端JavaScript检测文件扩展名 ?2、服务器端检测文件传输类型content-type ?3、服务器端检测文件扩展名 ?4、服务器端文件内容检测 ?5、00截断的应用 中间件解析漏洞和利用: IIS6.0解析漏洞 1、目录解析: -在网站下建立文件夹的名字为.asp /.asa的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。 -利用方法:建目录a.asp,目录中/a.asp/a.jpg 将会被按照正常的asp文件进行解析。 2、文件解析: -在IIS6.0下,分号后面的不被解析,如a.asp;.jpg会被当做a.asp -利用方法:上传文件名为xx.asp;.jpg格式 3、?还有iis6.0默认的可执行文件除了asp还包含(常用来绕过黑名单检测) -.asa -.cer -.cdx Apache2.0-2.2未知扩展名解析漏洞 ?Apache 是从右到左开始判断文件扩展名来解析文件,如果文件扩展名不被识别,就再往左判断,直到可以识别为止。 ?例如udp.php.sss这个文件.sss后缀是apache不可识别解析,apache就会往前判断,当识别PHP时,就把udp.php.sss解析成php文件解析了。 Apache .htaccess配置文件 ?.htaccess文件是Apache服务器中的一个配置文件,它负责某一个目录下的网页配置配置,通过.htaccess可以实现分布式的配置。 ?通过htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能 IIS平台上不存在该文件, htaccess配置文件的开启 ?Vim /etc/httpd/conf/httpd.conf ?该文件默认开启,启用和关闭在httpd.conf文件中配置。
Apache .htaccess配置文件解析利用 ?1、建立.htaccess文件,写入-AddTypeapplication/x-httpd-php .jpg-可以实现将.jpg的文件按照php解析执行 ?2、上传.htaccess到服务器的目录(马在.htaccess在同目录或者子目录即可) ?3、上传.jpg的图片马,访问图片即可执行 Nginx解析漏洞 ?Nginx 主要有这两种漏洞 -1、低版本的Nginx 可以在任意文件名后面添加%00.php 进行解析攻击。如:test.jpg%00.php -影响版:0.5.,0.6., 0.7 -2、一个是对任意文件名,在后面添加/任意文件名.php的解析漏洞。如:test.jpg/x.php(php-cgi的漏洞,本质与nginx无关的) -漏洞场景IIS+php或Nginx+php?测试版本-nginx0.5.* [Success]-nginx0.6.* [Success]-nginx0.7 常见编辑器漏洞和利用 文件上传漏洞 分析与利用 标签:恶意代码 服务端 嵌入 一句话 复习 列表 ima 后缀 strong 原文地址:https://www.cnblogs.com/xingyuner/p/12853040.html