upload-labs解题(1)

0x00:js绕过
上传的文件在网页本地,可以直接修改js代码
upload-labs解题(1)_第1张图片上传的时候调用了一个本地的js函数:checkFlie();查看checkfile
upload-labs解题(1)_第2张图片发现只是允许jpg,png,和gif图片上传

  1. 禁用js的checkfile函数
  2. 修改checkfile函数
  3. 先上传图片格式的一句话木马,然后抓包改包修改回来
    1.上传的时候不调用js
    upload-labs解题(1)_第3张图片2.修改checkfile函数,把php也加入允许范围
    upload-labs解题(1)_第4张图片3.先上传图片后缀的木马,然后再抓包修改
    upload-labs解题(1)_第5张图片upload-labs解题(1)_第6张图片测试连接
    upload-labs解题(1)_第7张图片

0x01:MIME绕过

抓包,修改mime

0x02:文件名绕过

源码
upload-labs解题(1)_第8张图片禁止上传.asp.php.aspx.jsp后缀的文件,(大写也不能,因为后面都转化为了小写的了),但是没有禁止.php3.phtml等可执行文件后缀。所以上传一个.php3的文件。成功连接!(网上可以查看php不安全扩展名)

0x03 黑名单绕过:.htaccess文件解析命令

看源码发现几乎禁止了一切可执行的文件后缀的文件上传,但是没有禁止.htaccess文件解析命令的上传,所以可以上传 一个.htaccess的 文件,它会将 一个指定的后缀的文件解析成另外一种文件来执行。
这里我们上传一个.htaccess文件,让它将.jpg文件解析成php文件来运行

SetHandler application/x-httpd-php

上传 ,将所有文件都解析成php文件,
然后再上传一个木马图片。
upload-labs解题(1)_第9张图片上传成功,然后图片马。打开图片地址(打开的时候系统会将图片解析成为php文件,然后运行)
upload-labs解题(1)_第10张图片

0x04:黑名单绕过 :大小写绕过

和上一个 题目一样,禁止了所有可执行文件的后缀包括.htaccess
在这里插入图片描述但是没有禁止大小写绕过
upload-labs解题(1)_第11张图片所以上传有大写的后缀
在这里插入图片描述
upload-labs解题(1)_第12张图片

0x05:后缀尾留空绕过

源码
upload-labs解题(1)_第13张图片在提取文件后缀的时候,没有用trim()函数进行去空处理,
所以在文件后缀后面再加一个空格
upload-labs解题(1)_第14张图片

0x06:加点绕过

upload-labs解题(1)_第15张图片黑名单,但是没有对后缀名进行去"."处理,
upload-labs解题(1)_第16张图片
upload-labs解题(1)_第17张图片

0x07:::$DATA绕过

upload-labs解题(1)_第18张图片黑名单,但是没有对后缀名的去"::$DATA"处理,所以在后缀名后面加上"::$DATA"
upload-labs解题(1)_第19张图片打开文件的时候没有成功,因为目标靶机是Linux系统,而"::$DATA"绕过要在window上才可以,数据流~~~~
参考大佬们的博客发现:成立条件比较苛刻
upload-labs解题(1)_第20张图片

0x08:pass -08

upload-labs解题(1)_第21张图片黑名单 ,空格,点,::$DATA都不行。
但是发现在拼接文件访问路径的时候直接用的是file_name变量而不是用处理后的file_ext变量,所以就可以构建一个文件名,既可以使它经过处理后生成的file_ext不在黑名单中,然后用在访问用file_name构建的地址时,解析file_name时是一个可执行的php文件。
upload-labs解题(1)_第22张图片处理后,"file_ext=."而"file_name=zjh.php. "
成功!!

0x09:str_ireplace() 函数绕过

upload-labs解题(1)_第23张图片看看str_ireplace()函数的用法
upload-labs解题(1)_第24张图片
upload-labs解题(1)_第25张图片从左往右开始索引目标数组,所以改改文件后缀
upload-labs解题(1)_第26张图片用 蚁剑连接
upload-labs解题(1)_第27张图片打开虚拟终端用 cat /flag暴力打印出flag
upload-labs解题(1)_第28张图片

总之姿势对了,flag就有了

你可能感兴趣的:(CTF)