iwebsec 文件上传篇(已完结)

文章详细介绍了多种文件上传过滤绕过的方法,包括前端JS过滤、文件名过滤、Content-Type过滤、文件头过滤、.htaccess文件上传、文件截断上传和条件竞争文件上传。这些技术常用于Web安全测试和防护,揭示了代码审查和安全设置的重要性。
摘要由CSDN通过智能技术生成

01. 前端JS过滤绕过

意思很简单,就是在前端对文件后缀进行了检查过滤。

在这里插入图片描述

可以看到只能上传jpg、jpeg、png等图片。但是我们可以使用bp进行重放达到成功上传任意文件的目的。

在这里插入图片描述

可以看到上传成功,我们可以访问uploads/b.php验证一下。

在这里插入图片描述

可以看到php代码已经执行了。同时可以看一下uploads目录

在这里插入图片描述

02. 文件名过滤绕过

后端对文件名进行了过滤。

在这里插入图片描述

可以看到后端只是过滤了php,我们可以使用大小写,php4等绕过

在这里插入图片描述

在这里插入图片描述

:大家刚开始可能找上传路径的时候会有点迷,如果使用bp可以在响应框里面仔细看一下,一般就是在最后,或者在浏览器按F12后,上传正常文件查看路径,看下图,可以很简单的就拿到上传的路径信息。(在Network)部分查看,截图截少了。

在这里插入图片描述

03. Content-Type过滤绕过

简单来说就是文件类型过滤,我们可以通过抓包修改文件的Content-Type达到成功上传任意文件的目的。

在这里插入图片描述

在这里插入图片描述

我们可以看一下源码,发现确实就单纯过滤了Content-Type

在这里插入图片描述

04. 文件头过滤绕过

什么是文件头呢?每个不同类型的文件都有不同的文件头,大家可以使用010或者其他软件打开查看一下

在这里插入图片描述

我们常加的是gif的文件头,因为比较好记。GIF89a

在这里插入图片描述

在这里插入图片描述

可以看到源码里面使用exif_imagetype函数来判断。

在这里插入图片描述

05. .htaccess文件上传

.htaccess文件上传是利用.htaccess文件可以对Web服务器进行配置的功能,实现将扩展名.jpg、.png等的文件当作PHP文件解析的过程。同时该文件起作用的有效时间我记得是限制的,好像是五分钟(不确定)。噢,对了,大家要先上传.htaccess文件后再上传.jpg文件

在这里插入图片描述

在这里插入图片描述

06. 文件截断上传

文件截断上传原理是,上传路径可控。后端又对上传的文件名进行截取然后拼接后缀名存储。

在这里插入图片描述

可以看到,就算我们上传a.php的话,最终也是随机数+jpg的格式存储到up目录下。

在这里插入图片描述

但是由于上传路径可控,这就可以使用%00来进行截断了。这里有个技巧就是在路径后面随便添加一些字符,以便修改为00

在这里插入图片描述

在这里插入图片描述

最后访问test.php即可

在这里插入图片描述

07. 条件竞争文件上传

条件竞争的原理很简单,就是上传文件的时候,会先把该文件存储在该目录下,然后检测文件是否合理。两者间就会有一段空闲的时间,所以在这个时间段我们就可以访问这个文件,但是这个间隔很小,需要使用bp的重复功能进行爆破。大家可以看一下源码

在这里插入图片描述

所以说,条件竞争产生的原因就是代码写的不够严谨

在这里插入图片描述

先使用bp,拦截上传页面以及访问a.php的页面

在这里插入图片描述

然后使用暴力破解模块进行攻击

在这里插入图片描述

最终可以发现有一些访问到了的请求。

注意:这个只是演示存在条件竞争,我们真正利用在实际中,是写一个可以创建另外一个php文件的脚本达到上传木马的目的。毕竟就算访问成功,文件还是会被删除的,所以我们要在文件删除前创建一个新的木马。

如:

<?php fputs(fopen("shell.php","w"),"<?php @eval($_POST[123]);?>");?>

完结,写的比较仓促,可能有一些会没有注意到。大家如果对文件上传路径迷惑的话,可以看一下第二关结尾的部分。因为前面忘记有一些人可能会找不到上传路径的问题。

  • 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、付费专栏及课程。

余额充值