文件上传漏洞 (upload部分通关教程)

一、抓包修改后缀名绕过前端验证,实现上传木马(第一关)

只适合只有前端验证的网站

一句话木马:

<?php
@eval($_POST['a']);
?>

保存到文件中:

使用第一关直接上传,报错:

按照网站要求,修改文件后缀名为jpg:

重新上传111.jpg文件,打开burp抓包,修改包中的后缀名

点击Forword上传,上传成功:

使用蚁剑连接后台步骤:

复制url:

连接成功:

原理就是验证后缀名的函数是在前端,当我们修改为jpg时,点击上传就通过了验证,但是包会被burp拦截,我们在修改后缀名,就能成功上传非法的文件了。

二、禁用前端JavaScript,绕过前端过滤

先把浏览器的前端JavaScript关闭:

直接上传php文件就好,可以上传成功

三、直接修改前端验证函数

F12:

然后直接上传php文件就可以,上传成功

四、使用Content-Type绕过后端验证(第二关)

当后端使用content-type来判断上传的文件类型时,我们更改burp抓包的此属性为合法的即可绕过验证

Content-Type: image/jpeg 这个是jpg文件的属性

我们上传php文件:

修改这个值为合法的jpg

修改后:

上传成功

蚁剑连接成功:

五、绕过后端验证,黑名单(第三关)

当后端使用黑名单机制禁止.php .php3等后缀时,我们要修改成不在黑名单内的后缀来绕过(比如.php5),但是缺点是我们还要在中间件中(httpd.conf)修改参数,确保我们修改后的后缀能够使用。所以需要有管理员权限才能使用,但是有了这权限还搞这个干嘛。同时,php的版本不能有nts,只适合老版本的网站。

六、.htaccess绕过后端验证,黑名单(第四关)

 $deny_ext = array(".php",".php5",".php4",".php3",".php2",".php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".ini");

第四关就是黑名单更长了,后端把常用到的后缀都禁止了,但是漏了一个.htaccess 这个是局部的文件,只会影响当前目录或子目录

我们在一个以.htaccess结尾的文件中输入:

AddType application/x-httpd-php .jpg .txt

作用就是将.jpg .txt结尾的文件解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值