0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

文件上传绕过的一次思路总结学习

jf_hKIAo4na 来源:csdn 2023-01-31 13:40 次阅读

这是朋友的一个渗透测试的项目,有个上传的黑名单,我就试了一下,本文章是一边测试一边记录的,对于一些知识点总结的不全,只是提供了一个渗透中碰到上传的思路,文章无排版,是笔记的形式做记录。

一丶测试上传正常文件

这里可以判定文件名虽然是重命名,但是可控的,因为我们上传的文件名被带进去了(*****_1.txt)这里利用的思路主要:

1.目录没有执行权限(通过控制文件名进行../../跳目录,跳到可以执行脚本语言的目录)

2.上传文件找不到路径(通过控制文件名进行../../跳目录,层级跳到根目录进行访问)

3.上传白名单截断 (有些文件上传处是白名单,后缀名不可以绕,可以利用控制文件名截断的方式去绕过白名单,例如1.jsp%00.jpg)

4.截断文件前置名(这里后面会详细讲)

94ee5f02-a121-11ed-bfe3-dac502259ad0.png

二丶测试上传非正常文件

这里主要观察是不是黑名单,或者说是没有限制名单,下图可以看到,上传tx格式是可以正常上传的,但是上传jsp文件就上传不成功。

如果上传tx可以上传,但是jsp不可以,可以判断为上传黑名单,这里可以尝试绕黑名单的一下后缀格式,常见的绕黑名单的后缀格式有:

aspx&asp:ashx、asa、asmx、cer

php:php3、phtml

jsp:jspx、jspf

这里简单列举几个,具体详细的我之前发的文章有,这里补充一个小知识点,假如站点为php的站点,但是只限制了php的后缀格式,我们这里可以利用别的脚本语言都测试一下,因为可能这个服务器可以运行多种语言,虽然概率比较低,但是没有好的绕过办法的时候可以试一下,万一成功了呢,我在项目中就碰到过这种情况

上传tx后缀,上传成功:

950b7dc6-a121-11ed-bfe3-dac502259ad0.png

上传jsp 上传失败:

951bda4a-a121-11ed-bfe3-dac502259ad0.png

三、绕过测试

这里主要讲一下常见的一些绕上传的方法,这个是朋友给的站,我也不知道能不能绕过去,我也是一边绕一边记录着,是我绕上传的一个基本的思路,给大家学习一下

上面测试了,上传黑名单,我们就先测试一下绕上传后缀

1.jspx绕过,失败,测试了别的php什么的都不可以,限制的比较全,html都不可以。

952cc3dc-a121-11ed-bfe3-dac502259ad0.png

2.截断绕过

这里可以尝试 :,;、%00、’、^ 等都可以,这几种方法在windows服务器上成功率是比较高的,因为windows在创建文件的时候这些特殊字符是不允许出现的

953bdf0c-a121-11ed-bfe3-dac502259ad0.png

最后测试利用 “:”截断成功了,但是很遗憾,虽然传上去了,也可以访问到,但是内容没有写进去,这就是利用:截断的一个弊端,只有文件,没有内容

95489b66-a121-11ed-bfe3-dac502259ad0.png

3.利用跳目录

因为文件名可以控制,我们就可以利用../跳目录的方式去截断代码本身给添加的前置名,就此系统为例,我们上传1.txt,代码会自动给我们添加2022_06_20_1.txt,这里的利用思路就是上传配合解析的配置文件,例如上传.htaccess配合解析,当然这里实战应用的场景还有很多,只是提供一个思路

9559e6a0-a121-11ed-bfe3-dac502259ad0.png

9583c0f6-a121-11ed-bfe3-dac502259ad0.png

我们这里也是成功截断前置名,并且跳到上层目录了,但是在此服务器这种方法并不是很好用,因为是java的站,利用此方式暂时没有好的getshell的方法,这里只是提供一下思路

四丶其他上传点继续测试

饶了半天始终是绕不过去,也不想绕了,但是文章都写到这里了,不能白白写啊,又问朋友要了个账号,测试一下后台有没有别的上传

功夫不负有心人,文章得以继续了

确实发现了另一个上传点

9591087e-a121-11ed-bfe3-dac502259ad0.png

这个上传点比较有意思,后缀可以用大小写直接绕过

95aac55c-a121-11ed-bfe3-dac502259ad0.png

这不直接get了吗?

然而并不是,访问文件目录404?

95b94be0-a121-11ed-bfe3-dac502259ad0.png

通过查看附件的功能发现,查看附件处是用base64加密的一个绝对物理路径

95c82d18-a121-11ed-bfe3-dac502259ad0.png

这里就直接运用我们之前的跳目录,通过报错找到网站的真实路径(也有其他方法查找真实路径,我这里是用的报错),直接上传

95f6c47a-a121-11ed-bfe3-dac502259ad0.png

但是不妙呀!1.jsP访问直接下载呀!JSPX也是

9602de90-a121-11ed-bfe3-dac502259ad0.png

这里就体现出我们之前跳目录加截断文件前置名的作用了

之前我们第一个上传点 ,可以利用:截断,上传jsp,但是文件内容传不上去,然后利用第二个上传点再上传一次同样文件名的文件 (1.jsp|1.jsP)

因为windows不区分大小写,所以就导致我们后面上传的1.jsP直接就把内容覆盖到1.jsp上面去了

960e3c40-a121-11ed-bfe3-dac502259ad0.png

最终获得大马一枚

9664a4e0-a121-11ed-bfe3-dac502259ad0.png

五、总结

其实对于黑名单的绕过方式很多,之前发过一个上传绕过的文章文件上传漏洞总结(绕过方法)_Azjj98的博客-CSDN博客_绕过上传漏洞有哪些方法并阐述其使用方法

具体可以看上面这个文章,但是现在在实战环境中,上传点的限制已经不只是代码层了,流量层的waf也是很恶心人,之前也写过文章Bypass WAF实战总结_Azjj98的博客-CSDN博客_bypass waf

后面的话找机会把上传的绕过跟bypassWaf都好好总结一下,之前写的文章都不是很全。


审核编辑 :李倩



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    4458

    浏览量

    125132
  • HTML
    +关注

    关注

    0

    文章

    273

    浏览量

    29299

原文标题:实战 | 文件上传绕过的一次思路总结学习(两个上传点组合Getshell)

文章出处:【微信号:菜鸟学安全,微信公众号:菜鸟学安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F205利用DMA实现多通道ADC采样,但是每启动一次转换才能更新一次结果是为什么?

    mode; 3、软件SWSTART启动AD转换后,每启动一次内存中只有一次转换结果更新,要完成12采样需要SWSTART启动12,为什么?单
    发表于 03-27 06:37

    请问如何一次同时烧录bootloader和application?

    我们的bootloader和bootloadable的例程产生的bootloader程序和application程序如何合并成个hex,一次烧录到芯片内?有什么AN或工具么?
    发表于 02-21 07:24

    TC397软件复位是只能执行一次吗?

    TC297软件复位可以正常使用,TC397的执行软件复位后只能正常复位一次,然后就直处于复位状态,程序不再运行,这是什么原因,还有什么其他操作设置吗
    发表于 02-05 07:16

    M460的EPWM_ACC问题,如果前一次的脉冲没执行完如何消除?

    请问M460的EPWM_ACC问题,如果前一次的脉冲没执行完,下一次计算,又来了脉冲,需要立刻清除之前未走完的脉冲。这时候需要如何处理? 例如: 第步,走10K脉冲, 第二步,根据计算,不管前
    发表于 01-16 07:21

    ADUCM360怎样才能实现AD每0.2秒采集一次数据?

    ADUCM360怎样才能实现AD每0.2秒采集一次数据?用定时器每0.2秒中断一次,在定时器中断中开始AD单转换一次,可以吗? void GP_Tmr0_Int_Handler(v
    发表于 01-12 06:34

    AD7328是不是往寄存器里写一次值 都会触发一次AD转换呢?

    AD7328是不是往寄存器里写一次值 ,都会触发一次AD转换呢? 有没有相关的C demo程序呢 ?
    发表于 12-25 06:30

    电脑登录游戏5分钟出错一次

    电脑登录游戏5分钟出错一次,游戏公司锁定我的电脑禁止登录,如何找到对方用了什么手段
    发表于 11-29 11:49

    如何用Python自动上传文件到百度网盘

    要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,包括显示文件列表、同步目录、文件上传。 仅支持 /
    的头像 发表于 10-16 11:28 620次阅读
    如何用Python自动<b class='flag-5'>上传</b><b class='flag-5'>文件</b>到百度网盘

    STM32F4串口IAP BIN文件过大无法一次接收完如何进行升级?

    对于BIN文件太大无法一次性接收完,如何进行升级
    发表于 10-15 07:06

    请问freeRTOS可以一次挂起所有任务吗?

    1.freeRTOS可以一次挂起所有任务吗? 2.在个界面下,如果不需要所有任务都运行,大家是怎么处理的?
    发表于 09-28 08:28

    USB带电状态下枚举后第一次数据上传,PC收不到是为什么?

    各位大佬好,我在工作使用NUC123这款设备,发现芯片带电情况下进行USB枚举后的第一次上传数据, PC有几率收不到,通过Debug发现设备发送了,但是PC就是没收到。 于是在NUC123例程
    发表于 08-22 06:46

    NR RLC部分的学习笔记总结(一)

    之前或多或少有对PHY,MAC及PDCP部分进行了总结,现在开始的是NR RLC部分的学习笔记总结,RLC是很重要的一层
    的头像 发表于 07-17 17:50 1712次阅读
    NR RLC部分的<b class='flag-5'>学习</b>笔记<b class='flag-5'>总结</b>(一)

    前端文件上传的几种交互造轮子

    前端文件上传本来是一个常规交互操作,没什么特殊性可言,但是最近在做文件上传,需要实现截图粘贴上传,去找了下有没有什么好用的组件,网上提供的方
    的头像 发表于 07-04 10:39 347次阅读

    XSS绕过思路分享

      一、白名单绕过 语句输出在标签内 比如 1.闭合标签构造语句 在白名单较为宽松的情况下,"和 都被放出,可以利用">先闭合标签,然后构造https://www.elecfans.com
    的头像 发表于 05-30 14:28 574次阅读

    如何在Arduino IDE之外将文件上传到SPIFFPS?

    我有个 ESP 项目(实际上它是针对 ESP32 的,但我假设 ESP8266 也样)。我使用 Arduino IDE。我将草图数据上传工具设置为将文件连同固件
    发表于 05-15 08:29