image.png
打开题目,发现是文件上传,于是先试着上传一个PHP文件,但是被拦截了,上传png文件也被拦截,在上传jpg 文件,也是不行,那就抓包看下。image.png
这里如果数据包比较大的话,上传会失败。而且,这里只是type 验证,可以直接修改数据包绕过上传。但是又不能上传PHP文件,于是可以上传.htaccess文件来让服务器把jpg文件当成PHP文件解析。

  1. AddType application/x-httpd-php .jpg
  2. //表示把jpg当作php执行

先上传一个图片马:image.png
直接访问1.jpgimage.png
上传一个.htaccess文件,改变解析
image.png
再次访问1.jpg
image.png
看到图片马已经生效了。
用菜刀连接找到flag.

总结

1.htaccess文件是Apache服务器中的一个配置文件,也就是说,htaccess文件只对Apache文件生效。
2.上传图片马的时候,文件内容不能太多。
3.image.png修改完文件后缀,有的时候也要修改type类型