本文所有知识点均用于网络安全防御技术学习 ,攻击手段仅可在合法授权的靶机测试环境中使用。未经授权侵入他人系统、窃取信息属违法行为,将承担相应法律责任。网络安全的核心是 "攻防兼备",掌握攻击手段的同时,更要牢记防护使命,共同维护网络空间安全。
目录
[pass-14(图片马,利用 file 协议)](#pass-14(图片马,利用 file 协议))
[pass-15(图片马,利用 getimagesize)](#pass-15(图片马,利用 getimagesize))
[pass-16((图片马,利用 exif_imagetype)](#pass-16((图片马,利用 exif_imagetype))
upload-labs第14关意外字符报错解决
刚做14关的时候,一直出现错误,显示出现意外字符,但是我也检查了好几遍我的php文件没有问题啊,也没有多用的字符,重新创建一个文件,无论写phpinfo()还是写一句话木马,用copy生成的图片马都无法正常被解析。我也是按照步骤来的,但是就是一直出现错误

就在我不想做的时候,我就想,会不会是图片被损坏了,然后就重新找一张图片,重新用命令生成,然后上传上去,结果成功了。
pass-14(图片马,利用 file 协议)
创建一个3.php文件,写如下面代码
GIF89A
<?php
phpinfo();
?>

然后随便找一张图片,命名为3.png

然后在当前文件夹目录下运行下面代码
bash
copy 3.png /b + 3.php /a 33.png

显示上面的图片的运行结果代码成功的制作了图片马,打开文件的目录,会看到生成了一张33.png图片,用记事本打开

滑到最下面,看看是否有我们写的php代码

有就代表成功了
然后打开14关,选择33.png文件,点击上传
右键图片,点击复制图像链接

点击文件包含漏洞

界面如下

在地址栏链接后面输入
bash
?file=
等号的后面粘贴刚刚复制的图片链接的后半部分,最终链接如下

然后点击回车

滑倒最下面,界面如下代表成功了

pass-15(图片马,利用 getimagesize)
这一关和14关其实是一样的操作方法就可以通过,首先上传上一关的33.png这个图片马文件

上传之后复制这张图片的链接

然后点击文件包含漏洞

然后在点卡的地址栏后面输入
?file=
后面再粘贴上刚刚复制的路径

然后把粘贴的路径的前面部分删掉,只留下后面的,如下图

点击回车,把页面拉到下面可以看见如图所示这种界面就成功了

pass-16((图片马,利用 exif_imagetype)
知识补充: exif_imagetye()读取一个图像的第一个字节并检查其后缀名。 返回值与 getimage()函数返回的索引 2 相同,但是速度比 getimage 快得多。需
要开启 php_exif 模块
打开2018版本的phpstudy,按照如下开启这个模块

其他的就和上面两关一样了
上传图片马,复制图像链接

点击文件包含漏洞

按照下图构造链接

点击回车出现如下界面代表成功
