CTF-文件上传

时间:2020-02-11 19:11:47   收藏:0   阅读:1833

CTF-文件上传

写在前面:

文件上传漏洞常用于获取webshell,从而取得对目标网站(系统)的控制权。要获取shell,需要: 1.知道上传后文件所保存位置(不知道那就猜、爆破) 2.上传后文件的名字(是否被更改)

00一句话木马

<?php eval($_POST['password']);?>

一句话木马原理及不同类型:https://baike.baidu.com/item/%E4%B8%80%E5%8F%A5%E8%AF%9D%E6%9C%A8%E9%A9%AC/1845646?fr=aladdin
在文章后续会根据例子提供一句话木马的变式

01 毫无过滤

02 前端过滤

2.1绕过js过滤

例:

    function checkFile() {
        var file = document.getElementsByName('upload_file')[0].value;
        if (file == null || file == "") {
            alert("请选择要上传的文件!");
            return false;
        }
        //定义允许上传的文件类型
        var allow_ext = ".jpg|.png|.gif";
        //提取上传文件的类型
        var ext_name = file.substring(file.lastIndexOf("."));
        //判断上传文件类型是否允许上传
        if (allow_ext.indexOf(ext_name) == -1) {
            var errMsg = "该文件不允许上传,请上传jpg、png、gif结尾的图片噢!";
            alert(errMsg);
            return false;
        }
    }

绕过方式:

03 后端过滤

3.1 利用解析漏洞绕过

转载,原文地址:https://blog.csdn.net/qq_42636435/article/details/88096844

IIS 6.0在解析文件时存在以下两个解析漏洞。
当建立.asa、.asp格式的文件夹时,其目录下的任意文件都将被IIS当做asp文件来解析。
例如:建立文件夹parsing.asp,在parsing.asp文件夹内新建一个文本文档test.txt,其内容为<%=NOW()%>,然后在浏览器内访问。
“NOWO”是ASP提供获取当前时间的函数,TXT是文本文档格式,IIS是不会去解析此类文件的,应该会直接显示其内容,而在parsing.asp文件夹中,却被当作ASP脚本来解析。
当文件为*.asp;1.jpg时,IIS6.0同样会以ASP脚本来执行,如:新建文件test.asp;1.jpg,内容为<%=NOW()%>。

Apache是从右到左开始判断解析,如果为不可识别解析,就再往左判断,如xxx.php.owf.rar ,”.owf”和”.rar”这两种后缀是apache解析不了的,apache就会把xxx.php.owf.rar解析成php。
怎么去判断是不是合法的后缀就是这个漏洞利用关键,测试时把常见的后缀都写上,去测试是不是合法,任意不识别的后缀,逐级向上识别。
有些程序开发人员在上传文件时,判断文件名是否是PHP、ASP、ASPX、ASA、CER、ASPX等脚本扩展名,如果是,则不允许上传,这时攻击者就有可能上传1.php.rar等扩展名来绕过程序检测,并配合解析漏洞,获取到WebShell。

解析: (任意文件名)/(任意文件名).php | (任意文件名)%00.php
描述:目前Nginx主要有这两种漏洞,一个是对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加为test.jpg/x.php进行解析攻击。
还有一种是对低版本的Nginx可以在任意文件名后面添加%00.php进行解析攻击。

3.2 猜测过滤规则绕过

04 其他姿势

4.1 竞争上传

4.2 .user.ini 利用 (注:上传目录下要有可执行的php文件,一般是自带的,而不是自己上传的,要是可以的话,还需要这么多骚操作干什么)

大佬的教程链接:https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html
利用方式的复现地址:https://buuoj.cn/challenges#[SUCTF%202019]CheckIn

4.3 Apache.htaccess

大佬的教程链接:https://www.cnblogs.com/hmbb/p/9689436.html

05 常用一句话木马(php)

06 Attention:--------> 一般要利用文件上传漏洞需要结合上述多种操作才行,需要灵活变通

参考:

https://www.cnblogs.com/20175211lyz/p/10989689.html
https://www.cnblogs.com/wangtanzhi/p/12243206.html

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!