CTFHub - 文件上传(一)无验证,前端验证

0X00 无验证

在这里插入图片描述

这题是文件上传,无验证,也就是说不会对我们上传的文件进行检测过滤,于是可以直接上传一句话木马文件, <?php eval($_POST['password']);?>
在这里插入图片描述

上传成功后使用蚁剑进行连接
在这里插入图片描述

查看目录下的文件,找到flag_545955.php文件,打开得到flag。

在这里插入图片描述
在这里插入图片描述

0X01 前端验证

比起上一题,这题多了个前端验证,JavaScript会在前端验证用户上传的文件是否符合要求,在用户点击上传的时候会触发onsubmit事件,检测用户文件的后缀名。
在这里插入图片描述先尝试上传.php一句话木马文件,得到不允许上传的提示。
在这里插入图片描述

如果只是通过前端验证文件格式的话有几种方式可以进行绕过。

1、直接删除onsubmit事件

可以使用浏览器的编辑功能,将页面中的submit事件删除,这样前端就不会对上传的文件后缀名进行检测,就能达到绕过的目的。

删掉图中的onsubmit事件
在这里插入图片描述

成功上传.php文件
在这里插入图片描述

2、禁用浏览器的JavaScript

他对文件的检测依靠于JavaScript的使用,禁用浏览器的JavaScript,可以直接让其过滤效果失效。

以火狐浏览器为例,地址栏输入about:config,点击回车键,找到如图的地方,点击右边按钮禁用JavaScript。
在这里插入图片描述

回到页面中,继续上传文件成功。
在这里插入图片描述

3、抓包修改

我们可以事先将.php文件后缀名修改为白名单中的后缀名,例如可修改为.jpg后缀名,上传文件,使用burpsuite进行抓包:
在这里插入图片描述

将图中的位置修改为shell.php,然后将其发送,通过响应内容得知文件上传成功!
在这里插入图片描述

成功绕过前端检测上传文件后,使用蚁剑进行连接,成功拿到flag!
在这里插入图片描述

在这里插入图片描述

文件上传种常见的Web漏洞,攻击者可以通过上传恶意文件来执行任意代码或获取敏感信息。根据引用的内容,有几种方法可以绕过文件上传的限制。 种方法是通过抓包修改上传请求的文件名和路径来绕过后端的过滤。这可以通过使用工具如蚁剑来连接服务器并上传文件。在上传过程中,可以注意到在文件名后面添加%00可以绕过些过滤规则。然后可以在服务器的www目录下找到flag文件。这种方法适用于前端认证的过滤。 另种方法是通过绕过服务器代码的过滤来上传恶意文件。这种过滤无法通过抓包修改后缀名来达到效果。种常见的方法是上传个jpg格式的句话木马文件,并同时上传.htaccess文件来绕过mime类型的过滤。通过蚁剑连接服务器,可以看到上传的两个文件,并在www目录下找到flag文件。这种方法适用于服务器代码的过滤。 还有种方法是上传个.htaccess文件,并在其中设置将文件名后缀为.png的文件当作php文件解析。通过上传符合重新规则的文件,并使用蚁剑连接服务器,可以成功执行恶意代码。这种方法也适用于服务器代码的过滤。 需要注意的是,文件上传漏洞是种严重的安全,开发者应该采取适当的措施来防止此类漏洞的发生,如限制上传文件的类型和大小,对上传的文件进行严格的验证和过滤等。 #### 引用[.reference_title] - *1* *2* [ctfhub技能树—文件上传()](https://blog.youkuaiyun.com/qq_45569969/article/details/113778167)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CTFHub-Web-文件上传](https://blog.youkuaiyun.com/qq_54037445/article/details/128093423)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值