文件上传漏洞获取服务器,渗透测试-文件上传漏洞

声明:文中出现的ip为练习靶场,本文仅供学习,旨在学习web安全,不允许任何侵权行为

WebShell与WebShell管理工具

文件上传漏洞概述

文件上传漏洞绕过

文件上传漏洞防御

一、WebShell与WebShell管理工具

什么是WebShell

webshell,简称网页后门,简单的来说它是运行在web应用之上的远程控制程序。

webshell其实就是一张网页,由php、jsp、asp、asp.net等这类web应用程序语言开发,但webshell并不具备常见网页的功能,例如登录、注册、信息展示功能,一般会具备文件管理、端口扫描、提权、获取系统信息等功能。拥有较完整功能的webshell,我们一般称为大马。功能简易的webshell称为小马。除此之外还存在一句话木马、菜刀马、脱裤马等等的名词,是对于webshell功能或者特性的简称。

webshell之php一句话木马

@eval($_POST[x]); ?>

获取POST请求参数中x的值,例如POST请求中传递x=phpinfo(); 那么 $_POST[x] 就等同于 phpinfo();

@是错误控制运算符,当将 @ 放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

eval() 将字符串当做PHP代码去执行。例如eval(‘phpinfo();’) 其中 phpinfo(); 会被当做PHP代码去执行。

我们通过该webshell,传递任意PHP代码,让其去执行,从而达到任意代码执行。

webshell管理工具

中国蚁剑 是一款开源的跨平台网站管理工具,也是一款webshell管理工具,它主要面向与合法授权的渗透测试安全人员以及进行常规操作的网站管理员。中国蚁剑的核心代码模板均改自于伟大的中国菜刀。

二、文件上传漏洞概述

什么是文件上传漏洞

文件上传漏洞是指文件上传功能没有对上传的文件做合理严谨的过滤,导致用户可以利用此功能,上传能被服务端解析执行的文件,并通过此文件获得执行服务端命令的能力。

三、文件上传漏洞绕过

1. 前端js限制绕过

(1)开启插件noscript

(2)改webshell文件后缀名上传,利用burpsuite抓包改回文件后缀名

2. 服务端MIME 类型验证绕过

利用burpsuite抓包,将报文中的Content-Type改成允许的类型

Content-Type: image/gif

Content-Type: image/jpg

Content-Type: image/png

afedfc4b7470039545a0f4601c26e36e.png

256d35aa8360400d8e07238be531ce19.png

3. 服务器文件内容验证-文件头

图片格式往往不是根据文件后缀名去做判断的。文件头是文件开头的一段二进制,不同的图片类型,文件头是不同的。文件头又称文件幻数。

常见文件幻数:

JPG:FF D8 FF E0 00 10 4A 46 49 46

GIF :47 49 46 38 39 61 (GIF89a)

PNG:89 50 4E 47

(1)第一种方法:文件前缀加GIF89a

上传一张将后缀名为png改成gif出现如下结果

f9b8a71355088c389dd6a7e0b61ea60a.png

这说明服务端对文件内容文件头进行了检测

fbe4ced03bc50ec84f22491e7b18af27.png

(2)第二种方法:找一个gif图片,在最后把木马加上

2d041826520c74560439972f42e958e8.png

访问上传成功之后的文件名

75d6d16eb6c3b8d5f8c88acae7b5bddb.png

使用 antSword 连接

d159359f219cd4aa5f6382d0c7819a92.png

4. 服务端文件扩展名验证-黑名单绕过

后缀名大小写绕过:服务端没有将后缀名转换为统一格式进行对比,导致可以上传后缀为pHp的文件,又因为windows操作系统大小写不敏感,所以 .pHp 扔回被当成PHP文件解析。

重写绕过:服务端将黑名单的后缀名替换为空,但仅进行一次。上传.phphpp后缀,替换php一次为空,则后缀为.php。

特殊可解析后缀绕过:黑名单规则不严谨,在某些待定环境中某些特殊后缀名仍会被当做PHP文件解析。php|php2|php3|php4|php5|php6|php7|pht|phtm|phtml基于debian和ubuntu的apt-get安装apache,默认对于文件解析如下。d77512ae4d868540b2b5a1e0fa56b6db.png

.htaccess 绕过

在 apache里,这个文件作为一个配置文件,可以用来控制所在目录的访问权限以及解析设置。即是,可以通过设置可以将该目录下的所有文件作为php文件来解析

.htaccess可以写入apache配置信息,改变当前目录以及子目录的Apache配置信息。

配置上允许.htaccess生效

Apache开启rewrite模块

Apache配置文件为AllowOverride All(默认为None)

< FilesMatch ''sec.jpg" >

SetHandler application/x-httpd-php

< /FilesMatch >

sec.jpg 即可以php脚本解析

5. 利用windows特性

6231193029f23778156df103b9dfb220.png

a423387367473203af3a206a5067950b.png

warning :未经授权,不得转载

声明:本文旨在为学习网络信息安全的同学提供指引帮助,维护网络空间的安全

有问题的小伙伴请在下方留言,喜欢就点个赞吧;关注我,带你一起写bug

知乎:叄贰壹

简书:带只拖鞋去流浪

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值