首页 » PHP教程 » php00截断技巧_知了堂web安然上传马脚课程讲解文档下

php00截断技巧_知了堂web安然上传马脚课程讲解文档下

访客 2024-11-05 0

扫一扫用手机浏览

文章目录 [+]

接上文

知了堂:知了堂《web安全-上传漏洞》课程讲解文档(上)

php00截断技巧_知了堂web安然上传马脚课程讲解文档下

6 文件类型绕过代码剖析

php00截断技巧_知了堂web安然上传马脚课程讲解文档下
(图片来自网络侵删)

做事端处理上传文件的代码如下,做事端代码判断$_FILES[“file”][“type”]是不是图片的格式(image/gif,image/jpeg,image/pjpeg),如果不是,则不许可上传该文件,而$_FILES[“file”][“type”]是客户端要求数据包中的Congent-Type,以是可以通过修正Content-Type的值绕过该代码限定。

在php中还存在一种相似的文件上传漏洞,PHP函数gettimagesize()可以获取图片的宽、高档信息,如果上传的不是图片文件,那么getimagesize()就获取不到信息,则不许可上传,代码如下:

但是,我们可以将一个图片和一个webshell合并为一个文件,例如利用以下命令

Cat image.png wehshell.php > image.php

此时,利用getimagesize()就可以获取图片信息,且webshell的后缀是php,也能被apache解析为脚本文件,通过这种办法就可以绕过getimagesize()的限定。

7 文件截断绕过攻击

截断类型:PHP%00截断

截断事理:由于00代表结束符,以是会把00后面的所有字符删除。

截断条件:PHP版本小于5.3.4,PHP的magic_quotes_gpc为OFF状态。

在上传文件时,做事端将GET参数jieduan的内容作为上传后文件名的第一部分,然后将按照韶光天生的图片文件名作为上传后文件名的第二部分。

修正参数jieduan为1.php%00.jpg,文件被保存到做事器时,%00会把”.jpg”和按韶光天生的图片文件名全部截断,那么文件名就剩下1.php,因此成功上传了webshell脚本。

8 文件截断绕过代码剖析

做事端处理上传文件的代码如下,程序利用substr获取文件后缀,然后判断后缀是否是‘flv’,‘swf’,‘mp3’,‘mp4’,‘3gp’,‘zip’,‘rar’,‘gif’,‘jpg’,‘png’,‘bmp’中的一种,如果不是,则不许可上传该文件。
但是在保存的路径中有$_REQUEST[‘jieduan’],那么此处可以利用00截断考试测验绕过做事端限定

9 文件上传漏洞修复建议

针对文件上传的修复,建议:

• 1.通过白名单的办法判断文件后缀是否合法,对文件格式限定,只许可某些格式上传。

• 2.对上传后的文件进行重命名,例如rand(10,99).date(“YmdHis”).”.jpg”。

• 3.对文件格式进行校验,前端跟做事器都要进行校验(前端校验扩展名,做事器校验扩展名、Content_Type等)。

• 4.将上传目录放置到项目工程目录之外,当做静态资源文件路径,并且对文件的权限进行设定,禁止文件下的实行权限。

10 练习平台支配

Upload-labs

upload-labs是一个利用php措辞编写的,专门网络渗透测试和CTF中碰着的各种上传漏洞的靶场。
旨在帮助大家对上传漏洞有一个全面的理解。
目前一共20关,每一关都包含着不同上传办法。

靶机包含漏洞类型分类

Install

环境哀求

若要自己亲自搭建环境,请按照以下配置环境,方可正常运行每个Pass

Windows快速搭建

项目供应了一个Windows下,按照以上配置哀求配置好的集成环境

下载地址:https://github.com/c0ny1/upload-labs/releases

集成环境绿色免安装,解压即可利用。

Linux快速搭建

创建镜像

$ cd upload-labs/docker

$ docker build -t upload-labs .

$ docker pull c0ny1/upload-labs

创建容器

$ docker run -d -p 80:80 upload-labs:latest

如何判断上传漏洞类型

练习:DVWA

————————————————end————————————

标签:

相关文章

数字化转型,企业发展的新引擎

随着互联网、大数据、云计算、人工智能等新一代信息技术的飞速发展,企业数字化转型已成为新时代企业发展的必然趋势。数字化转型不仅能够提...

PHP教程 2024-12-15 阅读0 评论0

phphook长处技巧_php的钩子hook你有没有用过

钩子定义钩子是编程里一个常见观点,非常的主要。它使得系统变得非常随意马虎拓展,(而不用理解其内部的实现机理,这样可以减少很多事情量...

PHP教程 2024-12-15 阅读0 评论0

日本IT界,创新驱动,引领亚洲科技潮流

随着全球科技产业的飞速发展,日本IT界以其独特的创新能力和严谨的技术态度,在全球范围内崭露头角。本文将从日本IT产业的发展历程、主...

PHP教程 2024-12-15 阅读0 评论0