pikachu靶场-unsafe upfileupload getimagesize() – 作者:知非知非知非

1627431666_6100a2f253ba361e1699a.png!small

1627431671_6100a2f7b80eef7c2ef29.png!small

小知识:

getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,

失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。

getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。

实例:

<?php list($width, $height, $type, $attr) = getimagesize(“runoob-logo.png”); echo “宽度为:” . $width; echo “高度为:” . $height; echo “类型为:” . $type; echo “属性:” . $attr; ?>

宽度为:290 高度为:69 类型为:3 属性:width=”290″ height=”69″

如果用这个函数来获取类型,从而判断是否是图片的话,会存在问题。

它读取目标文件的 16 进制的头几个字符串,看符不符合图片要求,固定的图片文件前面几个字符串是一样的,但是图片头可以被伪造,因此还是可以被绕过。

我们这里还是先按照文件上传漏洞测评流程走!!!

1627431682_6100a302c69c0328e02c8.png!small

先上传一个正常的文件:

我这爆出一个错误信息!!!!

1627431689_6100a3096a74e48701ccc.png!small

解决方法:

1627431695_6100a30f89e0e3f84e562.png!small

1627431701_6100a3158b147df6560c8.png!small

接着上传!!!上传成功!!!

1627431709_6100a31d53543903cc625.png!small

并爆出了上传图片的路径信息!!!!

接着,就按照大佬的方法来走了!制作图片木马!步骤如下:

1627431715_6100a32351bbfd58b1269.png!small

刚开始,以为这是方法的多个步骤!!后来仔细一样,才发现这是三个方法!!

第一个方法:直接在WINHEX这种文件中把hacker.php的头部修改为GIF文件的头部GIF89A

第二个方法:通过WINDOWS命令,将正常的图片与攻击代码进行合并,形成新的包含攻击代码的图片。

第三个方法:使用软件,直接在图片中加入攻击代码。

我觉得,还是第二种方法,最为简单靠谱。

copy /b pikachu.jpg + hacker.php target.jpg

1627431724_6100a32c8e282738e7e55.png!small

1627431730_6100a332067198dbb178e.png!small

接下来,我们把上传上去!!!

1627431738_6100a33a0dc031c5a7bb6.png!small

文件保存的路径为:uploads/2021/07/13/82257360ed54dce7cd5554702037.jpg

我们直接访问试一下:

http://localhost/pikachu/vul/unsafeupload/uploads/2021/07/13/82257360ed54dce7cd5554702037.jpg

显示的是图片!!!

1627431745_6100a34144811b7d41f3a.png!small

接下来我们采用之前讲过的本地包含文件漏洞原理来包含该文件,并查看结果!!!!

http://localhost/pikachu/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

http://localhost/pikachu/vul/unsafeupload/uploads/2021/07/13/82257360ed54dce7cd5554702037.jpg

对比这两个链接,我们要把文件跳转到同一个目录下才可以包含!!!

跳转到同一个VUL目录下!!!!

http://localhost/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2021/07/13/82257360ed54dce7cd5554702037.jpg

&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

1627431754_6100a34a174e91fb4d256.png!small

接着我们再尝试一下GETSHELL脚本是不是可以用!!!

1627431774_6100a35eb0ed8c4335c1b.png!small

1627431779_6100a363c0860fe8e472d.png!small

1627431785_6100a3697a90e9407d46a.png!small

1627431790_6100a36edb44c11740edb.png!small

文件保存的路径为:uploads/2021/07/13/80592360ed56f8c2ac5780777647.jpg

http://localhost/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2021/07/13/80592360ed56f8c2ac5780777647.jpg

&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

1627431799_6100a377809147ad80381.png!small

1627431806_6100a37e6316bfbc4ea2f.png!small

成功拿到了SHELL!!!!

真棒!!!!

来源:freebuf.com 2021-07-28 08:24:19 by: 知非知非知非

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论