ctf 图片 php_CTF-文件上传

CTF-文件上传

写在前面:

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

00一句话木马

一句话木马原理及不同类型:https://baike.baidu.com/item/%E4%B8%80%E5%8F%A5%E8%AF%9D%E6%9C%A8%E9%A9%AC/1845646?fr=aladdin

在文章后续会根据例子提供一句话木马的变式

01 毫无过滤

直接上传即可获取webshell

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;

}

}

绕过方式:

1

在控制台重新定义函数 function checkFile(){} 回车即可(注:需要在未触发该函数前)

20200211191147281605.png

2

将一句话木马文件后缀改为.png .jpg .gif后,点击上传。用BurpSuite截断,然后将文件名再替换成.php

20200211191147413433.png

03 后端过滤

3.1 利用解析漏洞绕过

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

余额充值