fileupload-基于pikachu的学习

打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

文件上传

原理

文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、巨细等等,然后将其按照设计的格式进行重定名后存储在指定的目录。 如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着大概会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。
所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如:
--验证文件类型、后缀名、巨细;
--验证文件的上传方式;
--对文件进行一定复杂的重定名;
--不要暴露文件上传后的路径;
--等等...
Pikachu

client check

打开标题,就是上传不乐成,说文件不符合,F12去找找源码

发现前端验证,我们就给一句话木马明显test.jpg,然后抓包改名字,一句话木马如下
  1. [/code][align=center][img]https://img2023.cnblogs.com/blog/3439569/202405/3439569-20240505205422720-1149493217.png[/img][/align]
  2. 然后给文件名改为test.php
  3. [align=center][img]https://img2023.cnblogs.com/blog/3439569/202405/3439569-20240505205422256-348307810.png[/img][/align]
  4. 上传后有路径
  5. [align=center][img]https://img2023.cnblogs.com/blog/3439569/202405/3439569-20240505205421861-409592260.png[/img][/align]
  6. 蚁剑毗连一下
  7. [align=center][img]https://img2023.cnblogs.com/blog/3439569/202405/3439569-20240505205421380-627217486.png[/img][/align]
  8. [size=4]MIME type[/size]
  9. MIME:当文件的扩展名是用一种应用步伐来打开的方式类型,当扩展名文件被访问的时候,浏览器会主动指定应用步伐来打开。
  10. 有点绕口,普通点就是,我们上传的文件被判定为content-type字段时,可以通过[url=https://so.csdn.net/so/search?q=%E6%8A%93%E5%8C%85&spm=1001.2101.3001.7020]抓包[/url],将content-type字段改为常见的图片类型,例如inamge/gif,从而绕过。也就是我们上传php文件时,可以改为jpg、png之类的,然后实现绕过。
  11. MIME((Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。
  12. [code]  常见的MME类型,例如:
  13.   超文本标记语言文本 .html,html text/htm
  14.   普通文本  .txt text/plain
  15.   RTF文本. rtf application/rtf
  16.   GIF图形 .gif image/gif
  17.   JPEG图形 . jpg image/jpeg
复制代码
所以这道题我们就是改一下content-type字段,然后上传
老规矩抓包

由于我这边上传的就是上一题的那个木马后缀为jpg,所以这里的字段就是jpg,我们直接改一下文件后缀,和上一题一样
这次改成test2.php,上传乐成

然后蚁剑试着毗连一下吧

毗连乐成
getimagesize

php getimagesize 函数 - 获取图像信息
getimagesize() 函数用于获取图像巨细及相关信息,乐成返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。
语法格式:
  1. array getimagesize ( string $filename [, array &$imageinfo ] )
复制代码
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的巨细并返回图像的尺寸以及文件类型及图片高度与宽度。
这道题我们试试传前两关用的一句话木马试试

上传失败,我们再抓包改改文件内容试试,加了一个文件头GIF89a试试

上传乐成

但是这上传的都是图片,一般需要配合上传
  1. .user.ini
  2. .htaccess
复制代码
详情了解这个文件看
文件上传之 .htaccess文件getshell_上传.htaccess后再上传jpg文件-CSDN博客
[文件上传]浅析.user.ini的利用-CSDN博客
这道题回显如下

所以也是没办法了,最后搜了搜大家的题解,就是配合前几关的文件包罗去执行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表