今天继续给大家介绍渗透测试相关知识,为了方便大家对upload-labs靶场第17关的理解,本文主要内容是upload-labs靶场第17关设计PHP函数解析。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
move_upload_file()函数可以将客户端上传的文件(指的是通过HTTP POST机制上传的文件,不是任意的文件,这种文件在上传到服务器后,会形成一个临时文件)移动到指定的位置。
move_upload-file()函数有两个参数,第一个参数为源文件,第二个是目标文件。
第一个源文件参数可以通过以下函数:
$tmpname = $_FILES['upload_file']['tmp_name'];
第二个目标文件参数需要指定路径和文件名称。
这样,使用该函数就可以把客户端上传的文件,移动到指定的位置并使用了。
imagecreatefromjpeg()函数可以从jpeg文件或者是URL中获取图像,使用该函数可以将一个图像资源化,以便于后期进一步处理。
该函数有一个返回值,如果该函数执行成功,则返回图片的资源标识符,如果该函数执行失败(比如打开的图片不存在,文件格式错误等等),则反馈false。
在PHP4.2.0版本前,要产生随机数必须先使用srand()函数,然后再使用rand()函数才能够生成随机数。srand()函数是播种随机数生成器,该函数的输入通常是time()等函数的输出。
strval()函数可以将指定变量转化为字符串形式并输出。我们通常用该函数将字符串、整数或双精度数转化为字符串,如果该函数的输入是一个对象或者是数组,那么其返回值将会是该输入的类型名称。
imagejpeg()函数可以用来向浏览器或者文件中显示图像。该函数可以将其他格式的图片转化为jpeg格式,并更改图片质量。该函数对图片的内容会进行更改,及我们在文件上传中指的“二次渲染”,也是upload-labs靶场中第17关的关键函数。
unlink()函数可以用于删除指定的文件。

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200