upload-labs解题记录(1-11)

要上传的文件phpInfo.php

//文件内容
<?php
	phpinfo();
?>

如何查看文件是否上传成功

upload-labs解题记录(1-11)_第1张图片

Pass-01

将我们准备好的phpInfo.php文件上传,发现弹窗警告,说明前端进行了限制。
检查元素(F12),找到限制的地方,删除onsubmit中的内容
upload-labs解题记录(1-11)_第2张图片上传成功
upload-labs解题记录(1-11)_第3张图片

Pass-02

显示源码,发现对我们上传文件的类型做了限制,只能上传图片中的三种类型
upload-labs解题记录(1-11)_第4张图片打开burpsuite进行抓包,修改Content-type为image/jpeg
upload-labs解题记录(1-11)_第5张图片上传成功
upload-labs解题记录(1-11)_第6张图片

Pass-03

查看源码发现,这一关对尾缀进行了限制,.asp .aspx .php .jsp为后缀的文件不可以上传
upload-labs解题记录(1-11)_第7张图片用其他后缀替代被限制的后缀,抓包修改phpInfo的后缀
可以替换.php的后缀 :.php3 .php5 .pht .phtml .phtm .shtml .pwml
可以替换.jsp的后缀 :.jspx .jspf .jspa .jsw .jsv .jtml
可以替换.asp的后缀:.asa .asax .aspx .ascx .ashx .asmx
upload-labs解题记录(1-11)_第8张图片上传成功
upload-labs解题记录(1-11)_第9张图片

Pass-04

这一关用到了一个windows的知识点——Windows对扩展名的修复,我们可以将文件名修改为phpInfo.php:1.jpg 因为无法识别冒号(在桌面新建一个文件,输入冒号试试),所以冒号及冒号之后的东西都会被舍弃,这样就还是phpInfo.php。

抓包修改filename为phpInfo.php:1.jpg
upload-labs解题记录(1-11)_第10张图片
上传成功
upload-labs解题记录(1-11)_第11张图片

Pass-05

同第四关,利用Windows对文件的扩展名修复,抓包修改filename为phpInfo.php:1.jpg
上传成功

upload-labs解题记录(1-11)_第12张图片

Pass-06

查看源码发现没有对文件后缀名大小写进行限制,采用大写绕过
抓包修改phpInfo.php为phpInfo.PHP
upload-labs解题记录(1-11)_第13张图片
上传成功
upload-labs解题记录(1-11)_第14张图片

Pass-07

查看源码发现没有对文件名前后的空格进行限制,抓包修改filename 在phpInfo.php后加一个空格
upload-labs解题记录(1-11)_第15张图片
上传成功

upload-labs解题记录(1-11)_第16张图片

Pass-08

查看源码,发现没有对文件名之后输入点进行限制,那我们就在文件名之后加一个点
upload-labs解题记录(1-11)_第17张图片
上传成功

upload-labs解题记录(1-11)_第18张图片

Pass-09

查看源码发现没有对:: D A T A 进 行 限 制 , 所 以 我 们 在 p h p I n f o . p h p 后 加 上 : : DATA进行限制,所以我们在phpInfo.php后加上:: DATAphpInfo.php::DATA

upload-labs解题记录(1-11)_第19张图片
上传成功
upload-labs解题记录(1-11)_第20张图片

Pass-10

没什么办法,那就只能windows文件扩展名修复了(万能的)
upload-labs解题记录(1-11)_第21张图片
上传成功
upload-labs解题记录(1-11)_第22张图片

Pass-11

查看源码可以发现黑名单中的后缀被str_ireplace函数转换成了空
upload-labs解题记录(1-11)_第23张图片
采用双写绕过,抓包修改filename为phpInfo.pphphp,就算后缀中的额php被转换为了空,剩下的字母还会拼成php
upload-labs解题记录(1-11)_第24张图片
上传成功
upload-labs解题记录(1-11)_第25张图片

你可能感兴趣的:(信息安全练习)