文件上传与文件包含漏洞

day2

什么是文件上传?

文件上传指用户在相应的权限下上传正常的图片或者文件内容。

什么是文件上传漏洞?

简单来说,文件上传漏洞指用户超过其权限,绕过限制上传了不允许上传的内容,这里上传的文件可以是木马、病毒、恶意脚本或者webshell等
最常见的一个webshell就是php一句话木马:

<?php
    @eval($_POST[1]);
?>
jsp:
<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
asp:
<%eval request("x")%>
造成文件上传的原因

1.对于上传文件的后缀名没有做较为严格的限制
2.对于上传的mimetype没有做检查
3.权限上没有对上传的目录设置不可执行权限
4.服务器对上传文件或者指定目录的行为没有做限制

文件上传漏洞

1.黑名单:禁止某些种类的文件进行上传。 假如为 .php .py .java
2.白名单:只允许某些种类的文件进行上传。 假如为 .jpg .png .gif
黑白名单的判别:上传自己随便定义的类型,假如为xxxx.jpg,如果他给我拦截下来说明这种类型的文件不允许上传,那么它应该是一个白名单
如果上传成功说明它是黑名单
如何绕过黑名单

假如php文件被加入了黑名单   .php  <?php @eval ($_POST[1]);?>
1.大小写    Php!=php     .Php和.php是不一样的
2.加点加空格  例如  .php与.php.是不一样的  .php与.php空格也是不一样的文件
3.解析一个别名    例如  .php .php3 .php4 .phtml
4.ntfs流     .php::$DATA
5.配置文件的上传   .htaccess(假如将jpg解析为php)    user.ini

如何绕过白名单
1.%00做截断 xxx.php%00.jpg(上传时是从后往前格式为jpg允许上传,解析时从前往后,这样就成功把php文件上传了上去) 2.解析漏洞 apache xx.jpg/ .php(直接将jpg文件解析成php文件,使得木马成功执行)

要拿shell不是把木马上传上去就行了!
执行命令
1.我们要能够上传木马文件
2.我们要能访问到我们的木马文件
3.我们要能够解析我们的恶意文件(图片马)

小白的学习心得,如有不足还请各位师傅指教!
在这里插入图片描述

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值