合天网络安全笔记-二-

news/2024/9/29 13:06:17

合天网络安全笔记(二)

P17:第15天:文件上传黑名单,白名单及数组绕过技巧 - 网络安全就业推荐 - BV1Zu411s79i

呃大家晚上好,我们先来测试一下呃,我麦的一个声音,大家能听到我声音的话,还还有声音,足够清楚的话,在讨论区这边扣个一,好的都应该都能听得到,然后的话还有大概四分钟的时间,和我们稍微等待一下其他的同学。

八点钟的时候的话,我们准时开始我们今天的一个课程内容好吧,然后的话这一段时间的话,我们先听一会音乐,他骗了你很久啊,睡后的默契,你转身不回头,我没对你挽留,直到看着你远走,乘风与你相心,却不再对谁提起。

把你放在我心,你卷自己盖过了你,轻轻吹动,我,如今却剩几首熟悉的陌生人回忆只能是回忆,错过了我买魔法,即使成绩最爱我,现在已一句问候都可以撒着光去,你的心神代代上了,以为就是一辈子,穿越信阳人而已。

想让心把你代替,你的声音在我脑海里,我该怎么忘记你,这海边好天气,却发现不是你要的压制我的身体,是你的记忆,不属于我自己,曾经最痛,我如今却是最熟悉的陌生回忆,只能是回忆,错过了我们无法击是想起最爱我。

现在英俊问候都可谓色扯过去,你的星辰再带上吧,以为就是一辈子,哦曾经最懂我,如今全世界熟悉的陌生人回忆真的是回忆,错过了,我们无法歧视真情,最爱我,现在一句问候都格外奢侈,过去你的信誓旦旦什么了。

以为就是一啊,大家晚上好,我们今天讲的课程内容的话是,unset file upload基础篇,就按cf fire upload的话,它的一个意思的话就是不安全的一个文件上传。

我们这节课主要讲的就是这一块的一个内容,那我们本节课的话主要有四个,是四块的一个内容,首先第一块的话是对文件上传的一些,基础的一个介绍,就对它的一个简介,就给大家介绍什么是文件上传。

以及呃在文件上传的时候,程序员会做一些什么样的一个检测,它的一个检测流程是怎么样怎么样的,然后的话对这一个文件上传的一个漏洞,它所产生的危害做一个概述,这块的话是绕过客户端的一个检测。

第三个的话是绕过服务端的一个检测,第四个的话是对web的web服务器的一些解析,漏洞做一个简介,首先我们先来看一下啊,文件上传的一个基础部分,首先我们一起来了解一下什么是文件上传,文件上传的话。

它就是呃,我们客户端将数据,以文件的一个形式进行一个封装,然后的话再通过我们的一个网络协议,把它给发送到服务端,而这里说的一个网络协议的话,就是我们前面讲到的一个htp协议。

然后的话呃我们上传的这个文件的话,在服务器端他会做啊一个数据的一个解析,解析之后的话,它会存储在我们的一个服务端的一个硬盘上面,然后存储为一个文件,就如图所示,就我们一个呃个人的一个主机。

我们通过啊hdp的一个方式,通过post的一个请求,把我们的一个文件的一个内容,把它给啊发送到我们的一个web服务器,然后的话在web服务器上面做一个啊保存,然后通常的话和文件是以啊这样的一个。

htp协议去进行一个上传的,然后的话是以post的请求去进行一个发送啊,就前面也有讲到哦,就前面在讲那个htp协议的时候,有给大家做一个例子,就是啊post请求的一些啊三种的一个方式对吧,然后的话。

web服务器在接收到我们的一个主机的一个,请求之后啊,建立一个连接连接网啊,连接之后的话就会进行一个数据的一个传输,这就是一个文件上传,让我们一起来了解一下,文件上传产生漏洞的一些原因。

首先第一个的话就是服务器的一个配置不当,有服务器它在配置的时候,没有对我们上传的一个文件做一些啊检测,第二个的话就是文件上传限制被绕过,就是说啊,服务端对我们的一个文件的一些文件上传,有做一些限制。

但是它的一个性质的话它是不完整的,或者说它它的一个性质是不是啊,有效的一个性质,然后的话我们可以通过一些方法去进行,一个绕过,第三个的话就是呃,一些开源编辑器的一些上传漏洞,第四的话就是文件解析漏洞。

就是啊我们后面会有说到的一些web web服务器,比如说阿帕奇as啊,nginx等等的这些服务器,它都有存在过一些解析漏洞,能够导致我们啊进进行一些文件的一个上传,具体一点呢。

说的话就是说上传我们的一个web share目嘛,然后的话进行一个文件执行,帝国的话就是他的一个过滤不赢或被绕过,就是呃跟前面是啊类似的,哦文件上传这个漏洞,它有什么危害呢,就。

就在我们进行一个文件上传的时候,如果服务器端它的一个脚本语言,它没有对我们上传的文件进行一个,严格的验证和过滤,就容易造成容易造成这样的一个,上传任意文件的一个情况。

然后攻击者就能够去利用这样子的一个文件,上传的一个漏洞,像我们的一个服务器啊,上传我们的一个恶意文件,ae文件的话就是web share,然后通过啊通过一个这样的一个web shell之后的话。

我们就可以在服务器上面执行,我们的一个恶意代码,然后的话呃就是呃在上节课有讲到的web share,它的一些特点对吧,我们能够通过web share啊做到哪一些操作,就能够控制整个网站。

或者是说整个服务器,哦嗯文件上传漏洞,它可能存在的一些位置,我们从他的一个致命意识就能够知道,就是说我们在进行文件的上传的时候,这样的一些功能点就是会存在这样的一个漏洞,比如说第一个的话图片上传对吧。

我们经常会有比如说一些网站呃,他你去发一些帖子对吧,发帖子的话,你去上传一些图片,或者说呃你注册一个账号之后,你要修改修改一些你的头像,修改头像的话就需要啊上传你自己的一个图片。

就是这种图片上传的一个功能点的话,是很有可能存在这样的一个漏洞,还有头像的一个上传功能,还有就是呃文档的一个上传,就是比如说我们要上传一个word,或者说呃图片文啊。

呃像excel等等的一些文件的一个上传功能,这一这一类的一些功能的话,往往都会存在这样的一个上传文件,它印证是不够严格的,然后的话会导致这样的一个安全缺陷,缺陷,哦哦这里的话就是文件上传的一个检测方式。

是我们本节课啊主要去讲的一些内容,就说我们通过呃了解文件上传过程当中,它所涉及到的一些检测方式,然后的话我们针对这样的一些检测方式,去进行一个绕过,然而从中学习到我们如何去啊,绕过这样的一个文件上传。

首先我们先来看一下呃一般的文件上传过程,它的一些检测方式有哪些,首先第一个客户端的一个js检测,一般的话它会检测文件的一个扩展名,就是js检测的话,它的它是一般是在我们的一个前端。

就是说我们的一个前端的一个呃脚本,就说它没有在我们的一个服务端上面,去做一个检测,而是通过在前端的一个js脚本,来对我们上传的文件做一个检测过滤,第二种的话就是服务端的一个mm类型。

这个mmo类型的话前面也有讲到,就是我们前面说到的一个content type,这个啊字段通过检测这样的一个字段内容,来判断我们上传的文件,它是什么样的一个文件类型,这里的一个mmm的话。

我们呃就之前也有说到,我们可以看一下这个是卖马的,他哪一些类型,这里的话呃可以看到我们主要呃举一些常见的,比如说这个pdf pdf它的一个文件的一个mmo类型。

也就是我们的一个content type的一个字段的话,就是这样子的一个application加一个斜杠,后面的话接一个pdf这样的一个类型来的话,像我们上传的一些,比如说ex 1。

它是一个这样子的一个octor stream,还有呃我们常见的一些图像,一些图我们上上传的一些图片,它的一个类型我们其实可以看得到,就是关于图片类型的这样的一个content type字段的话。

它都是以一个image开头啊,后面接斜杠,然后的话就是呃我们上传的一个文件类型,它是什么样的,然后的话它就会在后面接一个文件类型对吧,然后要注意的话,这里的一个就是jp呃jpg,还有j p e g。

我们常见的这种图片文件类型的话,它都是同样的一个呃j p e g,然后第三个的话就是服务端的一个目录,路径的一个检测,它通常的话它是会检测,跟我们的一个pass参数相关,就是说我们在上传文件的时候。

它的一个上传文件内容的话,它会有包含就是你上传的一个文件,它的一个目录是上传到哪里,然后的话还有你上传的一个文件名是什么样的,在后面的话呃,在演示的时候会给大家做一个介绍。

第四个的话就是服务端的一个文件,扩展名的一个检测,通常的话就是检测它的一个文件啊,扩展,第五个的话就是服务端的一个文件内容检测,前面的话都是检测它的一些呃类型对吧,比如说扩展,还有啊一些字段。

我们的在我们的一个请求头的一些字段里面,都能够去查找到它相应的一些信息,然后第五个的话,它是对我们上传文件里面的一个内容,做一个检测,它是检测我们的一个文件内容,它是否合法,如果包含有二页的一个代码。

如果不是合法的一个呃文件类型的话,它就不允许你去进行一个上传,然后针对我们上面前面的这样的一些检测的,一个方式的话,我们能够去进行相应的一些啊绕过,绕过他的一个检测,然后我们一起来看一下。

就是文件上传绕过的一个基本的一个流程,首先第一个的话就是我们前面有说到的一个,客户端的一个检测,主要的话它就是对在本地做一个限制,它的一个检测,代码的话是在我们的一个客户端啊,客户端。

去向服务端发送请求的话,我们可以通过我们的一个bp去进行一个抓包,就抓取文件上传的一个包,然后的话做一个修改,然后修改的话,这里的话就涉及到,就是说像服务端传递这种数据的时候。

我们可以通过这样子的一个抓包修改这里的,比如说修改它的一个mm类型,如果他是对我们的一个meal类型,做一个检测的话,我们修改我们包中的一个content type的一个字段,好修改为它允许的一个类型。

就能够去进行一个绕过,相应的就是啊目录啊,还有文件扩展名,文件内容等等,我们都可以去进行一个修改,然后的话呃修改之后的话,我们再发送给我们的一个目标服务器,而目标服务器的话在呃响应。

响应给我们的一个客户端,这就是啊一个基本的一个流程,在这里的话,我们主要会去使用到一个bp,去进行一个抓包改包,咳咳,然后的话我们呃首先来了解一下,如何去绕过客户端的一个检测,客户端检测的话。

它的一个基本原理就是呃,在我们的一个上传页面,它有专门去检测我们文件上传的,一个js的一个代码,就最常见的话就是检测文件的一个类型,还有你的一个扩展名,好我们绕过的方法的话。

就是因为它是一个在客户端的一个js代码,我们只需要禁用我们的一个js,就是说不让他的一个js代码去进行一个执行,就他不会去对我们的一个上传文件,做这样子的一个检测,达到一个绕过的一个目的,可以使用的话。

就是呃火狐浏览器有这样子的一个js的插件,就是禁禁用js代码的一个插件,然后的话呃我们在这里的话,我们会去使用到一个bp,就是因为,呃在后面演示的时候再具体说吧,然后测试的话就是呃有一个靶场。

就这个靶场的话,我有发在群里有这个upload的一个靶场,这个靶场的话我们啊为什么要去用这个靶场呢,就是它里面的话啊包含了哦是很多的一些,就是呃在文件上传的时候,他的一些呃检测的一些方法。

然后的话我们针对这样的一个检测,能够去使用什么样的一个绕过的一个姿势,然后我们通过这个靶场来学习,就是文件上传它的一个一些绕过的一个姿势。

然后那个靶场的话大家应该有去下载吧,就我有发在群里的啊,这个这里的话呃,大家如果自己去,因为它是一个开源的一个靶场,大家如果自己去进行一个下载的话。

呃可能会里面的一些关卡它是会有问题的,那我这里的话就呃我用我自己的一个菲律宾study,呃我自己把里面的一些环境什么的,都给它配置完,配置完和配置好了,就说你可以直接去进行一个使用。

而不会说有一些就是说你代码访问,还有就是你的一些呃上传文件,它会有一些问题什么的,这样的话大家去使用我这里的这一个啊ph study,然后的话呃里面有一些就是啊。

就是这里的话就是上节课讲课所使用到的一个,web share的一些web share,还有的话有几个大码的话,我们也给大家去讲话呃。

比如说这个v374 k的一个代码,然后这这个阵容的话,就是他的一个大码的一个内容,然后可以看到它的一个就是它的一个代码量,是很多的,可以看到对吧,有总共的话有4583行,有一些呃。

然后的话很很大的一个代码量了。

然后呢,它里面的话有这样的一些加密的一些字符,然后这个代码的话呃,大家可以自己去啊玩一下。

这里面的一个功能的话是很很丰富的,然后这里的话我就是要说一下,就是我们为什么要去使用这样子的一个代码呢,就是我们呃大家应该有操作过,就是我们之前啊,我之前给大家介绍的这样的一些呃。

web share的一些连接工具对吧,我们只需要在web服务器上面上上传,这样子的一个web需要的一个一句话,然后的话就能够去进行一个连接对吧,当然的话啊我们前面有介绍,就是说你一句话。

木马它的一个基本的一个运行原理,就是我这里通过呃,像我这里的一个web项目码,发送我的一些命令的一些请求对吧,就是啊比如说发送一个执行命令,执行一个ip config的一个命令对吧。

我们需要像我们的这样的一个web share,去发送我们的一个数据,但是你在这种发送数据的时候,有时候它不会让你去进行一个连接,就说你对这样的一个而需要连接工具,它无法去连接这样子的一个一句话木马。

不管你无法去连接这样的一个一句话木马的话。

我们怎么去进行一个跟服务器去进行一个,稳定的一个啊通信呢,就是说这里的话就会使用到这样子的一个大码,因为一个你一个代码的话,它是在啊服务器,就说在我们的一个目标机器上面,去进行一个执行的对吧。

就我们的一些啊,我这里举个例子,咳咳,咳,啊我就以这样子这样子的一个大码为例,就我们这里的话,我们只需要在它的一个web服务器,通过这样子的一个web端去进行一个访问,访问它的一个文件就可以了。

然后的话他的我们的一些操作是在,因为这个脚本它是运行在服务器上面对吧,然后的话我们可以通过这样在啊,在这里去进行一些操作,这个操作的话它是呃好,直接在它的一个服务器上面去进行一个执行的,卡了。

比如说我们执行一个命令对吧,我们这里执行的话,它的一个执行结果它是直接显示在这里的,但是但是他不跟不同于我们的一个通过web share去,web需要工具去进行一个连接,它的一个代码,它是直接在呃。

它的一个服务器上面的,这个脚本文件里面去进行一个解析,然后解析之后的话,再把服务器里面的一个结果返回给我们,就是他没有说有中间的一个通过啊,网络去进行这样子的一个数据的一个传递。

去传递我们想要它执行的一个命令,对就是我们去使用一个代码的一个原因,就主要是为了我们的对服务器的一个,比较稳定的一个啊操作,呃然后的话我们回归我们的一个课程内容。

然后就是这样的一个靶场,这个靶场的话呃,我不知道大家就是在今天下午的时候,有没有去进行一个尝试,去进行一个操作,就其实啊他这个靶场的话,网上有很多的一些教程,我建议的话大家先不要去看那些教程。

然后呃教程的话,其实我这里要写一个,就是对这个靶场的一个通关的,一个就是一个方式,就是它里面涉及到的,比如说他做了哪一些过滤对吧,它限制了哪一些内容,然后的话我们通过这样的一些性质。

它限制了一些内容来呃,来构造出我们的一个绕过的一些方法,我这里的话有写这样的一个啊,在课后的话我会发给大家。

然后呃现在的话呃,大家先不要去看那个他们的一个一些,解题的一些步骤啊,我希望就是大家在我今天的一个课程内容,讲完之的话,自己在去进行一个操作,然后自己通过在啊去进行一个测试。

来进行一个绕过的一个方法。

首先这里的话呃,第一个就是一个js的一个检测。

我们怎么去进行一个判断呢,他是做了一个js的一个检测呢,首先我们,而是首先我们先找一个就是找一个一句话码,他码的一个内容的话,就是像这样子的,然后这里的话这句话我这里加了一个这样子的。

一个就是一个文件幻术,就是再去进行绕过啊,服务端,它对我们的一个文件内容,去进行一个检测的时候会去用到,当然这里的话你可以先不加,然后的话再准备一个这样子的一个s。p png。

其实里面的一个内容的话,也是这样子的一个一个内容。

然后把他的一个后缀,它的一个文件扩展名改成了一个pg。

这样子的一个形式,好我们去进行一个好,先随便上传一个文件对吧,我们先上传一个,比如说我们的一个菲律宾文件,一个p h p后缀的一个文件,然后进行一个上传,然后他这样的话提示它。

提示我们这里就是说上传的一个文件类型,只能是包,只能是这几种jpg pg i g f的这种图片文件,然后我当前的一个文件类型的话,是它是一一点ph p对啊,然后这个一点p h p它是怎么来的呢。

就是它是怎么去进行一个,我判断我这一个10p h p的一个文件,内容是什么样的,就说他会对我上传的一个文件的一个文件,扩展名,就是我们的这一个后缀他会做一个啊提取,提取出我们的这个后缀。

然后的话再跟他的一个js代码里面的一个哦,文件类型,它允许上传了一个文件类型做一个啊匹配,然后匹配如果是是这样子的一个类型的话,它就会允许我们上传,然后这里的话我就呃换一个对吧,换一个一个点。

pg这样子的一个呃,以顶png的一个图片后缀结尾的一个文件,然后我进行一个上传。

然后可以看到这里的话已经上传成功了,对ok啊,右键打开看一下啊,大家看到是这样子的一个内容,就是它是没有内容的,没有内容的,因为我们这一个文件的话,它不是一个图片文件。

所以的话它不会显示一个图像的一个信息,然后只是这样子的,因为里面是一个其实是一个一句话码,但是的话这里的话就有一个问题,就是你一个偏激的话,它是无法去进行一个解析的,就说它不是一个p h p文件的话啊。

服务器的一个ph p的一个解释器,它是无法去解析里面的一个文件内容的,所以这里的话我们需要去想要上传。

我们的一个一句话码的话,我们需要对它做一个绕过,好绕过的话。

哦对了,就是我们怎么去进行一个判断,它是一个js检测,我们先呃通过一个bp来去进行一个判断,我现在你刷新,我这里先选择一个点菲律宾,菲律宾的一个文件。

然后我们进行一个上传,然后注意看这边的一个请求包,我们上传上传之后的话,可以看到在这里我的一个就是bp,这里他是没有获取到他的一个请求包的,然后这里的话他是直接就弹出了,这样子的一个呃宽。

所以我们从这里其实可以基本上做一个啊,基本的一个判断就是它的一个,就它的一个内容的话啊,就是它的一个检测的话,它是没有去在服务端做一个检测的,而是在前端对我们的上传文件内容,做了一个检测。

为什么这么说呢,就是说如果说他的一个检测它是在服务端的话,我们上传这样子的一个文件,我们的一个文件的话,它会上传到一个服务端,上传到服务端的话,它中间就会有数据的一个传递,也就是我们的一个请求包对吧。

我们需要向服务端post这样子的一个,文件内容对吧,然后的话他这里是没有这样子的,相应的一个请求包的,就说明他没有到。

他没有把我们的一个数据发送到服务端,去做一个检测,所以我们只可以判断它是在前端,就是有一个js代码,对我们上传的一个文件做了一个啊,做了一个这样子的一个检测,而针对这样子的一个检测,我们怎么去绕过呢。

我们首先啊就前面也有说到。

就通过禁用它的一个js对吧,我们其实可以,先审查一下元素,然后审查元素我们可以看到,就是说在这里它啊注意一下这里的一个,这里有一个字,有一个这样子的一个好字段,就这里的一个代码的话,有。

这个on summit这里的一个代码的话,它就是把我们的一个,就是我们的一个请求的一个数据,它会把它就是呃放到我们的这里的一个,check fire的这个函数里面,然后这里的话它是一个j定义的一个。

js的一个函数,我们从文件名其实也可以知道,它是一个检查我们的一个文件的一个呃内容,检查我们上传的文件啊,我们可以通过在这里在,因为它是在前端嘛对吧,他前端的代码我们是可以能够去看到的。

我们直接把他的这里的一个前端代码,做一个删除,删除之后的话,就是说我们现在这里去进行一个上传的话,他不会把我们的一个上传的一个文件,放到我们的在下面的一个js的一个内容,去做一个检测。

其实就是在这里这里的一个js的一个代码,就是检测我们上传的一个文件,它的一个呃文件类型,它是不是它这里允许的,这样的三三种文件类型对吧,然后这里的话我把它给删除删除了,删除了的话。

他就不会把它放到我们的这样的一个啊,js代码里面去检测,然后我们可以来尝试一下,我选择一个菲律宾文件,好直接进行一个上传,这里不行吗,哇这也不行的吗。

啊这里不行啊,那还是要去禁用它的一个js的一个代码。

这里的话我就不用这一个,我不用这种,我用另外的一个,就是去进行一个改包的一个方式,我这里先找找一张这种偏激的一个图片对吧。

它是允许去进行一个上传的,然后这里的话因为它是在前端检测的话,他这里的话是允许我们上传这种图片文件的,然后这里我先抓一个包。

那我点击上传上传之后的话,抓取这这样的一个结论,这样子的一个请求包,然后的话我因为这里的话这个请求包,它其实是发到服务端的,然后这里我们的一个前端的一个检测,已经被绕过了。

然后我们只需要把这里的一个就是它呃,保存了一个文件名,就在这里的话就是一个file name的话,就是表示我们的一个上传文件的一个文件名,好我们再去进行一个forword。

就发送我们的这样的一个包发送过去。

然后的话就可以看到,在这里的话已经有了这样子的一个图像,有了这样子的一个文件,就是我们上传的一个文件。

可以看到它是一个as点菲律宾的一个文件,然后在这里的话我们可以,来访问看一下,访问一下这样子的一个ph的一个一句话,好可以看到它这里的话是正常解析了,就是他输出了我这里的多余的一个字符对吧。

然后我这里执行执行之后的话,可以看到我们的一个一句话码,是成功的进行了一个上传,这就是呃通过一个bp去呃更改它的一个请求包,来绕过他的一个前端的一个检测,呃然后这里的话大家有没有什么疑问呢。

就应该都能听得懂吧,能听得懂是吧啊啊,刚刚那个其实删除他的一个js代码,其实是可以的,这里他不行,我我我不知道,就说这种姿势大家可以去进行一个尝试的,就删除它的一个前端的一个js代码。

就只有一只有一位同学听懂了吗,而其他同学呢可以都听懂了是吧,好那我们继续我们的一个课程内容,前面我们讲到了,就是绕过他的一个客户端的一个检测,下面我们一起来看一下,就是如何去绕过服务端的一个检测。

然服务端的一个检测的话,通常是检测三个点,哪三个点的,第一个就是它那个迈尔迈尔类型,也就是我们的一个请求包当中的一个content的,content type的一个字段,第二个的话就是文件的一个后缀。

比如说我们那个文件扩展名,再比如说点p。p h p。p n g等等的,这种就是一个啊文件扩展名嘛,然后第三个的话就是对他的一个文件内容,就是我们上传的一个文件里面的一个内容,提取它里面的一个信息。

来去进行一个呃检测判断,啊其实就是我们这里如图所示,主要的话就是这样的一些点,有客户端的一个校验,然后服务端的一个教育,教育的一些信息的话,主要哦呃在后面的话都会有去讲到,这文件后缀相关的一个检测的话。

主要通过黑名单策略,还有白名单策略等等,还有文件内容的话就是呃一个文件幻数,文件幻术的话就是刚刚的那个p h p的一个码。

你前面有一个就是我加了一个gf对,就是这个gf 89 a这一个的话就是呃他好,服务端它对我们上传一个文件内容,它会提取我们的一个文件头头部,这里的几个字节好,这这里的几个字节的话。

就g i f89 a这一个字节的话,就是啊g i f图片文件的一个呃,这样子的一个啊文件幻数,然后它可以通过这样的一个呃。

这样的一个字符串来判断它的一个文件,它是一个gf的一个图片。

然后还有就是图片训了,你只要是训了这个的话呃,在那个靶场里面会有给大家去讲到,好我们一起来了解一下,就是常见的一些map类型,其实呃前面的话也要给大家介绍,这样的话我大概看一下。

就我们常常常见的像比如说text的文件对吧,就这种text link,还有htm啊,还有就是呃一些图片文件,还有word等等,好前面我们有说到,就是说服务端的一个检测的话,有一个ml类型的一个检测。

那我们怎么去进行一个绕过它的一个检测呢,我们绕过它的一个检测,一个基本的一个原理就是它的一个map类型检测,它就是检测图片类型的一个文件,它上传过程中我们的一个htp包当中的话。

它会有一个这样的一个content type的一个字段,好我们可以从这个请求包当中呃,找一个之前上传的一个文件,比如说这个对吧,这个的话就是我们上传我们的一个s的,影片机的一个呃请求包。

然后这里的话就是我们请求的一啊,我们的上传文件的一些内容的一个信息,然后这里我们有一个这样子的一个content,type的一个字段,这个字段的话就是啊用来告诉服务端,我这里的上传的这一个文件。

它的一个类型的话是一个png的一个图片文件,然后的话服务端他再去做一个检测的时候,他就是获取他这里的一个content type的一个,字段的一个值,也就是这个获取到这个值的话,与它的一个就是呃。

以它的一个允许上传的一个文件类型的一个值,去进行一个对比,然后对比出如果说是允许上传的话,就允许我们的一个文件的上传,如果不允许的话,就拒绝,就是它的一个检测的一个基本的原理。

那我们绕过的一个方法的话就比较简单对吧,我们知道了服务端它是去检测我们请求包当中,它的一个这样的一个content type的一个字段值对吧,那么我们可以直接修改我们的一个请求啊。

就是这样这样的一个请求,htp包的当中的一个content type的一个值,修改为就是呃服务端检测的时候,它允许上传的一个类型对吧,就能够顺理成章的绕过他的一个检测。

因为他只是对这一个字段做了一个啊判断,然后第四个的话就是嗯绕过文件后缀的一个检,测,文件后缀的一个检测的话,主要就是有两种策略,就是黑名单策略以及白名单的一个策略,然后这里的话我们先来了解一下啊。

黑名单策略,就黑名单策略的话,它的一个意思就是我们的一个文件扩展名,如果说在这样子的一个黑名单的话,它就是不合法的,不合法是什么意思呢,就是说呃服务端它是不接受这样子的一个,文件上传的。

就不允许这样子的一个呃文件类型,去进行一个上传,然后一般的话会有这样子,就如图所示,这样子的一个黑名单的一个列表,就在你的一个列表的话就列出了,就是不允许你去上传的一些文件的一些后缀,对啊。

比如说p h p p h p5 ,还有其他的一些呃,可执行的一些文件的一些类型,然后里面的话就是包含常见的一些类型的一些,可可执行的一些脚本文件后缀,然后针对这样子的一个黑名单的话。

我们有相应的一些绕过的方法,我这样的话有列举了六个,首先第一个的话就是呃后缀的一些,后缀的一个大小写绕过,好后缀大小写logo的话就是像这这样,这里的一个例子,我们可以通过这样子的一个大写。

然后小写小写这样子的一个大小写,一个混合的一个方式,来去绕过它的一个呃黑名单,就说他这里,比如说它这里它没有对我们的一个,我们可以看一下对吧,他只对这样的一些菲律宾啊,文件类型做了一个过滤。

但是的话我们可以看到,它其实里面没有包含有这样子的,比如说包含我这个点大写的p开头的一个,ph的一个后缀对吧,那么我们就自然就可以去上传这样子的,一个后缀,上传到服务端,服务端它在检测的时候。

他发现没有这样子的一个黑,就是包含在黑名单中的一个文件类型,那么它就是允许去进行一个上传的,然后第二个的话就是一个空格的一个绕过,还有的话以及这一个顶绕过哦,以及后面的这一个啊这样的一个字符串。

特殊的一个字符串的一个logo的话,它是呃在windows里面的,用windows系统里面的一些特性去进行一个绕过,首先我们先来了解一下这个空格,绕过空格logo的话,就是哦黑名单。

他没有对我们的一个呃后缀名,做一个去空格的一个处理好的话,我们可以通过在后面加一个空格来绕过,为什么能够绕过呢,就是就是啊因为黑名单里面他没有加嘛对吧,然后的话我们上传的这样子的一个点p h p。

后面接一个空格的话。

在windows里面我们其实可以看到。

大家应该有碰到过这样子的一个问题对吧,我们上传在我们新建一个这样的一个文件,然后的话我对它做一个命名,比如说test对吧,然后的话我在这里输入,在它后面输入一个空格。

然后的话我这里输入了一个空格之后的话,可以看到,就是说我这里输入码输入之后对吧,有有一个空格哦,这里看不到了,我这里输入了一个空格对吧,输入了一个空格之后的话,我们保存保存之后的话,我们可以看到它。

其实它会默认的把后面的一个空格给去除掉,然后的话我们就是利用它的这样子的一个原理,就是我们在这里去进行一个发包的时候对吧,我们在这里,把它的一个文件名呃,这里是一个文件名做一个加一个空格。

在后面加一个空格,就是这里加一个空格之后的话,我们去而针对服务端,它啊,没有对我们的一个文件名做一个这样的一个,去除空格的一个处理的话,我们就可以用这样子的一个方法来绕过,因为他呃目黑名单里面。

他没有这样子的一个呃呃,文件后缀的一个过滤的一个规则对吧,所以的话我们就能够去进行一个上传,就等于绕过了服务端的一个检测,然后的话这样子的一个后缀我们上传到服务端,上传到windows里面。

windows的一个服务端的话,它就有了这样子的一个特性,就是它会把默认的把后面的一个空格给去除掉,然后它其实保存到他,最后保存到服务器上面的话,它其实就是一个啊这里这样子的一个s点,hp的一个文件。

就是保存的话就是这样子的一个呃s点,菲律宾的一个文件,然后还有一个顶顶顶绕过的话,就是我们在windows里面也是同样的,我们在后面再输入一个点,然后我们进行一个保存对吧。

然后可以看到我这里输入一个点之后的话,它我们保存保存之后的话,它默认的它同样的会把后面的一个点给去除掉。

就是利用了它的这样子的一个特性。

咳咳咳咳,以及第四个,第四个同样的也是啊,windows上面的一个特性,就他没有对这样子的一个做一个处理,它是利用的一个windows这个文件系统,就我们在文件名后面加这样子的一个啊。

像这样子的一个后缀的话,它会比如说我们在这里对吧,在这里后面加这样子的一个两个冒号,然后加一个呃dollar符,然后大写的date这样子这样子的一个文件名,然后服务端它去进行一个检测的话。

它检测我们的一个后缀是这样子的对吧,他是不包含在我们的一个黑名单中的,有的话它是允许去进行一个上传的,然后上传到服务端的话,它会有这样子用windows的一个特性,它同样的。

他会把后面的这一个字符串的一个内容,它会保存为这样子的好不,他会把我们的这个文件里面的一个内容,就这样子的一个文件名,它会保存为一个s。p h p的一个文件,然后第五个的话就是一个解析漏洞。

就配合阿帕奇的一个解析漏洞,这里的话呃先了解一下,后面的话有会去说到,就它利用它的一个解析漏洞的一个特点,就是我们啊阿帕奇他在解析文件的时候,它是从右往左去进行一个判断哦。

如果他不能够识别它的一个后缀的话,它就会继续往左判断,比如说这样子的一个文件后缀好吧,文件名,比如说a a。p h,b。o w f。r r这样子的一个文件对吧,我们去上传的时候,上传到服务端的话。

他他啊服务端它在对对他做一个,解析的时候,解析的时候的话,它会从右往左,就是从这边从r r这边,然后往左去进行一个判断,而判断它是一个什么样的一个文件,然后他碰到这种i啊,还有这种呃ow mf。

任意的这种就不可识别的这种后缀的话,它就会啊一直往左去进行一个解析,一直往左啊去进行一个判断啊,然后他直到判断,能够去进行一个解析的一个后缀,它就会保存为这样子的一个文件,嗯就这一个的话。

他这后面两个他无法去判断嘛对吧,然后的话他到这里的话,它能够啊判断它是一个菲律宾的一个文件,然后的话它就会把它保存为一个aa。p h p,然后第二段话就是一个点h ta c c e s s。

这样的一个文件,这个文件的话就是嗯一个分布式的一个配置,文件,全称的话就是像这样,就这个呃超文本的一个入口,它的一个主要作用的话,就是针对当前目录的一个配置的一个解析。

就是啊他提供针对目录去改变配置的一个方法,然后的话它的一个特点的话,就是呃它只作用于当前的一个目录,以及所有的一个子目录,然后这个文件里面的话,我们可以去进行一个编写。

就编写的话里面可以去编写它的一个文件,解析的一个规则,然后这个规则的话,我们可以去啊利用它的一个呃就是服务端,它没有对我们的这样的一个文件去进行,一个过滤的话,我们上传这样的一个文件上传到服务端。

然后服务端它去解析的时候,他去啊解析这个目录下面的一些文件的时候,它会找到这样子的一个文件,这个文件的话里面定义了,就是解析当前目录下面的文件的一个规则,然后这个规则的话是我们可以去自己去进行。

一个冰写的,然后就像这里的这一个例子,我们可以看了他这里的一个意思的话,就是啊fes match就是呃文件匹配匹配,匹配当前目录下面的文件啊,有包含有这样子的一个字符串,我这样的话就是写了一个s点。

偏激的一个文件是吧,你也可以写成其他的一个任意的一个字符,然后的话他这里的一个意思的话,就是呃一个阿帕奇的一个,就是web服务器的一个配置,就这个配置的一个意思的话,就是呃把文件作为一个呃ht。

作为一个菲律宾的一个文件去进行一个解析,这里的一个代码的一个意思的话,就是呃,如果匹配到了一个s等片机点偏激的一个文件,然后这匹配到这样的一个文件的话,它就会把这个文件当作为一个呃。

p h p的一个文件去进行一个解析,所以说我们这里好,只需要去上传这样子的一个文件,然后的话在上任意上传一个s等于p n g,包含有这样子的一个字符串的一个文件,就就算它是一个图片文件服务端。

它同样的会把它作为一个,菲律宾的一个文件解析,然后的话这个图片文件里面的话,就写的是我们的一句话嘛对吧,就能够去解析它的一个啊文件里面的一个代码,好下面的话就是对它的一个基本的一个解释。

就是啊跟我刚才讲的是一样的,一样的意思好,我们其实可以通过这样子的,如果他允许这样的一个上传,这样子上传这样的一个文件的话,可以绕过很多的一个上传验证机制对吧,因为你就算他就只需要。

我们随意能够去上传这样的一个文件,如果说他只是对他的一个文件名啊,还有他那个扩展名什么的去做一个检测的话,我们随意随意上传一个文件,我们都能够去把它当成一个ph文件解析,自然的话服务端它是啊检测不了。

我们的这样子的一些一个区,进行一个啊获取web share,然后第五个的话就是绕过文件后缀的一个,白名单的一个检测,前面我们有说到就是白名啊,黑名单,黑名单的话就是说在黑名单里面的一个文件,后缀的话。

它是不允许我们去进行一个上传的,好白名单的话与黑名单是相反的,就说在白名单里面的一个文件,后缀的话是允许上传的,然后的话如果不在白名单里面的一个后缀的话,它是不允许上传的,就其实白名单相比于黑名单的话。

它是呃啊它的一个安全性是要更高的,因为你一个黑名单的话,你能够去呃存放,就是说能够去列举的这样的一个后缀,其实是有限的对吧,你不可能把所有的这样的一个后缀,你都能够列举完。

然后放到这样子的一个黑名单嘛对吧,然后白名单的话就更加呃干脆,就它只只允许你在我这个名单里面的,一个文件类型进行一个上传,就比如说你只允只允许你去进行一个上传,一个jb j p g对吧。

还有一个png的这种图片文件,然后其他的任何的一个后缀,它是都不允许上传的,然后针对这样子的一个白名单,那个啊检测的一个logo的话,我们主要的话是会利用到这样的一个,年龄阶段的一个方式,200阶段。

我们这里的话,主要的话就是呃介绍一下这个呃零零阶段,就年龄阶段的话,它是嗯我们的一个特殊的一个字符,就是,比如说我们这里一个url它发送到服务器,对服务器进行一个解码,解码之后的话。

他没有去对我们还没有传到一个验证函数,然后的话我们的一个验证的一个函数里面的话,它没有他接到的,他不是这样子的一个字符,而是我们的一个在这里00%,解码之后的一个字符。

这个00%其实是一个url的一个编码,这个u r l的一个编码,我们可以对它做一个解码,解码之后的话,可以看到它其实是一个这样子的一个字符,然后在这里这样子的一个字符的话,他是就是说呃文那个服务端。

他对他再去解析这样子的一个啊字符的时候,它会把这个字符后面的一个啊,就是把后面的一个字符给忽略掉,就比如说我在这里,我在这里,我,我在这里啊有输入了这样子的一个字符,然后的话他检测的话是一个白名单。

它只允许我们的一个点偏激的一个后缀对吧,然后的话它的话它解析的话,它是一个点偏激的一个后缀,但是我们上传到服务端之后的话,他去进行一个解解析,然后保存文件的时候,它我们中间这里是有一个。

就是刚刚那个00%,这样子的一个呃特殊的一个字符,然后的话他再去进行一个解析的时候,他会把后面这个0%,后面的一个字符给忽略掉哦,它实际保存到服务器的一个文件的话,是一个s0 p hp的一个后缀哦。

这要这里的话,因为我们知道他是一个u2 的一个兵嘛,其实我们正确的一个写法,如果是一个get请求,我是一个get请求,说在这里我们啊上传了一个文件对吧,name用get方式去上传我们的一个传递。

我们的一个文件名,s等于菲律宾对吧,我们这里的话就可以在这里进行,一个出了一个00%,这样子的一个就特殊的那个字符串的一个,编码形式,然后我们后面接,我们能够允许上传的一个文件名对吧,然后他解析的话。

它会把它当成一个png的一个文件,然后实际去保存的时候,它会把它做一个解码,就是这里的一个呃url的一个解码,解码之后的话,它会生成这样子的一个字符,然后在post的请求里面的话,它就是。

我们想要去因为这个字符它是不能够就是,比如说在这里的话,它是复制不出来的,他是复制不出来的,我们在这里的话,我们想要把它做一个年龄阶段的话,我这里我先在这里输入一个空格。

然后空格的话它的一个hex的一个冰嘛,是20%,好我们需要在这里,就是这里有一个hex的一个编码的文件,然后这里的话我们也需要找到这里,我的这里的一个文件名,就是这个fname这个字段嗯。

找一下就是这里对吧,那我们前面我们知道这里的一个空格的话,它的一个hs编码的话,它是一个2%啊,就是一个二零,让我们找到这里的这一串这一个字符,找到一个二零,就这一个,因为一般的话这种呃。

中间的话那是没有有空格的,就这一行的话没有有空格的,只有这一个对吧,我们自然的可以找到这里的,就是那个空格的,我们把它改成为一个零零,然后的话呃保存保存之后的话,我们来这边看一下的话。

它显示的就是这样子的一个符号,其实就是我们这里的一个这个,它解码之后的一个符号,那这里的话我提一下,就是特意提一下,就是在get get方get方式的话呃,在我们的一个url里面,然后的话我们是呃。

我们传递的这样子的一个url的一个编码的,这一个特殊字符的一个url编码,好,在传递到服务器的时候,它会有就是浏览器,它会对我们的这一个要编码做一个解码,解码之后的话,它会解码成这样子的一个字符。

然后在post的话,它是原样的一个传传递,它没有啊,服务端它不会对这样的一个要编码做一个解码,所以的话我们需要把它直接就是写成这样子的,一个特殊字符,这里的话大家要注意一点。

然后就其实就是其实都是差不多的一个意思,就00%,还有这样的一个呃,16进制的一个零零阶段,然后第六个的话就是文件内容的一个检测,就文件内容的话,前面其实也有说了。

就是它主要是检测文件内容来进行一个判断,文件它是否是合法的一个文件,主要的话是有两种检测方式,地址的话就是检测我们上传文件,开始出的一个文件幻数,这个文件幻术的话就是啊。

就这一个magic number,它主要的话就是标记我们的一个文件,都一个格式,就说要符合他的,这就是啊我们可以通过这个文件幻数来标,来标示这样子的一个文件,它的一个格式它是什么样子的一个啊,文件类型。

前面举的一个例子是一个gf的一个文件,它是以一个g i f98 a的一个开头,就通常的话他去进行一个文件检测的话,就是判断他前十个字字节就这一个文件话术,因为它就是在一个文件开头的一个位置。

通过判断它的一个这个字节,来判断它文件的一个真实类型,然后我们绕过的话,自然的我们就可以在我们的一个上传文件里面,添加它的这样的一个文件换数对吧,然后的话来绕过服务端对它的一个检测。

第二个的话就是文件加载的一个检测,就文件加载的话,一般就是通过服务端调用的一些api或者函数,来对我们的一个文件做一个渲染,常见的话就是图图像的一个渲染测试,就是我们上传图像,上传一个图像文件的话。

他要把我们图像里面的一个呃,里面的一个内容做一个渲染,然后的话他不会把我们在图片文件里面的一个,内容做一个就是呃简单的来说就是做一个打乱,打乱之后的话,它其实只是里面的一个呃内容变了。

但是它的它的一个图像还是原来的一个图像,就看到的图像是原来一个图像,就其实我们不是哦,我们上传一个文件对吧,有一个就是一个真实的一个文件,还有还有的话它会对它做一个缩略图对吧,他那个缩略图的话。

它其实就是基于那个文件,然后做了一个啊,做了一个其他的一个渲染,渲染之后的话,生成了这样子的一个文件,就可能你一个那一个缩略图的话,它是就是它一个清晰度对吧,我们可以明显的看到就是嗯不一样的。

然后这里的话大概介绍一下这个文件幻术吧,就像这样子的,这样的话呃看一下吧,主要的话就是我这样的话列举了,就是常见的一些图片类型,就像jpg jpg的话,就是前面的这样的这样的一些字符。

它其实就是以这样子的一个,我们的一个就可写的一个字符的话,一个20孔板是这样子的,然后gf的话就是像这样子的一个gf 89 a,就所以说我们为什么就常用的也是一个gf的。

加一个gf的一个这样的一个文件头啊,把文件换数,就是因为他这里的话好写,就gf 89 a像前面的这种这种特殊字符的话,我们写不出来的对吧,然后如果说你要写这样子的一个,一个16进制的一个呃兵马啊。

16进制的一些数的话,我们记不住对吧,他的话像呃png的也是一样的,像这种特殊字符的话,我们是啊再去写到文件里面的话,是不好书写的啊,我们我们的这里的这种呃,这个文件方式是怎么看出。

怎么去进行一个查看的,这样的话呃可以使用到一个工具,这个的话就是查看文件的一个啊,16进制的一个一些数据,好大家可以随意的找一张图片,比如说这样子的一个png的图片,其实我们直接用一个文本命器打开。

也是能够看得到,当然的话它是有一些字符的话,我们是看的是这样子的,这个vhs的话打开有点慢。

好打开。

就这样子的一个软件,我们可以把它拖进来,拖进来之后的话,其实可以看到它的一个ask的一个字符的话,就像这样子的一个偏激对吧,然后的话他这里的一个16进制的一个数的话,其实它是对应的,就这里的一个创的话。

就是这样子的一个16进制数,然后我们其实也可以,就是直接在文件里面去进行一个,把我们的一个图片文件对吧,这里把它进行一个更改,改成我们想要的一个文件头,就添加一个这样的一个文件幻数就可以了。

当然我们常用的还是用这个gf的,因为好写,然后就了解一下吧,就大家可以去呃找这样子的一些图片去打开,来查看一下它的一个这样子的一个格式,那的话我们只需要在文件化说上面。

加上我们的一个一句话木马就可以去啊,绕过他的这样子的一个检测,好第二个的话就是嗯,文件加载的一个检测,文件加载的话主要就是对图,对渲染加载测试的一个攻击,我们主要的话就是用一个代码注入,这代码注入的话。

就是我们用这样的一个图像处理软件,比如说刚刚那个问hex对吧,然后在一张图片里面。

在一张正常的一个图片,就而不是像我这里的话呃。

这里呃这种假的图片,就是虽然是一个偏激的一个后缀,但是是打不开的,是看不到里面的一个内容的,要不是看不到图像内容的,我们这里的话找一张真实的图片,比如说像这样子这样子的一张真实的一个图片,对吧,好的话。

在我们的一个好图片里面的一个空白区,进行我们的一个一句话木马的一个填充,然后注入我们的这样的一句话木马,然后的话一般就是有一些图片,就图片里面的话它有一些注释区,在这个区域的话。

我们是可以填填充我们自己的一个代码,而不会改变呃图像的图像的一个内容,就保证图像文件的一个结构它是有完整的,如果图像文件它结构不完整的话,它是呃打不开的,就是无法去查看到图图像的一个信息。

而对于这种的话,对于一般的一个渲染测试的话,是能够去进行一个绕过的,然后还有就是更严格的一个二次序嘛,九二次渲染的话就更加直接一点,就是它它会把我们的一个图片,原本的一个图片里面的一个真实的一个。

图像数据给抓取出来,然后其他的一些多余的一些部分的话,它会把它给直接隔离掉,就比如说我们要注入的,我们注入的这样的一个一句话木马对吧,注入在这种图片的一个空白区,然后二次渲染的话,他就会把呃。

不是属于图像数据的这种空白的一些地方,里面的一些数据,它都会把它给隔离掉,所以的话我们这里注入的这种代码的话,它是不能够啊,它是无法去使用的,然后呃对于这个攻击的话。

就需要对我们的一个就是加载文件的一个,加载器进行攻击,当然这样的话只是介绍一下,因为呃,实际的能够去利用这样子的一个漏洞的话,是比较难的,就对他一个文件加载器,如果说它存在这样子的一个漏洞。

你要去进行一个攻击,去进行一个呃,溢出攻击,然后的话执行我们的想要的一个代码,这这种方式的话是嗯比较难去实现的,而且啊不一定也能不一定能碰得到,然后前面的话就是啊我们详细的介绍了,就是文件。

就是我们在上传文件的时候啊,如何去绕过服务端,还有客户端对我们上传文件的一些检测,里面是呃比较详细的介绍了,就是一些绕过的一些方法,还有的话就是它检测的一个基本的原理,我们如何利用它的。

就是它的一个检测的一个原理,来构造我们自己的一个绕过的一个方法,然后下面的话就是一个web解析漏洞,呃这里的话,主要的话就是常见的一些web服务器,就我们常见的比如说阿帕奇,还有i s啊啊两个版本的。

以及ngx的一个解析漏洞,对他的一个介绍,当然的话呃其实在现阶段的话,这种解析漏洞的话是比较少见的,当然的话如果说你有碰到的话,那你就能够直接去进行一个利用,而且它的一个利用的话。

其实就其实是比较简单的,首先第一个的话就是一个阿帕奇,阿帕奇解析的话,我们前面也有说了,就是说他在解析的时候,他会碰到就是这种不认识的一个后缀的话,他就不会去呃解析,然后的话它会一直往左去进行判断。

他判断的话,判断到它能够去解析的这种文件的话,它就会把这个文件,把它给识别成一个菲律宾的一个文件,而不是在这里的话,例子的话就是识别成一个菲律宾,然后第二个的话就是is六点的一个解析漏洞,这个的话嗯。

它有两种解析方式,就是第一种的话就是一个目录的一个解析,它的一个就是原理的话,就是呃服务器它默认它会把,就是把以以一个顶asp啊,后缀结尾的一个目录下面的一个文件,它都会解析成asp的一个文件。

这什么意思呢,就是我我们可以就是创建,如果说我们的一个我这里创建一个,文件夹对吧,它的一个文件名是sd f。sp对吧,这样子的一个文文件夹哦,当然这里的话它,不能在命名啊,在windows里面。

然后的话就是说在这样子的一个,asp的一个文件目录,这个目录下面的所有的一个文件,它都会把它当成为一个sp的一个文件,去进行一个解析,就是说我们随便创建一个随便上传,创建这样子的一个文件。

比如说a这样子的一个文件,它里面的话是写的一个sp的一个一句话,木马对吧,我们这样子的一个文件,它同样的会把它当成一个菲律宾文件,去进行一个解析,这是一个目录解析好,第二个的话就是一个文件解析。

文件解析的话就是呃这个is六点的服务器,它默认不会解析分号后面的一个内容,这样的话就了解一下吧,其实现在的话比较少见了,这样的话我很有必要去了解一下,还有的话就是is七点的。

这个的话就是我们呃就对任意的一个文件名,后面的话接上一个字符串,就比如说我们在这里啊,不管前面的一个文件名,还有嗯文件名它是什么样子的,我们在后面接一个顶菲律宾的一个后缀。

它就会把它把我们的这样的一个文件内容,把我们的这样的一个文件,按照一个菲律宾的方式去解析,还有的话就是nginx ngx 2,跟前面的这里的话类似的,当然的话它其实不是呃,就是利用方法的话是类似的。

同样的就是任意的一个文件名,后面接我们的一个呃可解析的一个后缀,就能够去进行一个攻击,比如说这样子的一个这样子,还有的话就是呃任意文件名后面接,就接一个00%,然后点p h p。

它同样的能够去把它解析成一个,菲律宾的一个文件,这是一个解析漏洞,就这样的话就大概介绍一下,大家了解一下就ok了,然后最后的话我们对我们进行一个课程内容,做一个基本的一个总结,就文件上传漏洞的一个总结。

我们其实啊今天课程内容的话,都在这里的这个图里面,我们大概的一起啊,我们一起来过一遍吧,就把我们今天的一个课程内容给捋一遍,首先我们就是介绍了文件上传对吧,文件上传的话就是我们客户端啊。

通过我们的一个网络协议,通过htp把我们的一个文件内容封装,然后发送给我们的一个服务端对吧,发送给服务端,然后的话中间的话呃,啊就是服务端,还有客户端,它会对我们的一个上传文件做一个检测。

就检测我们上传的文件是否是允许上传的,判断啊,然后检测的一个方法的话,就有就是前端的一个js的一个检测,然后的话前端那个js检测的话,我们绕过的话,就是可以通过禁用它的一个js代码对吧。

还有的话就是我们先上传一个,就是它允许上传的一个文件类型,然后的话通过抓包就抓取,在客户端发送到服务端的一个请求包,因为它是只是前端做一个检测对吧,它从前端对我们的一个文件内容检测完,检测通过之后。

他就会把我们的一个数据发往服务端,放服务端的过程当中呢,我们通过bp来抓取这样的一个请求包,好的话,修改成我们想要的一个恶意的一个文件名,比如说一个顶配h p的一个文件后缀,然后的话上传到服务端就好。

成功上传了这样子的一个啊,菲律宾的一个web share啊,我们绕过之后的话,还有的话有文件内容的一个检测,还有对路径扩展名的一些检测,然后对于文件内容的一个检测的话。

我们可以通过代码注入来进行一个logo,就通过呃做一个啊,就是做一个图片嘛啊如何做图片码的话。

就在windows里面我们可以通过一个命令,就是一个copy的一个命令,我们可以打开一个命令行啊,windows里面的话它自带有这样的一个copy命令,然后这个copy命令的话。

就是能够把我们的一个文件,把它给就是合成成一个文件,我们这里要用的话,就是把我们的一个这样子的一个,ph p的一个码木马文件,把里面的一个内容,然后把它给啊copy,把它给复制到。

或者说插入到我们的这样的一个图片文件里面,然后他的一个我这样的话就不演示了吧,啊它的一个方法的话就是我在这里的话,我这里写的一个,而教程里面的话有有有有介绍,就是通过这样子的一个命令来生成。

这样子的一个,包,含有这样子的一个一点菲律宾木马的一个文件,然后的话这一个呃图片文件的话,它是能够正常的去打开的,啊对啊,文件内容检测的话,还有就是入境扩展面的一个检测,如果说检测绕过之后的话。

警车绕过之后的话,我们就能够直接去进行一个解析对吧,然后如果检测没有绕过的话,我们就可以通过说,如果说存在这种解析漏洞的话,我们就能够通过解析漏洞去进行一个上传,然后或者是说通过解析漏洞来解析。

我们的一个啊web shell的一个文件,来达到一个呃上传啊,web share的一个目的,然后中间的话就有包括啊说这种啊,对于黑名单的一个检测,一个绕过的一个方法,还有白名单的一个检测绕过。

以及就是通过这种特殊的文件,这种呃呃目录的一个文件,配置的一个文件来去进行一个解析,还有的话就是文件包含,就下节课会去讲讲到的,还有就是解析漏洞,这个图的话就是我们本节课的一个文件。

上传的一个所有的一个内容了,好的话,我们本节课的一个内容的话就到这里就结束了,然后最后的话有一个课后作业,课后作业的话就是完成我们呃,就是我发给大家的这个app load。

这个靶场里面的就是啊一到17关啊,就我建议的话,大家啊,因为我这里的话还没有讲怎么去进行一个logo,他的一些方法对吧,但是的话我在这里课程内容里面的话,其实呃大部分都涉及到了。

就是啊在我课程内容里面讲到的,这样的一些绕过的一些知识的话,能够直接去使用到这样子的一个靶场里面,就我建议的话,大家先自己呃去进行一个尝试,就呃通过我在课上讲到的这样的一些知识,去进一个尝试。

然后尝试之后的话,把你做的这样子的一个比较详细的一个过程,对吧,你是通过什么样的一个方法去进行一个绕过的,然后的话你绕过他的一个就是截图啊,什么的对吧,把它给列出来,就像我这里的,比如说对吧。

你前端检测你怎么去进行一个绕过对吧,绕过的一个方法就是上传一个一句话木马对吧,然后抓抓包修改我们的一个文件名,为这种顶菲律宾的一个后缀,然后发包就能够继续进行一个绕过,然后这里的话就是呃一个课后作业。

就大家在课后的话去进行一个完成吧,然后的话在下一节课的话,我会给大家去做一个。

详细的一个讲解就是,对这个靶场里面,它所涉及到的一些知识做一个讲解啊,当然的话其中可能会涉及到一些ph的一个代码,就是关于菲律宾代码,这一方面就是大家觉得就是嗯能够去接受吗,哦也是可以的呀。

你可以去试一下。

呃就是大家对菲律宾代码的话,如果我讲菲律宾代码的话,大家能不能去接受呢,就是大家呃我讲你们就听啊。

就我讲了,但是我我们的一个目的,就是要让大家能够能听懂啊,就是要能懂,如果说如果说我讲了的话,我就是讲的话,因为中间的话可能会涉及到一些代码,就是啊通过代码,通过他的一个代码的一个。

就是它的一个书写对吧,它的一些呃代码的一个书写来理解服务端,它是怎么去对我们的一个上传的一个文件,做一个检测的,然后针对这样子的一些检测方法,我们怎么去进行一个绕过,学过。

那我明天再给大家详细的讲解一下吧,就可能会涉及到一些代码,但是的话呃就考虑到大家如果说接受不了的话,我就哦点到为止,因为讲太多了,可能大家也不会听得太懂了,对啊,就相关的,我觉得大家能够去听懂的话。

我肯定会也会去讲的,如果说有些,不是一时半会能接受的话,我可能就会跳过,哦那好的,然后那我们本节课的内容的话就到这里了,然后大家没有什么问题的话,那我们呃下课大家记得就是把这个靶场做一下。

然后呃尽量不要去看,尽量自己做吧,然后还有里面的话有一些就是啊,我这里有搭建的一些3m s,大家也可以去尝试去做一下,就包括了前面就特意给大家搭的吧,包括前面有有去用到的,像这种cms。

因为之前不是也有挺多人搭环境,一直搭不了,然后我顺便的话就呃就是搞这个环境的话,顺便就是把这一些4m s把那个放进去了,就方便大家在本地区进行一个测试嘛,因为这个up pro的话,这个环境的话啊。

我之前是本来想搭在那个靶机上面的,但是有一些在linux里面的话,它是实现不了的,它是需要windows的一些特性,所以的话我就把它放到windows里面发给大家了啊。

其他的也不多说了,呃大家早点休息啊。

P18:第16天:文件上传漏洞靶场实操 - 网络安全就业推荐 - BV1Zu411s79i

就是对于我们在进行一个文件上传的时候,好针对他的一些检测方法,我们啊给大家介绍了一些啊,就是如何去针对他的这种检测方法,来进行一个绕过来,来上传我们的一个web shell木马,然后这节课的话。

我我们把上节课就是没有给大家,就是讲完的这样这样的一些内容,就是说通过我们上节课讲的一些内容的话,我们在这节课呃,在更加深入的,通过实际的一些操作来给大家做一个啊,更生物的一个理解,然后大家应该也嗯。

大家应该有做这个我发给大家的一个靶场吧,就是这个,然后的话呃我看大家都在全年的话,是有一些问题,就是说有一些关卡完成不了,对吧,就嗯,所以说我特意就是发了一个。

我自己已经配置好的这样的一个菲律宾study,呃呃因为它里面的一些关卡的话,它需要呃对配置文件做一些配置,因为它需要有这样子的一个条件来,才能够去进行一个利用,所以的话嗯我这里的话是用。

就是已经帮你们改好了,你们直接用这个就可以了,呃但是可能就会有一些问题啊,我这里的话就大概。

针对大家提的一些问题做一个解答吧,然后大家看我这样这里的一个文档,其实我这个文档的话已经呃写得很详细了吧,就首先的话环境的话就是呃大家看一下,这里的话需要有两个组件,这两个组件的话需要开启。

开启这两个组件的话,呃,我们在这里这里的菲律宾study,这里有一个菲律宾扩展,我们选择这里把这两一个两个勾勾选上,这个还有这个勾选勾选上好的话,还有就是一个阿帕奇,它需要以这个mod方式去进行一个连。

接,好的话,我们需要修改它的一个配置文件,就是把这里的一个重写的一个模块给他,给呃前面的一个注释去掉,也就是把它给开起来,然后嗯,好配置文件的话,我们在这里直接右键。

然后这里不是有一个hdp d干空乘b,然的话我们用编辑器打开,然后找到这一行,然后把前面的一个注释给进行一个去掉,就是这里啊这里的一个注释,前面原原来的话是有一个注释的,就是有一个减号。

这样的话我们把它给去掉,然后去除他的一个注释,还有的话就是呃有一个这里有一个这个,roy override,这个的话其实默认的话它也它是word的,然后我们找到所有的里面有这个的,把它改成一个or。

其实这个的话关系不大,然后还有的话还有一个就是大家在做那一个,就是修改成那个就是绕过那个黑名,黑名单的时候,我们啊比如说其他的一些。

就是啊可以解析的一些菲律宾后缀。

比如说嗯,比如说kh比啊三,还有kh p是啊,还有五等等的,这种,就是都是呃,可以去当做一个p h p的一个文件去解析的。

当时的话它的一个前提条件,就是我们在配置文件里面,这里需要有一个这样的一个a type,这一行,就是把我们的这里的这种文件,后缀的一个啊类型,就是我们可以把这种啊扩展名,把它当成一个啊。

菲律宾的一个文件去进行一个解析,这样的话我们需要添加一下,大概的话就是这里这里的一些问题,大家有碰到的,然后我发给大家的,这个的话是我已经有配置好了。

呃然后的话我们回归我们的一个内容,就是呃刚刚的话我有看大家,就是呃有发的一些作业,就是一个文档,就我看看大家做的做的一些,我发现的话大家其实应该都完成的比较好,就是呃有发呃,发了文档的话。

就步骤的话也很详细,然后然后这里的话我问一下大家应该都有做吧,然后大家就是对这个大家做的这些,有没有什么疑问,就是呃是就是两种方案,就是大家针对,就是大家在做的时候碰到的一个问题。

然后的话需要我去给大家做一个解释,然后的话我就一一的给大家做一个解释,如果说大家需要我全都就是把这里的,这里的呃作业的17个关卡都要讲一遍的话。

我也可以给大家一个做一个解答。

大家有没有什么问题,就是呃大家选哪一种方案,就我看大家就是有做了的话是呃都做得挺好的,都,有步骤什么的。

还有操作。

有问有人有问题吗,就现在有问题的话,直接提吧,都都没人,有问题吗,前面两题不用其他的都讲。

行吧,那就,呃其实这些的话嗯,大家如果看了我这个文档的话,其实应该做的话应该是没有什么问题的,就可能的话就是有,就是在靶场的时候会有一个问题,是因为你们你们没有就是做这样的一个配置,就没有用。

我已经配置好的那个靶场,然后的话呃前面两个的话,第一个的话我已经在上节课已经给大家讲过了,对吧,这是一个前端的一个js检测,绕过我们怎么去对它做一个判断,它是一个前端的一个js检测,也有给大家说了。

好logo方法的话就是两种嘛对吧,禁用网站的一个js,然后的话我们就是啊一般的话用第二种就是啊,上传一个包含一句话嘛,一句话的一个图片嘛对吧,然后的话我们在因为它是在前端,对我们的一个文件后缀啊。

文件类型做一个检测,我们只需要绕过,就是说啊在我们上传文件的时候,选择一个图片的一个文件,就可以绕过它前端的一个检测,然后的话我们再把好发送到服务端的一个数据。

用bp抓包把它修改为一个点p p的一个后缀,就能够进行一个绕过,然后这里的一个代码的话呃,大家主要的话看这里,就它这里的话定义了我们上传文件的一个类型,它这里的话是一个js的一个代码哦。

这里的一个js代码的话,我们可以看到它这里是定义了,这样子的一个函数,就check file这个函数。

然后的话这个函数的话,它会在我们上传文件的时候,对我们的上传文件做一个检测。

直接看源代码,就是在这里我们这里上传文件的时候,这里有一个on submit,就在我们提交我们上传文件的时候,它就会对我们的一个上传文件,就是跳转到这里的一个函数,对我们啊好上传了一个文件做一个检测。

然后的话与我们这里定义的一个文件类型,做一个匹配,如果匹配到了这里是呃它允许上传的一个文件,它就会啊允许我们上传,如果不允许的话,它就会输出一个呃,抽就输出,这里的就是说这个文件它是不允许上传的。

这就是一个前端的一个js检测的一个绕过,而第二个的话,第二个的话就更加简单了,就是一个mmo类型的一个检测啊,我们只跟上面的一个方法是一样的,然后这里的话需要就是啊一个图片呃,就是啊对,还有就是啊。

我看群里有人问这个图片码怎么生成,就只需要用这样的一个一句话就可以了,然后打具具体的一个步骤的话,俱乐部一个步骤的话。

我这里啊你先准备两个文件,就是这里的一个呃psp的一句话码的一个文件。

以及一个呃正常的一个文件,里面的话是呃没有依旧诶,这个有啊,我换一个。

我这样的话就随便嗯。

搞一找一个这样的一个文件,然后的话我们在当前目录,注意是要在当前目录下面啊,打开一个这样的一个cmd,然后我们使用这个copy命令接啊,我们的一个图片就是二点jpg,然后的话注意要加一个这里的一个参数。

一个斜杠,然后加一个啊b参数,这里的一个这里的两个参数就是一个杠b,还有一个杠a的一个参数,我们可以通过看他的一个帮助信息啊,大家要注意的话,在windows里面它的一个参数的话是啊一个斜杠。

斜杠后面啊接接一个参数,然后在linux里面的话是一个横杠,而这里的一个查看帮助线的话是打一个问号,就斜杠问号,然后就能够看到这个命令的一些,相关的一些信息,主要的话就是前面两个杠杆以及杠b。

就干a的话就是表示啊一个20个,一个文本文件,就说我们,我先讲吧,第二个杠b的话,就是表示一个二进制的一个文件啊,这里的一个代码的一个意思的话就是我们copy,二点jpg,它是一个二进制的一个形式。

然后加我们的一个一句话吧,cs。p h b,然后我们需要保存,需要保留这一个ph文件里面的一个内容对吧,所以的话我们需要把它保存成,就是以一个文本文件的一个形式呃,文本文件的话就是一个a杠a。

然后的话保存为什么样的一个文件,我们这里的话啊a。jpg好,我们回撤回撤之后的话,他可以看到就复制了一个文件,它这里的话会生成一个这样的一个三点jpg。

我们直接用一个文本编辑器打开的话,就能够在这里看到有这样子的一个一句话,码对吧,这就然后的话它这个图片的话,是能够正常的打开的对吧,这就是一个图片码的一个制作的一个步骤,然后这里的一个mmo类型的话。

就是我们啊,只需要上传一个图片文件的一个后缀,它就会呃把它就是它的一个content type,content type的一个类型的话,就是一个图片的一个类型,然后的话就能绕过它的一个检测。

然后代码的话,主要的话就是这一段的一个代码哦,我们看这里,我们可以看到这里的话,它会对我们获它会获取我们的上传文件,然后获取的上传文件的一个属性的话,就是获取到我们上传文件的一个类型,这个类型的话。

然后的话与他自己啊,与他这里定义的这几个类型做一个啊比对,如果说呃是这样子的一个image jpg,还有pg,还有一个gf的话,我们就执行下面的一个上传文件的一个操作。

这样的话它是会获取我们上传文件的一个名字,然后的话它会上传到这样的一个路径,下面这个路径的话是在呃,其他的一个文件有做一个定义啊,一般的话就会上传到当前的一个目录下面,然后的话呃它的一个文件名的话。

就是我们这里上传的一个文件的一个名字,然后体现在我们bp里面的话。

就是一个呃有一个fire name得这样的一个。

呃参数这里。

我这里上传一个这样的一个图片文件,然后的话它的一个体系的话,就是它获取的一个文件的一个名字,就是从我们这里获取到的,然后这里的话我们再发送到服务器,服务端的时候,我们这里把它更改成为一个p h p的话。

服务端它在获取我们的一个文件名的时候,他就会获取我们这里发送给他的一个值,然后的话它会保存到服务器啊磁盘上面,然后它保存了一个文件的一个名字的话,就是一个s。p h p。

可以看到就是在这样子就是目录的话。

就是在这个upload的一个目录,这就是第二关,然后第三关的话,我们就其实呃我们在呃再去做一个文件上传,那个绕过的时候,我们首先我们要做的事情是什么呢,就是说我们首先要去对它做一个判断。

就是说判断他而服务端或者说客户端,它对我们上传的一个文件,有做什么样子的一个过滤,以及它以及一个检测,那么我们怎么去啊获取到这样的一些信息呢,就是说我们可以,因为它这里是有一个上传文件的一个功能对吧。

好的话,我们先选择这样子的一个文件,选择这样子的,我们先随意上传一个,比如说我们上传一个a s0 ,p h p的一个文件对吧,那我们上传上传之后的话,那这里的话呃有这样子的一个提示啊。

他可能是会提示在这里对吧,也有可能是会弹一个框,弹给你,就说啊他会提啊,他有告诉你,就是说不允许上传这样子后缀的一个文件,那么那么我们通过这样子的话可以啊,有一个基本的一个判断。

就是啊他有一个黑名单对吧,它会获取我们这样子的一个嗯,当然的话我们现在这里的话是无法做一个判断,应该是说就是说它有很多的一种类型啊,很多的一个检测方式对吧,我们这里的话我们再上传一个s点啊。

就是上传一个图片文件对吧,看它是否允许我们上传。

我们上传一个图片文件的话,可以看到它是允许我们上传的。

然后他上传的一个路径的话,就是在这里对吧,然后呃我们如何去查看,就是说它的一个信息。

我们通过bp的一个他的一个请求包,就是说通过我们他的一个就是向服务端发送的,一个请求,以及服务端它返回给我们的一个呃响应,来去做一个判断,我们可以看到,就是说我们这里的话上传这样子的一个。

菲律宾的一个呃不是一个偏激的一个图片文件,上传之后的话,它的一个响应的话可以看到他在这里会啊,有这样子的一个路径对吧,就是说他这里的话是一个保存的一个路径,然后这里的话它的一个文件名,它这里是啊。

不是我们这里上传了一个文件名了对吧,那我们可以知道它是有做一个,就是随机的一个文件名啊,其实我们从文件名也能够看到,它其实就是一个当前的一个日期对吧,2020041720。

然后后面的话是有一个随机的一个字符串,这就是我们需要去获取到的一个信息,然的话我们怎么去绕过啊,就是这里的话就会用到,我们就是上节课讲到的一些,就是说啊文件上传绕过的一些知识。

我们可以去进行一个尝试,就是说啊通过一些嗯绕过黑名单对吧,就是说大小写还有一些空格点,这样子的一个方法去进行一个尝试,好的话,判断服务端它是否对我们的这样的一个呃。

比如说一个空格对吧,我们在这里输入一个空格,我们在上传文件的时候,我们在这里上传文件的时候,我们在后面加一个空格对吧,然后的话我们去进行一个上传,上传之后的话可能会能够允许你上传。

然后的话发现他这样的话是不允许的对吧,那我们是不是能够有一个判断,就是说他啊对我们的这个空格做了一个过滤呢,对吧,然后我们再用一个点跟一个方式,然后上传,然后可以看到他这里的话是也做了一个。

就是也是不允许我们这样子的一个后缀上传的,然后的话还有就是呃,我们通过这个,它可有可能是检测文件的一个内容对吧,那么我们用这样子的一个呃形式,那这样子的一个就是加一个文件幻数的一个形。

式来去进行一个测试。

对吧,哦还有的话呃就是说通过上传一个图片嘛。

上传一个这样的一个图片嘛。

然后的话呃也有可能能够进行一个绕过好。

这里的话是呃我就是呃讲了一下,就说利用这样子的一个啊靶场,就是给大家介绍,就是说我们怎么去啊,绕过去寻找这样子的一个文件,上传漏洞,漏洞的一些思路。

然后这里的话我们回归这个题目,这个题目的话我们其实从前面的话。

我们也能够基本的有一个判断对吧,我们呃上传一个p h p的这种文件。

这种好可执行的一个脚本文件的话,它会在这里有提示,就是说啊不允许上传这样的一个文件,那么我们能够有一个判断,就是它有一个黑名单对吧,然后这里的话也是一个黑名单的一个检测,一个logo。

然后这里的话它的一个代码呃,其实啊在这里的话,因为是可以去查看源码的对吧,查看源码的话就能够知道这样子的一些信息,但是的话实际的一个场景,它是不会有这样的一个源码给你直接去看的。

除非的话是你啊已经就是获得了他的一个源码,然后的话针对这个源码做一个代码审计,代码审计,查看它啊做了哪些过滤对吧,做了哪些性质,然后的话我们针对他这一个性质,来进行一个绕过,那这里的话我们呃。

主要的话是通过这一个靶场来去学习,他的一个嗯它的一个绕过。

然后这里的话这个题目的话,它主要限制了这样的一个四点啊,我这样的话写的应该挺详细的,主要的话就是对我们常见的一个后缀,就包括大小写,就呃大家可能就是在之前尝试的时候对吧,也尝试有大小写。

但是的话发现不能够去见个上传的话就好,他应该是对我们的一个后缀,做了一个大小写的一个过滤对吧,然后的话呃还有第二个的话,就是他删除了文件名末尾的一个点,就是说还有的话有空格对吧,我们之前都有尝试。

是无法去进行一个呃绕过的,然后这里的话还有一个,就是这样的一个特殊字符串,上节课也有讲到,那针对这样的一个logo的话,我们就可以通过这样子的一个呃,其他的上传,特殊的一个可解析的一个后缀的一个文件名。

去进行一个绕过,我这里的话有列举了这样的一些,然后直观的话我们从代码去进行一个查看,就是说这里的话,我们可以看到他对我们获取的一个,我们上传的一个文件名,它呃这的话新定义了这样子的一个黑名单。

就说里面的话是这些后缀对吧,就说这些后缀的话,它是不允许我们去进行一个上传的,我们然后的话它会在这里啊啊。

这样的话其实有注释都已经有了,我这里的话一个代码也是。

就是扩到他这里的一个源码,我们就用它这个源码来说吧,好这样的话他用这样的一个delete dot,这样的一个函数,就是说大家在嗯再去做这种ph p的时候,就比如说你做代码审计的时候,其实啊。

你不一定说要把所有的一个pp代码都能够看懂,而且你不一定说你要能精通一个ph的代码,我们只需要就是能够大概能看懂对吧,因为你要精通的话,你得从头学学一个学门语言,其实花的一个时间的话还是比较多的。

我们这里的话,我们就呃大概了解它的一个结构就可以了,就是它的一个变量的一个定义对吧,这样的话其实你大有一个有一点的一个语言的,一个基础的话都能够看懂,像这种衣服判断的一个结呃,呃结构。

还有的话其实主要的话菲律宾你去做这种的话,你要了解的就是它的这样的一些函数,它的一个使用,比如说我们这里的一个excel这样的一个函数。

我们不知道它是什么意思,我们啊去查可以大家去查那一个手册,k hp的一个手册,官方手册,然后的话通过它的一个官方手册,对它的一个函数做一个理解,就是理解它这个函数它是干嘛的。

我这里的话呃手册的话就是这个菲律宾donut啊,他这里的话是支持啊简体中文的,就是说不会说存在看不懂,然后的话我们可以直接看到它的一个,就说这个函数,它的一个意思就是检测变量是否已经设置。

也就是说检测我们啊传给我们,传递给这一个呃,服务端的一个这样的一个,它限制的一个变量是否已经啊存在,或者说是否有这样子的一个变量,而这里的话它判断的就是这里的一个啊,我们的一个submit这样的传啊。

用post的方式接收到这样的一个summit,它是否存在,就这个summit就是我们这里请求包当中,我们这里的一个啊就是上传的一个动作,它的一个值,然后它检测到我们这里上传之后的话。

它就会获取我们的一个上传的一个路径,就是它会判断我们上传的路径对吧,这里的话也是一个函数,我这里的话就不一一的去啊,去查手册给大家看了,我就大概讲一下意思好吧,还检测我们上传的一个路径,它是否存在。

就说这个路径的话,它是在代码里面已经定义了,然后的话后面的话就是啊啊,几个变量定义了一个黑名单,然后的话还有就是呃这个可,这里的一个train,这个函数就是我们需要去了解的,如果不知道的话对吧。

它的一个意思就是去除字符串首尾的一个,空白的一个字符,就是说它会啊,把我们上传的这样的一个文件的一个名字,它会去除首尾的一个呃空白的一个字符,就去控了对吧,就这里的话也是一样的一个意思。

就是说会把我们的一个文件名的一个空,格给去除掉,然后第二个的话就是这个第二dot,就是删除文件名末尾的一个点啊,以及这里的话转换一个小写,就是这样的一个函数,就是它的一个意思的话。

就是呃理解这个p h p代码的话,就是理解它的一个函数的意思就好ok了,然后这里的意思的话就是呃他会把我们的获,它会获取我们的一个文件名的一个后缀对吧,获取到这样的一个后缀的话。

他会用这个函数对它做一个处理,处理的话,就是把啊文件后缀里面的。

所有的一个字符都转化为小写,如果它转化为小写的话对吧,就是说它是过滤了我们的这种大小写的一个,混合对吧,比如说我这里上传一个这样的一个大写的,一个p hp,它会把我们这里所有的一个字符。

都转化为一个小写对吧,就是一个菲律宾转化成这样,然后的话转化成这样子的话,他就能够他就好。

因为它这里的话嗯哪去了。

唉他这里的话,因为他这里的话原来的话就已经有定义了,这样子的一个原不原啊,就是拒绝的一个后缀对吧,他会把这里获取到的一个转化为小写的,与前面的这里做一个匹配,匹配之后的话。

他会把呃就是如果它转化为小写的话,自然的话就过滤了啊,这种大小写混合的这种文件后缀,然后的话就是不会允许你上传,然后这里的话这个的话就是这个函数是joy,in repair,这个函数的一个意思的话。

就是把我们这里的啊获取到的这个字符,获取到的,这里具体一点的话就是我们获取到的一个后缀,我觉得这个这个号哦,这里的话还要注意点的话,就是这个这里这里我老越过了,就说这里的话。

就是把我们的一个获取到的一个文件名对吧,就是说这里删除了一个文件名,空格的一个文件名,然后把它的一点做了一个分隔。

就是说我们的一个后缀都是一个文件名对吧,嗯比如说s。p h p,他都是这样子的一个文件名,然后他以这里的一个点。

你做了一个风格,然后获取到我们点后面的一个后缀,也就是我们的一个文件扩展名,然后的话付给了这一个值,然后的话再对我们这里获取到的一个扩展名,做一个判断,这里的话就是过滤了这一个呃。

在windows里面的这种这个特殊的一个字符串,然后呃还有的话就是一个首尾的一个触控,就是这个函数的一个意思好下面的话就是呃,下面的话就是一个判断就判断啊,前面这里经过了这样的一些操作之后。

他得到的这样的一个后缀对吧,这里比如说我们的一个写的是一个大写的,一个这样子的,大写的一个我们的一个上传了一个文件名,是这样子的,然后的话它就会嗯,在后面的话再加一个空格以及加一个点是吧。

他这里的下来的话,他就获取到我们整个的一个文件名对吧,它首先会删除我们文件名末尾的一个点诶,他会把这个过滤掉对吧,过滤掉之后的话,它会以我们这里的一个点做一个分格,获取到我们的一个后后缀。

还有一个后缀的话就是像这样子对吧,后面接一个空格的好的话,他会把这里的一个字符串,它全都转化为小写对吧,就是说它会去除掉,他把我们的一个大写的一个p,把它给转化为小写,就啊得到了一个后缀的话。

就是这样子,然后的话在下一步的话,就是如果后面有接这样的一个字符字符串的话,他就会把这个字符串同样的给替换掉,给呃替换掉,就是过滤掉就替换的话,它这里的话替换为空,然后的话再再到最后的话。

就是它会把我们的一个首尾的一个空格,就前面的一个空格,还有后后面的一个空格给攻击下过滤之后的话,最后剩的一个字符串就是这一个,而这一个的话就是最终过滤之后的一个后缀,一个呃上传文件的一个扩展名。

然后的话他在与获取到的这个扩展名之后的话,再与他这里定义的这一个数组里面的呃,不允许上传的一个一些后缀做一个匹配判断,就是说如果是不是存在这里的一些后缀的话,它才执行我们的一个文件上传的一个操作。

这里的话呃就是文件上传的一个操作,主要的就是看一下,再理解一下,这里这样的话就是呃上传文件的一个路径,他这里一个路径的话,它我们前面有看到,就是说它对我们的一个上传了一个文件名。

做了一个随机的一个处理对吧,这里的一个其实也不是随机,它的一个代码,意思的话就是获取当前的一个日期,就我这里的一个日期对吧,202000417就是4月17号,然后后面的话再接了一个随机数。

这个render的话就是随机的,一个是就是随机生成的,已在,百99之间的一个随机数,然后的话在后面接我们的一个呃,这里经过过滤之后的这样的一个后缀,然后组成了这样子的一个文件名。

这就是呃这一个代码的一个意思,大家有明白吗,应该能听得明白吧,能听明白是吧,好的好的,能听明,能听明白的话好,我这里的话就是特意的把这里第一个做了一个,比较详细的一个讲解。

因为后面的话其实就是一个类似的,它的一个代码其实都是类似的,主要的话就是说他在进行一个过滤的时候,它呃有一些没有做一个过滤,就是说这种呃,还有的话就是像这种黑名单的一个形式的话,它的一个过滤的话。

它是呃不严格的,它的一个就是服务端它的一个,而在对文件上传的一个检测的话,它的一个过滤的一个措施,它是有缺陷的,好的话我们利用这个缺陷来进行一个绕过,然后这里的话我们通过代码的话,其实就能够明白了。

主要的话呃大家可能不太理解的一个点,就是这里就这里的话,我们可以通过这种呃特殊的,可以解析的一个后缀去进行一个logo,因为它这里的话它是一个黑名单的一个形式,它是没有包括我们这里的这种特殊的一个。

啊后缀的对吧,然后这里的话呃,我们就可以通过这样的一个方式来进行,一个绕过,然后大家这里今天有同学问我这样的一个问题,就是你通过这样的一个方式上传的话,他解析不了你,你会看到就是说啊。

上传了这样的这样的一个文件,你访问的话,你浏览器访问的话,它显示的是一个文件的一个内容,为什么呢,就是说而服务端没有对你的这,你这里的一个代码里面的内容做一个解析,也就是说他没有执行我们的一个。

菲律宾的一个脚本代码,所以的话你只是看到了一个,它里面的一个文件内容,然后这里的话就是啊你需要给他啊,就是我前面讲的需要做这样子的一个配置,这样的话哦好我就不演示了吧,就其实就改改一下。

改一下这样子的一个后缀就ok了,然后第四个的话,第四个的话,我就直接讲代码,直接啊就是讲方法吧,因为前面的话开头的话我已经有,我已经给大家介绍了,就是说呃文件上传,我们怎么去进行一个测试对吧。

来判断服务端对我们上传的一个文件,他是做了什么样子的一个性质以及过滤对吧,好的话,我们再针对这样的一个呃方在,利用我们的这样的一些绕过的一个方法,进行一个绕过,这样的话哦。

大家应该在操作的时候应该是没有什么问题的,我通过看大家的一个文档的话,大家呃这样的一些操作,包括使用dp发包啊,还有抓包这些什么都没有问题的,主要的话就是要理解呃,呃它里面的一个代码的一个意思。

以及我们为什么要用这样的一个方法去进行,一个绕过对吧,然后第四个的话就是呃文件后缀的一个,黑名单的一个绕过,跟上面的话其实啊类似的,它的一个限制的话,我们通过测试的话能够有发现就是这样的啊。

一些性质就跟上面的话其实是啊一样的,然后这里的一个不同点的话,就是它这里的一个啊文,对于文件后缀的一个性质的话,它是比较严格的一个性质,我们可以从代码能够看得到,我们如果还是使用上面的一个绕过方法。

比如说我们用这样子的一个菲律宾五的这种特,殊的一个后缀去进行一个绕过的话,你会发现是不行的,因为它这里的一个黑名单的话,它的一个限制的话是比较多的,它限制了我们这里啊,常见的一些可以解析的一些后缀对吧。

偶尔ph 223,还有这种大小写的对吧,还有一些常见的呃一些解析的,一些可解析的一些文件后缀,然后然后后面的话代码的话跟上面其实类似的,就呃过滤了文件名的一个末尾的点,还有转化为小写。

还有去除的这种特殊字符,然后这里的一个呃知识点的话,就是说我们这里这个在上节课有讲到的,这样的一个分布式的一个配置文件,这个点h ta c c e s这样的一个文件,然后我们可以看到它这里的一个啊哈。

黑名单的一个后缀里面的话,它是没有对我们的这种呃文件做一个过滤的,对吧,那么我们就可以通过这样的一个呃后缀,这样的一个文件名来进行一个上传,然后上传的话就是啊,里面的一个代码的一个意思嗯。

这里的话我操作一下吧,好吧。

这样的话代码的一个内容的话,就是这样子的一个内容,我们首先新建一个,新建一个这样子的一个呃,文件里面的一个内容的话,就是这样子呃,呃代码的一个意思的话应该都明白吧,上节课也讲到,这样的话。

我这里呃写一个s。jpg,这里的话我们大我们可以自己去定义的,你你不可你可以不写成这样,你可以啊,就写成一个s也是可以的,然后的话我们上传文件的时候,我们直接上传一个as的一个文件。

你后面不接后缀什么的都是可以的,然后的话你上传上传成功之后的话,我们在直接去访问这样子的一个s的一个文件,里面的话,就是我们的一个啊p h p的一个一句话码,它同样的能够去解析我们这里的一个呃代码。

我来操作一下,我这里的话就呃s。pg吧,然后我保存保存为一个点这个h ta c c s保存。

然后大家一定要注意的话,就是他的一个文件名,大家别写错了。

哪去了,在这里,还有一个文件名的话是呃别写错了,就是你少一个字母的话,他就是在服务,你上传到服务端,他也不认识这样子的一个文件,它就不会去啊,读取这一个配置文件里面的一个内容,就hta。

然后cc 1 s要注意。

好的话,我们再用这一个我们上传上传这样的一个点,这样的一个配置文件。

然后我们上传上传之后的话,可以看到他这里的话是上传成功了对吧。

它里面的内容呢内容的话就是这样子,这个内容好的话,我们再上传一个,cs点偏激,那我这里的一个,这个文件。

我们啊我这里的一个s。pg的一个内容的话。

就是一个一句话对吧。

好的话,我再直接去上传,上传之后的话,可以看到这里的话已经上传成功了对吧,然后的话。

哦这里有个问题啊。

没事好的话,我们上传之后的话,我们啊直接去,用我们我们连接我们的一个一句话码的一个方,式来去进行一个访问。

嗯这样的话有个问题。

我这里的一个代码。

因为呃我们这里上传之后的一个文件名的话,就是像这样子的一个文件名,然后的话我这里的一个代码的话,它是匹配的是一个s点偏激,所以说的话他匹配不到会好,这样的话我们需要修改一下这一个文件。

修改的话我直接就匹配一个png,好的话,我再重新上传一下。

没看到上传成功了,上传成功之后的话,我们再去访问一下这一个啊,偏激。

没有解析吗,看一下,呃我这里原来上传的东西有点多,哦这里,我这里原来的一个内容是这样子的一个内容,就没有替换掉了,我这里的话直接在这里改一下吧,我的话直接改成一个pg,搞错了哟。

我这里是关卡搞错了呀。

咳咳咳,这里是第四关,我用的第三关的一个。

因为第三关的话,他对那个呃我们上传了一个文件名,做了一个从随机的一个命名,所以的话我刚刚那里上传了这样的一个点。

htc s的一个文件的话,它啊随机了一个生成的一个文件名,我们可以看到应该是会有一个这个对,就这个,所以说的话他是就说诶,所以说的话内容的话就是这样子嘛,但是的话他这种就正正确的一个文件源的话。

应该是这样子的,所以的话他这里的话会有一个问题,就是我这样的话就不去进行一个上传了,我这里的话直接改一下吧,呃就把这里的一个内容改一下,就步骤的话还是一样的一个步骤。

内容的话就是这样的一个偏激的一个内容,然后的话我在这里在重新试一下。

我们执行执行之后的话,可以看到之前的话它是一个png对吧,只是一个啊,我们是啊一个偏激的就不能够解析的一个后缀,然后的话我们通过就是说上传这样子的一个啊,这样子的一个特殊的一个文件分布式配置文件。

然后的话我们能够把我们的一个,就是说这种在这种不可解析的一个后缀,里面的一个psp代码,能够把它当成一个菲律宾的一个一个文件,做一个解析,这就是啊这一个文件的一个作用,以及这一关的一个绕过的一个方法啊。

就说这里面涉及到的一个知识点,就是这这样的一个文件,而这里的一个呃代码的话,就是像这样子的,其它的一个意思就是匹配这里的一个字符串,就是说啊在当前它只针对当前目录下面。

就说在当前目录下面的一个啊,我以这一个文件对吧,当前目录下面的这样的所有的一些文件,如果他呃这个文件名里面,它包含有这样子的一个png的话,他都能够啊,作为一个p h p的一个文件去进行一个解析。

就包括这样的其他的一些文件里面,如果说就是说我们上传的一个一句话啊。

这种图片码的话都能够去进行一个解析,然后的话呃第五个第五个的话呃,代码其实跟上面的话是一样的,然后呢我们经过测试的话,我们能够就是呃,有就是知道他的一些限制的一个条件。

然后这里的话跟上面的不一样的一个地方的话,就是它过滤了这样的一个顶,ht a c c e s的一个文件,就是说我们在做第五关的时候,我们上传这个文件,它是不会允许你上传了。

所以说我们上面的一个绕过法宝的话就失效了,好的话,在这里的话呃,我们就利用它的这样子的一个,就是它的一个过滤的它的一个性质,它的一个过滤的一个条件,我们从这里来看一下,就是说我们通过测试的话。

能够知道它是删除了文件名末尾的一个点,还有就是呃我们的一个末尾的一个空格对吧,那么我们可以通过构造这样子的一个啊点空格,就说这种多重的一个点空格的一个组合,这样子的一个文件名,我们来理一下。

就是说我们要上传这样子的一个文件对吧,然后的话经过这样子的一个服务端的一个,代码的一个过滤之后对吧,他首先会删除文件名末尾的一个点,它删除完这一个点对吧,删除完之后的话,它再放到下面转化为小写字母是吧。

这里本来就是小写的,好的话,它会以啊一个点的一个后缀做一个分隔,它会获取到这里的一个内容,然后的话他会去除我们的一个,啊一个空格对去除我们的一个空格,它去除完这一个空格之后的话。

我们后面的我们这里的一个文件名的话,就是成了一个这样子的一个文件名,就点啊,就是一个p h p后面接一个点的,然后的话因为他没他只是做了一个就代码的话,它是从上到下嘛对吧,从上到下一一层一层的作业了。

一个这样子的一个过滤,然后他最后到获取到的一个啊文件名的话,就是像这样子的,一个菲律宾点的一个文件名对吧,然后的话因为他这里的话是一个白名单啊,不是一个黑名单啊。

好我们可以它会把我们这里获取到一个文件名,与这里的一个啊黑名单的一个文件名,做一个匹配,然后可以看到它这里的是一点p h p,这样子的对吧,然后我们这里的一个后缀的话,它是不存在这样一个黑名单的。

所以的话我们就能够进行一个logo,然后的话我们再利用在windows上面的一个特性,就是说我们这样子的一个文件后缀的话,它在windows里面,它是会自动把后面的一个点给去除掉的。

然后实际保存到服务器的服务器的话,就是一个菲律宾后缀的一个文件,这这就是呃我们这样子的一个绕过的一个,方法的一个原理,好啊。

我们来看一下,操作看一下第五关,同样的我们先啊,随便上传一个文件。

好我先上传一个s点,偏激对吧。

我们上传一个正常的一个图片文件,然后我们上传上传之后的话,我们主要是看这里他的一个包,嗯我们呃把这里的他的一个上传文件的一个包,把它放到这里,我们发送一下,然后可以看到它的一个路径,它是这样子保存的。

保存在这个目录下面,文件名是这样子的对吧,那我们好再利用前面的一些方法做一个测试,我们首先输入一个空格对吧,让我们发送发送之后的话,可以看到就是说它这里保存的一个文件名的话,可以发现它是一个s点偏激。

但是他把我们末尾的这样的,一个多的一个空格给去除掉了对吧,那么我们从这里就能够判断它,对我们的一个末尾的一个空格,就是首尾的一个空格做了一个啊过滤,可以看到我们在前面加一个空格也是被过滤了。

然后我们在这里的话在加一个点对吧,再加一个点,然后我们再上传,上传之后的话,可以看到他把我们的一个点给过滤了,但是可以看到这里的话它是有一个空格的,这个空格它没有过滤掉,那么我们在这里。

我们这里它保存到服务器端的一个文件名啊,我这里重新换一个文件名,然后然后我我还有,这样的一个文件名,然后的话我再进行一个上传啊,我直接在这里服务端,我把这些都删了吧,我这里进行一个上传。

上传之后的话可以看到,保存在服务器端的话,它就是这样子的一个文件名对吧,然后这里的话因为是使用的一个png后缀,那么我们在这里改成一个菲律宾,我们再进行一个上传的,然后可以看诶。

好这里的话它就不允许了啊,为什么不允许呢,就是说他这里的话嗯,我们从代码里面刚刚也看,刚刚也理解了,就是说他最后他获取到的一个其实是它会,如果说你在这里呃,我们在这里再多加一个点,再来看一下好吧。

我们再发送一下,发送之后的话可以看到啊,我在这里再多加一个点的话,他把我们的这里的一个呃,其实这里这样子也可以的,我们在这里再多加一个点,然后上传之后的话,可以看到在服务端它保存了一个文件。

就是一个菲律宾后缀的一个文件,那么我们就顺利的进行了一个绕过对吧,我们其实也可以再你再多加几个也是可以的,然后他这里获取到了一个文件名,其实在服务端他获取到一个文件名,就是这样子的,所以所以说他跟。

因为黑名单里面没有这样子的一个后缀嘛,所以的话我们就能够绕过,然后的话windows上面的话,它后面它会自动把我们的这种点顶,还有空格,这种都会给自动的去除,所以它实际保存到服务端的话。

它是这样子的一个啊p h p的一个后缀文件,我们这里的话就呃,成功的上传了这样的一个一句话嘛,绕过了它的一个过滤,然后第六关的话就是一个后缀名的一个大小写,其实跟上面的话也是类似的,然后这里的话是呃。

嗯主要的话就是一个,它同样是严格限制的一个文件后缀,然后这里的一个文件后缀的话,就是啊这个例子的话就能够充分的说明,就是说你的一个黑名单的这种策略的话,去啊进行一个过滤限制的话,它是啊有缺陷的。

就说他无法去把我们所有的这种呃这种,就是不允许上传的这种后缀,都给它列到一块对吧,你总会有就是说没有去没有,就是列到这里面的,那么我们就可以利用啊,这样子的就是没在这个黑名单的这种后缀啊。

来进行一个绕过,这句话就是一个文件后缀名的一个大小写,为什么人到过的话,就是在这里的话,可以看到它是没有像这种类型的一个后缀的,对吧,就自然而然的就能够去进行一个绕过,这个的话呃代码什么的话。

跟上面都是类似的,这个话应该没有什么太大的问题啊,好这一题是哪一题,第三题吗,第三题啊,就是说这个这个是吧,这个是因为你没有你没有配置这一个环境,也也就是说你没。

你如果是用用我配置好的这个文件的话,是没有问题的,我这里给你试一下吧,好,嗯我这里的话就直接用这个,ph view,然后可以看到我这里直接访问对吧,直接访问的话,他如果说你没有。

就是说有有同学给我就是截的图的话,就是他这里的话,它是会显示的是里面的一个代码对吧,就说这这样子的一个内容对吧,那是因为你没有就是做一个就是服务端,它没有对你的这样子的一个文件做一个解析。

我这里的话可以看到,它显示了这样子的一个内容,然后的话他把我的一个菲律宾代码做了一个,顺利的一个解析对吧,然后在这里,我直接做一个实验,然后执行一下,可以看到它是能够顺利地执行的。

然后用需要管理工具的话,如果说你在web端能够去执行这种命令的话,这个需要工具也是可以的,可以看到对吧,我这句话直接就呃得到了这样子的一个呃,就是连接成功了对吧,就是说你的一个问题的话,就是你没有啊。

就是,没有配置好,就所以说我建议你们使用,我发给你们的那个靶场,有那个的话是我已经配置好了的,在这里好,现在的话应该没有什么问题吧,能够正常的做一个连接的,就大家在测试,再就是说再去连接之前的话。

先用web用浏览器去访问一下,如果说没有说有这种报错什么的对吧,那说明的话你的这个码是能够正常的解析的,就自然而然的就能够用这样子的一个,这种需要管理工具去进行一个连接,好那么我们继续。

呃前面的话我们讲讲到了这个后缀名的一个,大小写的一个logo,就是说啊利用他的一个黑名单的一个缺陷啊,第七个的话就是嗯后缀名空格的一个绕过啊,其实这个的话跟上面的这一个是也是类似的,就是说这里的话。

就是他没有对我们的这样的一个空格,做一个过滤,他没有对这样的一个空格作为一个过滤,但是他对我们的这种呃,就是末尾的一个点做了一个过滤,然后它过滤了这这里的一个点缀的话,它获取到的一个后缀的话。

就是这样的一个p h p加一个空格的后缀,然后的话就自然的能够,绕过这样子的一个黑名单,然后保存到服务端的话,它实际存储的一个后缀的话就是一个菲律宾,这样的话应该哦跟前面的话是类似的,应该很好理解对吧。

好第九个第九个的话就是他没有对啊,我们的这样的一个特殊的这种字符串,做一个绕过,然后他把我们上面的像这种dht,还有大小写啊点啊,还有前面前面的一些空格都过滤了,但是的话在呃这种方法。

其实呃再去做这种windows上面的一个环境的话,就在c t f题题目里面也是啊比较常见的,就是说如果你啊发现像这种前上面的这种,没有做一个,就是说不能够去绕过的话,你可以尝试用这样子的一个方法。

就只看,我们来测试一下。

第九关,这样的话我同样的先上传一个天机,先呃得到它的一个这样的一个请求包,主要的就是这个包,然后把它发送到我们的repeat模块,然后的话我们啊就前面的这种测试,就是说点空格的这种。

我们去判断它的一个服务端的这种检测的话,我们就不一一的去做了,这样的话直接改成一个菲律宾,我们用这种方式去进行一个尝试,date这样子的一个方式,就实际它的一个后缀的话,就是像这样子的一个后缀对吧。

然后的话我们再进行一个上传,我们看一下这里的一个目录,我们上传上传之后的话,可以看到它实际保存到服务端的话,就是一个p h p的这样子的一个文件,我们可以从它的一个响应包当中去看到。

可以看到它是这样子的一个啊,就是保存到服务端的话,它是这样子的一个样子对吧,但是在windows上面的话,它会把后面的这样的一个特殊字符把它给啊,就是就保存到服务端的话,他看到这样子的一个文件名的话。

他会把它保存为这样子的一个呃,就是把后面的一个去掉,这里的话就是一个windows上面的一个特性,然后的话就是第十个,第十个的话呃,同样的就是啊跟前面的话类似的,这样的话就是呃这种顶空格就是多重的。

这种顶空格的一个绕过,最主要的话就是代码,它代码的话是呃,一个差别的话就是,呃跟前面的话其实没有什么太大的一个差别,就同样的是去除了顶,还有空格,当然这里的话是嗯我们的一个po的话,就是像这样子。

我们把它改成这样子的一个文件名,就我们啊在做一个测试的时候对吧,我们可以直接在这里去进行一个改版,然后通过查看观察它的一个响应包,它它的就是说它存储到服务端,它的一个啊文件名是怎样子的。

然后的话再一的做一个调整嘛对吧,你可以再多加几个,就直到啊找到能够正常正确的绕过它的,一个检测的一个方法,这样的话我应该没有什么问题吧,应该跟前面的话是类似的啊,第四,诶第11个也是啊。

第11个的话跟上面的logo方法的话是一样的,就这里的话是它是代码的一个实现方式,可能不一样呃,这句话同样的,它是定义了这样子的一个黑名单对吧,然后的话它是过滤了这种呃htc的这种字符对吧。

然后的话它这里的话是有一个诶,看一下这里我好像我应该是搞错了哦,这里的话是我写错了呀,这里实际上的话应该是一个,他把我们的一个文件名对吧,然后的话他会把我们的这样子的。

就是他这里拒绝的就是黑名单的一个文件名,把它给替换为空,主要的就是这个函数,就是说看到就是说他有这种替换操作的话。

那么我们就可以使用双斜的,就是啊,就是后缀名的话唉怎么回事,后缀名的话我们可以使用这样,像这样,比如说一个s。ktp,然后的话我在这里在中间再加一个hp。

这个的话就是一个双写,然后他这里的话在服务端,它对我们的这种后缀做一个检测的时候,它会获取我们这里的一个后缀对吧,然后的话获取到的一个后缀的话,它会与我们这里的一个黑名单的一个内容,做一个啊匹配。

就是说它会把我们这里获取到的一个后缀,里面的存在黑名单里面的这种后缀,这种字符做一个替换,他替换的话就是哎这个就替换为空,然后他,这里的话我们可以看到,这里的话是有这样的一个pp对吧,它的一个代码的话。

它就会把这里替换为空,替换为空,但是它替换为空之后的话,我们最后的一个呃后缀通,啊不好意思啊啊咳嗽有点有点难受啊,搞得我了,而这里他实际的获取到的就是,他最后获取到的一个后缀。

其实还是一个菲律宾的一个后缀对吧,然后他存储的话,后面还是存储的一个菲律宾的一个文件,这样的话我这里是搞错了,就是说写错了,我这样的话应该是直接复制了上面的,所以啊忘记改了。

第12个那就是啊一个年龄阶段呃,关于您明年几段的话,我们上一节课也讲,如果说还没有就说不是很明白的话,大家可以去看一下这里的这个文章,这篇文章的话对这个年龄阶阶段,它的一个根源,就是。

我们为什么能够利用这样子的一个年龄阶段,做了一个比较详细的一个解释,这样的话呃,我们把这两个跟就这一个跟这一个做一个比,较,它这两个的一个区别的话,就在于我们的这里的一个。

呃就是这里这里它获取的一个保存的一个路径,它的一个方式它是啊不一样的,这里第一个的话它是以个体的方式,就是说我们在这里的一个保存路径,它是呃放在我们的一个u r l当当中,好,这里第二个的话。

它是以pos的方式去进行一个接收,所以我们传我们客户端的,我们传递和服务端的这个保存的一个路径,的一个值的话,它是放在我们的一个post的请求当中,然后这里的一个这里的梁啊,大家要了解的一个知识点的话。

就是这里的一个年龄阶段,它在一个get方式以及post的方式,它的一个不同之处,就其实上节课的话呃,也给大家就是有说到这样的话。

我以这两个题目做一个。

演示。

首先的话我们嗯是哪一个,第12个,第12个的话,我们首先同样的就是前面的一个测试的一个方。

式对吧,我先上传一个呃偏激。

然后的话我们观察它的一个请求包。

上上船看完之后的话,可以看到它是允许我们上传的,然后的话从,哇嗯嗯嗯,然后的话我们观察它的一个请求包,以及它的一个响应,我们这里的话把它放到这里,呃发送一下,我们可以看到就是我们的请求包当中。

它是一个post请求对吧,然后的话主要的话是观察它这里的一个u r i,它的啊有一个点就是这里,这里的话就是有一个save path,save pace的话,它的一个啊就这一个参数。

它的一个值的话就是顶顶杠的一个payload啊,不upload这样子的一个目录对吧,然后的话我们再从它的一个响应包当中,来进行一个查看,查看之后的话,其实可以看到。

在这里的一个就是保存到服务端的一个路径,它是这样子的对吧,顶顶干upload,然后这里还有多了一个对,然后其实它的一个它这里的一个代码的话,意思的话我们可以判断,就是说它是从这里的一个我们这里的一个呃。

保存的一个路径,然后的话与我们它这里啊,同样的做了一个随机对吧啊文件名的一个随机,然后的话做了一个拼接,就拼接之后的话,这个路径就是它的一个保存路径对吧,所以说这里的话它的一个问题的话。

就是说在于我们的这里的一个目录,这里的一个保存的路径其实是我们可以控制的,就是我们可以控制它这里的一个保存路径啊,发送到服务端是什么样子的,然后这里的话就是涉及到了这样的一个,年龄阶段的一个知识点。

我们来去进行一个绕过,就是说我们知道这里的话,我们通过前面的一个测试,知道它是这里的一个app的字串字符串,然后的话跟我们的这里的后面获取到的一个,文件名做了一个拼接对吧,好的话。

我们想要让服务端保存我们的一个pp后缀的话,我们就利用这样的一个年龄阶段,在这里写一个00%呃,前面的话我们随便写一个,比如说一个sd f。p h p,然后的话后面的话接一个00%。

然后这里的话就是一个00%的一个特性,它会把我们呃在这里的一个00%,后面的这样的一个字符串给忽略掉,然后实际它会存储到服务端的话,它就是前面的这一段,就是有一个a s d f。p h p到这里。

然后它解析了嗯,它解析到这里的话,它会把后面的字串都会给啊去掉,那我们可以来查啊,测试一下,我们进行一个发送,发送之后的话可以看到啊,它是保存的,它实际的一个好文件名,就是它的一个保存的一个路径的话。

就是这样子对吧,然后可以发现他这里是有一个这样子的,一个特殊的一个字符,就是零零阶段做了一个url的一个解码之后,就是这个00%,他在服务端啊,就客户端到服务端做了一个解码,做了一个url的一个解码。

解码成了一个这样的一个特殊字符,好的话,这种特殊字符的话,它在保存到服务端的时候,他会把后面的一个字符给去掉,我们可以看一下,在这里对吧,我们可以发现它是保存的,他服务端返回给我们的一个响应。

就是他保存的一个路径的话,是这样子的对吧,但实际在服务端,它是以一个s d f等于k h p的,一个一句话码的一个,菲律宾的一个web shell,这就是以它的一个问题。

就是在于这里它的一个保存的一个路径,就是说保存到服务端的一个路径,是我们能够去进行一个控制的,然后的话我们再利用这样的一个年龄阶段的,一个特性进行一个绕过。

然后pose的话跟get的话,就其实就是呃我们同样的来进行一个。

测试,按照上传一个这样的一个偏激,我们观察它的一个请求包,然后可以看到跟上面不同的点的话,就是说它不是在一个啊url上面,也就是说不是以get方式去进行一个,数据的一个传递。

然后我们发现它啊观察这个请求包的话,可以看到它的一个请求内容,在这里有一个参数,有一个same page对吧,然后的话这里它的一个值的话就是一个顶啊,顶顶干upload对吧,那我们可以看到啊。

我们先发送一下,发送之后的话,我们观察它的一个响应,观察响应之后的话,发现它跟前面其实是一样的,它同样的是把我们的这里的一个值,与我们保存的一个文件做了一个拼接,然后的话拼接保存到服务端。

所以说这里的话我们同样的使用一个年龄阶段,来进行一个绕过,我这样的话呃,随便写一个文件名,然后的话这里要注意的点的话,就是在post的请求的话,我们pos的这个数据的话,它传递到服务端的话。

他不会对我们的这样子的一个00%,做一个url的一个解码,解码成那个特殊字符,所以说的话我们需要在这里直接就是啊,更改为我们的那个特殊字符,这样的话我们就需要用到这个hex的一个编码。

我们需要找到这一行,我这样的话加了一个空格,就是为了呃就是把我们的一个诶没了,就找到这里,就是我们要在这里加一个那个零啊,零零阶段的一个字符,我们找到这个部分就是说在这里对吧。

然后在这里的话我们啊要知道的话,就是空格它的一个呃,16进制的一个字符的话是一个二零,就是二零,然后的话我们需要把这里改成一个零,零,改成零零之后的话,我们在这里可以看到它这里多了一个对吧。

多了一个这样的一个特殊字符,然后的话我们再发送到服务端的话,它就会从这里的一个呃内容,与我们上传的一个文件做一个拼接,我们可以看一下,可以看到它保存的一个路径就是这里对吧,文件名是这一串。

然后的话它同样的能够,就是说它会把我们这里的一个特殊字符,后面的内容给忽略掉,然后保存到服务端的话,是这样子的一个文件名,这里的两个例子的话就是呃让大家明白,让大家理解,就是这里的一个年龄阶段。

他在get以及post方式的话,它的一个好操作以及它的一个区别,啊这里的话大家应该没有什么问题吧,应该没有问题吧,有问题吗,啊没问题,那我们我们继续,就大家在听我讲的时候呃。

可以在自己的一个靶场上面跟着我一起做,这样子的话呃,可能大家理解的一个效果会更好一点,然后呃第14个的话就是啊,文件内容的一个检测了,前面的话都是啊,对我们的一个文件后缀的一个检测对吧。

这样的话就是啊对服务端,对我们的一个文件内容做了一个检测,logo的话,就是呃就其实就是我们它的一个检测的话,主要的话就是文件头的一个检测吗,还有的话就是后面的一个文件内容的一个检测。

就是他通过这样子的一个函数,通过这个函数来获取,我们上传文件里面的一些信息,好的话,通过里面的一个信息来判断,我们上传的一个文件它是什么样的一个类型,哦这里的一个文件头的一个检测的话。

应该没有什么问题的吧,就嗯跟我们上节课讲的一个内容,就通过图片码的一个方式对吧,加还有的话就是加这种呃文件幻数,常见的一个gf 89 a就是这样子的一个方式,能够进行一个绕过啊。

源码的话嗯主要的话就是这里吧,这里他首先的话它会获取我们上传那个文件,它这里的一个函数的话,就是获取你上传文件里面的一个内容,就是这里上传了一个文件内容的前两个字节,然后通过前两个字节来判断。

来判断你上传的一个文件类型,是不是这像他这里列的这三个类型,还有还有的话是不是就说不知道,就是说不是上面的这三种类型,然后的话这里会有一个判断就判断啊,如果说是这样子的一个呃类型的话。

它就允许你去进行一个上传,如果是unknow的话,它就会好给一个报错,就是啊上传出错,这里的话应该没有太多的一个问题哦,这个的话就是主要的话就是这个函数的一个理,解,我们啊这样的话大家看一下吧。

就获取图像文件的一个大小,然后返回它的一个尺寸,还有文件的一些类型的一个信息啊,这样的话主要的话就是呃通过图片嘛,还有就是这种图片的一个标识字段,加一句话码去进行一个绕过,就是从代码里面的话。

我们可以看到它就是啊,同样的是一个黑名单对吧,就是它的一个文件类型是限定了这三种,然后的话嗯,它会通过这个函数对我们的一个文件提取,里面的一个信息,它提取了一个信息的话,主要就是这一个好二二的一个信息。

我们看一下这个,这个页面就这篇文章的话,对这个函数做了一个比较详细的一个解释,好就是这里的话它的一个二的一个信息的话,就是索引二,啊这里索引二就给出的话就是一个图像的类型,就是然后它通过获取到图像的。

这个索引二的一个值,就它的一个值的话,就是像这里有列了一些获取到这样的一个值,来去判断它的一个文件的一个类型,是什么样的一个文件类型,再比如说一的话就是gf 2的话就是jpg。

好的话来判断它的一个我们上传的一个文件,是什么样的,一个是不是允许上传的一个文件类型,第16个的话,就是同样的就是这个函数的一个logo,就嗯理解这个函数就ok了,然后的话这样子的一个logo的话。

同样的就是图片嘛,就就我们常常常用的一个方式,就能够去进行一个logo,然后就是最后一个,文件内容的一个渲染的一个logo,上节课的话我们有提到就是通过代码注入啊,这里的一个呃渲染logo的话。

主要的话就是理解它的一个这几个函数,首先的话这里的话啊我们先从明代码来看吧,就是嗯嗯这里有注释就获取到它的一个文件名,还有它的一个类型,以及临时文件的一个路径和文件名什么的,一些信息。

然后的话主要的话就是这三个函数呃,这三个函数imagistrate from jpg,这个函数的话就是啊把我们就说这里的话,它首先会对我们上传的一个文件做一个判断嘛。

他判断是不是一个j p e g的一个文件,如果是的话啊,是的话,他就会交给我们的这一个p h p函数,让它把我们文件里面的一个内容做一个好渲染,渲染之后的话,他会把里面的一个内容做一个就是好。

简单点来说的话,就是把里面的内容做一个改变,改变之后的话,如果说我们使用这样子的一个图片码,就是说正常的这种图片码的话,他会把我们里面的这种图片码的一个内容,做一个打乱就去除。

它会去除掉里面的过滤掉里面的一个图片啊,过滤掉里面的一个一句话木马,所以的话就是我们上面的使用的一个图片码的,一个方式去进行一个logo的话,它就会失效,然后的话就是呃分别啊下面的话还有两个函数。

就是分别是png,还有gf的这种图片类型,如果你上传的话,它就会而做这样子的一个渲染的一个啊测试,做这样的一个渲染,然后这里的话对于他的一个绕过的话,就是我们通过这种图像处理软件。

然后的话在不破坏它文件本身的,一个渲染情况下,找一个空白的一个区域,进行一个代码的一个填充,就一般的话是这种图片注释区,前提呢是要保证它文件的一个结构的,一个完整性,就对于这种啊渲染的一个测试的话。

它基本上是能够绕过的,就是说呃可能通过在这一句话不是很好理解,它的一个意思的话,就是嗯我们因为我们通过前面的一个原理的话,理解到就说我们上传的一个图片码的话,他要把里面的一个内容做一个打乱对吧,好的话。

我们需要找到这样的一个图片,里面的一个空白区,这个区域的话我们就是说他在做渲染的时候,它其实是不会对里面的一个内容做一个改变的,就是说需要这样子的一个区域,我们把这样的一个一句话码插入进去的话。

就能够成功的上传一个这样子的一个图片嘛。

vx可以可以的。

然后这里的话,但是的话呃就是说这里你去进行一个填充的话,你如果说你直接去使用一个wx的话,你没有找到他一个空白区的话,你是你直接去进行一个填充的话,它是会破坏它的一个文件的一个结构性的。

如果说你破坏了它的一个文件结构性的话,你就是在这里的获取到它的一个文件的,一些信息的时候,因为这里的话它是只允许这三种,就是说jpg电机,还有gf这种图片文件去进行一个上传的。

如果说它不符合这样子的一个图片,文件的一个类型的话,它是直接就不会让你去进行一个上传的,然后这里的话呃,我这里的话呃,已经有生成的几个,能够绕过的一个文件,就说是特特特就说特意生成的一个文件。

我们首先的话先用正常的一个方法,正常的方法进行一个测试,17吧,我这话先使用这里的一个图片嘛对吧,同学们,这里的一个图片码的话,它里面的话其实就是跟我们前面上传的一个,是一样的,这样的话我是好用的。

其他的你自己去建一个生成也是可以的,就他的一个代码的话。

就是这里对吧,好的话,我们再把这个文件上传,上传这个文件对吧。

上传上传之后的话,它是这样子的一个呃内容对吧。

然后我们把在复制把它再做一个保存。

把就是我们上传到啊服务器的这一个文件,把它给下载下来。

就到,下载下来的话就是这样子的一个文件对吧,然后的话我们通过这样子的一个,就是说这个编辑器把它打开,然后我们来对比一下这两个文件的一个内容啊,其实可以看到我们圆心,这里的话是有一个一一句话码的对吧。

然后实际上传到服务器的一个文件的话,它里面是已经没有了这样子的一个啊,菲律宾的一个代码,就是说我们可以通过这样的一个方式,来对它一个做一个判断,对它做一个判断,就是服务端。

它对我们上传的个这种图片文件做了一个渲染,他把我我们里面的一个内容做了一个打乱。

就说我们呃平常使用的这种图片码的话,它是不能够去进行一个绕过了,也就是说不能够去进行一个解析。

然后的话我们这里的话使用啊,我这里已经有的,这里的呃,比如说这个偏激的,这里的一个码,我们可以来看一下,里面的一个内容,它的一个内容的话其实就是这样,你这样子的一个内容,它我们可以看一下。

它是这样子的一个图片对吧。

那它里面的内容的话就是这样子的好,我们同样的把这个码做一个上传。

我们上传这样的一个码,上传上传之后的话,它是这样子的一个文件对吧,我们把它给下载下来。

下载下载之后的话就是这样的一个文件对吧,然后我们打开来与云星,我们上传的一个文件做一个对比,我们之前上传那个文件内容是这样子的对吧,我们可以看到在这里的话,有一个psp的一个一句话码,好的话,在这里。

这个的话就是我们上传到我们的一个服务器,上面的一个文件内容,然后可以看到与之前不同的一个地方的话,就是它上传到服务器的这样的一个文件的话,它同样是保留了我们的一个菲律宾的一个,一句话码的一个内容。

就是说我们可以通过这样子的一个文件来进行。

一个或得到服务器的一个web share。

然后这里的话嗯,这里的话就是还有一个点点的话,就是因为我们这里的话,只是能够去上传这样子的一个图片文件,好的话,就算你上传了这样的一个图片文件。

但是你在服务端,我们它是不能够去解析里面的一句话,码的一个内容的,然后的话我们需要结合其他的一个内。

其他的一个漏洞,就是这样的话就是一个文件包含的一个漏洞。

就在下节课会有讲到。

这里的一个文件包含的一个漏洞的话哦,这样的话他已经有提供了。

就说我们需要通过这样的一个文件包含漏洞,才能够得到,需要就是说才能够去解析里面的一个啊,这个图片文件里面的一个代码,这样的话我就给大家演示一下,具体的一个原理的话,我就先不说啊,这里的话给了一个代码。

其实代码的话也很好理解,主要的就是这里通过get方式获取我们这一个file,好参数等里面的一个字符串的一个内容对吧,然后的话再教给我们的这一个include,这个include的一个函数。

这个函数的话就是一个文件包含漏洞,经常会碰到的一个和函数,就是说通过这个函数来包含里面的一个文件啊,就包含我们这里用get方式发送的这一个字符串,然后的话它包含之后的话,他就会哦。

它会获取到我们这里的一个包含的一个文件,的一个内容,然后的话再输出来,我们这里首先来做一个测试,首先的话我们需要通过这个fire函数啊,不fire参数啊,搞错了,来传递我们的一个啊字符串。

这样的话我们想要去读取的一个文件内容,文件的话就我们就用这一个对吧,我们的这里的一个内容,啊或者说这个我还有点偏激吧,我们想要这里要想要读取它的一个文件,哪哪一个文件内容的话,我们可以通过一个就是路径。

这样的话是一个相对路径,就是说我们这,绝对路径以及相对路径大家要分清,就是我这样的话就提一下,就说我们当前所在的这样的一个文件对吧,它所在的一个目录是在这一个app roads,也就是这个目录下面对吧。

然后的话我们想要呃,就是说,绝对路径我们先来说绝对路径嘛,就这一个就是它存储在我们的一个磁盘上的,这样的一个路径,这个路径的话就是绝对路径,然后的话我们想要嗯,我们以这个文件为例子。

就说这一个文件它存储在我们的硬盘上的话,它的一个绝对路径就是这样子,然后的话呃加一个l u。j嗯,pg这个这个的话就是它的一个绝对路径对吧,我们可以直接这样子来去访问,然后的话相对路径的话。

就是我们通过这样子的app,后面接我们的一个就是这个l o l点,pg这样的一个内容好,我们回撤回车之后的话,可以干他这里的话啊,显示我们这里的一个内容,我们前面我们看一下它的一个文件的问题。

是这样子的对吧,然可以我们很熟悉的发现,他把我们里面的一个ph p代码做了一个解析,然后这里的话就是使用的一个相对路径,就是说这里的这个路径,它是相对于你当前的一个路径。

我们可以看到就你当前的这个文件的话,是这个嘛对吧,include。k hp,然后的话他当前目录下面有一个upload目录,ut upload目录对吧,然后后面接我们的一个文件名,然后这里文件包含的话。

他就会去查找,你单纯的就是它会包含你当前的这样的,这里给的一个路径的这样的一个文件,里面的一个内容,然后它包含用那个include函数包含之后的话,他会把里面的一个内容做一个ph啊。

当成一个p h p的一个啊文件做一个解析,也就是会解析里面的一个菲律宾的一个一句话,码的一个内容,我们可以来测试一下,pass等于嗯该去inf,我们执行一下,可以看到他这里。

我这里的话是接的一个图片文件,它同样的能够去进行一个解析对吧,然后的话呃,我们再结合前面的,我们这里上传的这样的一个图片对吧。

就是说我们通过绕过这样这里的一个渲染,测试的这样的一个上传的一句话码的一个图片,来进行一个测试,然后可以看到这里的话,它显示的就是呃那个图片文件里面多余的内容,我们来测试一下哦,这里的话这样的话。

因为里面的一个码的话是不一样的,是这一个,你是这个哦,是这一个文件,是这一个文件,上传的话是,骑牛杀四,点png,然后这里的话是这样子的一个码,这个码的话就是呃,其实就是啊跟我们正常那个码是一样的。

它的一个意思的话,就是通过post的方式来获取,我们传递给这个一参数的一个字符,然后的话这里的话就是一个get方法,来获取我们的一个零参数的一个值啊,其实它的一个意思的话。

就是我们可以来构造这样子的一个函数,好不好,构造这样子的一个一句话,马就我们可以来观察一下,就是,我们这里的这种正常的一个一句话嘛对吧,就说这样的话,前面的话它是一个hour,一个执行的一个函数。

后面的话接括号,然后这里的话是我们啊以什么样的方式来获取,我们啊来接受我们传递的一个参数,然后这里的话就我们可以通过呃,像我们的这一个零参数,呃它是以get方式来进行一个传递的,像一个零参数。

我们构造一个呃aa函数,然后的话他在以post的方式,我们在以post的方式来向他传传,我们想要它执行了一个命令啊,就是一等于ph p for,好我们执行,好这里的话搞错了,零等于,cover。

刚刚的话是呃不是这一个文件,我们,诶好,平民four,没有直接,没写错,诶嘿,有个问题,737634是这个合适的,这里不应该呀,嗯稍等一下。

那也等于,嗯可以的呀,这哪里出了问题呢,一定不喊我看一下,可能我哪里搞错了,没出一,能等于power,嘿,这就奇怪了啦,这个马的话是没有问题的,我之前是也是都是可以连的呀。

我忘了是可能我这里零的时候有问题,这个码的话是没有问题的,而且它的一个内容的话其实解析了,当然他这里的话有报了一个错,你copath路径,呃这个的话我课后我再看一下吧,啊其实这个码的话是没有问题的。

我测试可以看到在这里的话,我这里写的这样的一个ph码的话对吧,是可以这样子去进行一个,直接去进行一个连接的解析的对吧,它的一个意思的话,就是这里我们传递这样子的一个,可执行的一个参数。

然后它其实就会呃把它放到这里来,它会放到这里来,然后构造一个像这样子的一个a s s压t对吧,然后这里的话我们可以看到,就跟我们前面的一个一句话码的话是类似的。

而我们只需要在这里就传递,我们这里执行的一个命令就ok了,这个马的话是没有问题的。

然后这里的话呃呃时间关系。

这个我呃我下课之后的话,我再看一下吧,我咨询室的话是没有问题的,好吧,然后的话今天的课程的话大概就到这里了。

今天的话讲的比较多,因为它的一个内容的话比较多啊,我讲了十多个,这个内容的话有点多,然后大家应该都能够听懂吧,呃,大家都能够听懂吧,再去弄一次对啊,我建议大家大建议大家的话再去弄一次啊,对啊。

我看大家这里的话呃,我这里有的这个这些啊,同学的话他给的呃不是很全的,就说大家在呃这节课课后的话。

再去自己再去尝试一下好吧,就是因为你可能你看我操作的话,还感觉感觉很简单对吧,然后你看着看着就懂了,但是你实际你在在你自己去进行一个操作的时,候,你看别人操作的时候其实很容易忘对,确实有点多。

其实呃就我之前也不是很不是太想讲,全都讲了,因为其实有些的话其实是比较,就是一些报过的一些知识嘛,其实我们上节课也讲了,然后主要的就是代码,这些代码的话呃,它的一个意思就理解它的一个意思。

他是怎么去进行一个绕过滤的对吧,然后我们针对这种过滤,我们通过啊观观察他的一个请求包,就是我们发送这样的一个上传文件的一个数据,然后观察他的一个响应对吧,观察了一个响应,它对我们的一个网上传的一个文件。

做了什么样子的一个过滤,好的话我们在猜测就是推测他做了哪些过滤,我们在针对这些过滤,来进行一个上传的一个绕过,然后就是测试的话,就是我们上节课讲的那些知识吧,其实这个啊大家用熟了的话就会就会很简单了。

就是你直接上手,就直接用那些知识去进行一个测试,然后再做一个判断嘛对吧,啊wtx这种工具的一个使用的话,大家百度1下吧,好吧,就是这种工具的一个使用的话,呃我相信大家就是呃百度1下。

然后自己玩一下应该就会了,然后其实其实我看了一下大家的一个评论,我觉得这位同学说的很对啊,啊应该就就是就是你吧,就是其实外表的话其实简单其实也简单吧,就是呃一些工具的一个使用,你熟悉的话。

就其实工具的话使用的话是很简单的,然后主要的话你是就是我们要教给大家的,让大家明白的,其实也是就是这些漏洞,它的一个原理,好的,我们怎么去,寻找这样子的一个漏洞,在什么地方寻找漏洞。

我们怎么去进行一个测试对吧,这些是要大家还有就是这些啊测试的一些知识,这些才是大家要去学习的。

去啊去搞明白的一些东西对吧,然后今天的话哇讲的有点久啊,就希望大家呃课后再去做一下吧,然后呃其他的闲话也不多说了,大家有问题的话私聊我吧,好吧呃但是啊我建议大家还是早点休息啊。

真的我建议大家还是早点休息吧,昨天晚上有位同学,有位同学,有位老哥晚上一点多钟问我问题,正好还被我看到了,我这我这你们这么晚还搞学习,我这想不回答问题都难啊,然后说着说着就一两点钟了。

就我建议大家还是你啊学习啊永无止境,但是还是晚上该休息还是要休息是吧,好问问题,欢迎大家来问,然后尽量还是呃白天吧好吧。

然后其他的也不多说了吧。

呃最后的话就是呃下周的话还有一节课,就是一个文件上传的一个实战考核,然后考核的话考核的一个内容的话,就是这里我在啊那一个靶机上面的话,又搭建了几个环境,就是一些cm。

啊然后的话包括之前的之前一个circl注入啊,对一个靶场的话,就是大家通过sql注入,得到了他的一个账号密码对吧,登录到后台之后,他其实是啊存在一些文件上传的一些功能顶的,然后的话这个cm s的话。

它其实就存在一个文件上传的一个漏洞的,而这里的几个考核都是呃,存在这样的相关的一些漏洞的,有些的话在网上也能找到,就我啊要求啊,就大家的话,花点时间去做一下,就实际的去做一下。

然后的话在下周一的话有一节课的话,就是针对大家的一个就做这些,实际去做这些这些测试的时候碰到的一些问题,给大家做一个讲解好吧,然后的话到时有问题的话,在课堂上面我们在一起讨论。

然后呃这节课的话内容的话就到这里结束了,然后嗯其他的哦,其他的话也不多说了吧,我们就今天的快乐的话就到这里结束,我们下课下课,大家早点休息啊。

P19:第17天:文件上传漏洞挖掘思路 - 网络安全就业推荐 - BV1Zu411s79i

然后的话我应该都,同学们应该都过来了吧,好,那么我们的话就正式开始我们今天的课程内容,然后首先的话对这节课的话,是对我们上周的一个课程的一个考核,然后的话呃我在课前的话,在群里发了这样的几个文件。

首先第一个的话就是呃一个夫子的,夫子的一个字典里面的话呃,里面的话是包括了一些呃,我这边收集的一些字典,里面的话有这样的三个字点,其实大家大家去github上面去搜的话,有很多的这种这种字典。

然后这里的话我就只下了这三个,大家可以去看一下,去研究一下这个怎么用,就是你再去做一些爆破的时候。

你就会需要用到这样的一些字典,比如说你看circle circle的这种语句对吧,这种语句如果说你不知道你怎么去测对吧。

你可以直接用bp的那个模块,去把这把我们的这样的一个字典。

一个一个的去跑,好的还有就是呃有文件上传的一个字典,这个的话就是呃就是我上周和周六,周六的时候发给大家的那个那篇文章,那篇文章的话,我建议大家去看一下,就是他啊几乎介绍全了。

就是我们在课堂上面讲的一个文件。

上传的一些点,好的话,他根据这些点,然后他自己啊用python写的这样子的一个啊,文件上传漏洞的一个,夫子的一个字典的一个生成脚本。

就这一个。

就这篇文章这篇文章大家可以看一下,如果代码看不懂的话,没关系,你就看他的列的这样的一些,就是说在文件上传当中,存在着这样子的一些漏洞,我们怎么去利用,比如说这种大小写混合的这种绕过方法。

它结合这样子的各个的呃,文件上传的一些漏洞的一个绕过方法,然后冰雪相对应的一个字典。

然后的话呃。

这一个的话就是他分享在那个github上面的,一个项目,大家可以去使用一下。

使用的话也是十分简单的啊,他这里的话已经有现成的。

它生成了这样的一些字典,可以看到。

这个的话是可以常见的一个菲律宾,你常见的这种p h p,就我们可以看到有像这种00%的对吧,然后还有的话就是这种大小写的,还有呃h t m的这种后缀的,kh p5 这种后缀的,它都把它就是做了一个结合。

然后的话大家再去使用的时候,只就呃你一个一个试,就是比较麻烦嘛,你手工去测的话,你可以使用这种字典就去跑它的一个后缀,如果跑出来的话,你从通过通过他的一个响应内容的话。

能够知道你的就说这样的一个logo方法是啊,什么样的,好然后第二个的话是这个upload这个images,这个的话就是我上节课的呃,就是绕过那个渲染的几个嗯,payload就几张图片。

就是啊已经生成了几个图片,我们可以直接使用这样子的一个,利用的一个图片,来去达到绕过我们文件上传渲染的一个目的。

然后这里面的话呃,其实看一下它里面的话,就是已经写好了这样子的一个一句话,就是这里这个的话是我根据呃一个项目,就是别人的一个项目改的,这个项目是哪一个,我在github上面根据别人的一个项目改的。

但是他那个他在里面写的这样的一个,一句话的话,我试了之后,他是就是绕不过那个渲染的,它里面的这个里面的这个代码,它会被也会被打乱,就是后面的这一节会没有,所以的话他是会失败的。

然后的话我就根据他那个做了一个,根据他那个改了。

重新改了一个这样的一个一句话,这个是一个g i f后缀的,还有的话就是一个偏激,偏激的话,就是昨天的一个呃,呃不是是上周的一个留的一个坑哦。

就是我上周不是啊。

因为那个时间比较紧,我就没去西没去仔细的去那个了,所以的话其实上次那个的话,其实是已经绕过了的,然后我没出新啊。

我们可以来看一下嗯,我这句话上传这里的线程的一个文件。

然后的话我们看一下它的一个文件名。

是这个26700。

就这一个文件,然后的话我们打开之后的话,可以看到它是这样子的一个一句话对吧。

是没有问题的,然后我昨天哦不,我上次上周的一个问题是出在哪呢。

是好没有没有认真了没有认真去检查啊,十哦对了,还有就是呃上周课后的话。

有人问我说,就是你上传的这样子的一个图片码,怎么去进行一个利用,因为这里的话他那个代码是写的,就是说啊无法去就我们无法通过logo。

然后的话在服务器上面生成一个p,h p的一个后缀的一个web shell,就像这种,就这里的话我还需要啊,我需要再强调一下,就是说从那位同学他的一个提问的话来看的话,呃,我就是发现大家可能不是很理解。

还是没有太理解这样的一个啊web share,然后呢然后的话我们去怎么去进行一个连接,就是说我们的一个web share,首先我们回顾一下之前的一个内容,就是说它是一个啊菲律宾。

或者是说sp j s p的这样的一个,可以动态执行成一个啊脚本对吧,所以的话你要你你要是一个脚本的话,它的一个后缀我们直接看的话,就是它是一个这样子的一个后缀,是一个点菲律宾的一个文件对吧。

这个的话这样子的话才是一个web share,然后的话如果说像这样子啊,比如说我这里的这里的一个png的一个图片,然后的话里面是一个啊一句话码的一个内容,这个的话叫做图片码。

就是说它是一个它其实我们从后缀的话,而且服务端去进行一个判断的话,如果他没有对内容做一个判断的话,它是会把它当成一个图片的,好大家好,如果是图片的话,服务器他是不会去解析我们的这样的。

这个图片的一个里面的一个菲律宾代码,所以的话你直接去进行一个连接,连接这样子的一个文件的话,它是无法去啊得到需要的,所以说啊我们前面也说了,就是说我们需要绕过服务端的这种检测。

然后的话绕过的方法的话就是啊上节课啊,上节课讲的那些内容,用一些特性以及一些啊特殊的一个字符,然后绕过的话,就是说我们需要在,我们要能够直接得到服务端的一个shell的话。

就需要生成这样子这样子的一个web share对吧,也就是一个点菲律宾后缀的一个菲律宾文件,你才能够去直接的一个连接,如果说就像这里的。

然后的话第二种的话就是说像我们这里的话,它是呃我们无法去绕过。

然后的话在里面生成一个p h p的,一个呃后缀的一个文件的,所以说的话我们只能是啊。

需要去利用其他的一些漏洞,这里的话有一个文件包含的一个漏洞。

文件包含漏洞的话,在明天啊会给大家就是介绍。

然后然后的话我们需要利用这一个这样的一个,文件,包含漏洞,来去,包含,我们的一个包含有一句话码的,这样的一个图片文件,因为文件包含漏洞的话,它的它它的一个作用,就是我们可以包含这样子的。

还有一句话码的一个图片文件,然后的话来执行这个图片码里面的一句话嘛,也就是执行这这个图片文件里面的一个,菲律宾的一个代码,然后上周的一个问题的话就是呃时间关系,就因为时间关系的话。

我就嗯没有仔细的去检查了,就是上周的一个原因的话,是我在这里我去传一个参重仓的时候,是使用的一个问号对吧,这里还有g5 就使用的一个问号诶,不是这个,是哪个文件,是不是,262700这一个图片吗。

2670有编剧,也就是在这一个文件,然后的话我上周的话是呃打的一个问号,问号问号我们就是在第一节课的时候就有讲过,就是说我们一个html的话,它是就是说前面就是问号。

后面的话是接了一些接的我们的一些参数对吧,好的话,我们这里的话需要再另外传递一个参数的话。

因为前面的话嗯。

诶前面是,因为前面是已经有传了一个fire参数对吧,好的话,我们后面是要需要用and的符号,来去连接两个参数的,然后上周的一个问题的话,就是我在这里的话是呃用问号啊,问号的话是不对的,所以的话它解析它。

因为我这里的话就不是一个url了,它就无法访问到那个资源,对我这里的话是要用这一个and符号,来去连接两个参数啊,我要零,我要传递的一个参数,那就是零给他传递一个值的话,就是我们和ph的一个执行函数。

asset,然后的话呃我要传递的一个啊,用post的方式传递的一个参的话,就ph p m for。

那我们执行,然后可以看到这里的话是能够正常执行的。

对吧。

然后使用呃,连接工具也是可以正常的去进行一个连接的,连接工具的话,因为它这里的话是一个文件包含的一个形式,然后然后这里的话我们需要a,同样的复制这样子的一个优啊。

这这里的话才是他王者的他完整的一个url,然后我们复制到这里,然后的话我们需要传递的一个密码,也就是我们要pos的这样的一个参数的话,就是这个一,然后我们脚本类型的话是菲律宾添加,添加之后的话。

访问可以看到的话是能够正常的去连接的,就说他这里的话啊,文它不像我们之前是直接这样子的,一个菲律宾的一个呃web share,这里的话是使用的一个文件包含的一个漏洞,来去包含我们的一个图片码。

然后的话再来啊。

执行我们的一个图片码里面的一个代码来get share,这里的话应该没有没有问题吧,大家有没有问题,啊这里的话是给上周的啊,填了一个坑了,应该没有问题啊,好没有问题的话,那么那么我们继续。

然后的话呃之前呢之前的话说到了,就是,那几个图片文件就是啊能够直接去绕过嗯,在哪直接去绕过,这样的一个渲染的这几个图片文件,大家可以去尝试一下,然后的话大家就是应该有去尝试吧。

就是你用正常的一个图片吧,然后上传上传之后的话,它里面的一个代码它其实就已经被打乱了。

啊然后的话嗯,然后的话呃我还发了这样子的两个链接,这个链接的话就是呃我这里写的这个好,我们上周的一个文件,上传题目的详细的一个解题报告,祝大家哦给大家做一个对照,就是啊。

因为我这边的话只暂时收到了一位同学的。

一个这样的一个解题报告,然后我看了一下,他的话是啊,我觉得是写的挺好的,就是啊该有的点都有,而且都做对了,差不多,这个的话是有一个这个,然后第一个bbc m。

这个的话应该,大家其实应该就是在讲sql注入的时候。

已经有讲过了对吧,但是这一个sm的话,它同样的是有文件上传的一个漏洞,好,这样的话,我们呃就开始我们的一个上节课的一个课程,考核的一个讲解。

首先的话呃,首先的话第一个bb c m s,这个这个的话大家有没有什么问题呢,就是啊大家在做的时候有没有什么问题,第二个点不动啊,我们先来先来讨论一下第一个吧,第二个的话,等讲完这个再再那个吧。

这这一个的话大家有没有什么问题呢,呃有问题的话在讨论区扣个一吧,大家都没有什么问题吗,大家有有问题就直接提吧,不要也不要觉得就是不好意思什么的啊,反正这里的话应该是都这么多天了,大家都应该熟了呀对吧。

有什么问题直接提吗,我没有问题的话,那么呃那我直接讲吧好吧,这句话就是一个这样的一个cm s,然后呃之前的话应该是讲设备注入的时候,应该给给你们讲过了对吧,就这样子的一个,这样子的一个登录界面对吧。

啊这种管理登录界面的话,就是我们可能刚开始,就是说我们,比如说我们找到这样子的一个站对吧,我们找到这样子的一个站,这样子的一个站,我们想要找到他一个后台地址是吧,就给大家一些思路。

就一般的话一些后台地址,他都有一些这样子的一些关键词,就比如说像这种要命对吧,就是你的一个管理用户的一个啊给一个目录,再有一个管理目录,然后下面的话就是一些啊登录的一个页面对吧。

你只需要只只需要输入一个add命,或者说直接就是add命点骗去p,还有的话像这种logo啊,还有admin logan等等的这种,然后的话可能的话就就常见的嘛,就是直接直接尝试一下就可以得到。

但是不常见的话,大家就可以用一些就是一个目录的一个扫描器,直接去扫它的一个目录,然后扫墓的话就也能够去发现它的一个,管理后台,这样的话大家常用的一些扫目录的一些工具,大家一般用的是什么,之前的话有奖吗。

遇见还有还有吗,呃di search的啊,我觉得这个di search还是挺好用的,就主要的话速度也比较快,而且字典的话还是比较大的,区间的话区间的话呃,你用自己的一个字典的话也也是可以的。

而且速度也挺快。

啊我这里的话我也用,就是,当然也还有其他的一些工具,我这样的话就用这一个电压色体,去进行一个测试吧,因为啊之后的话后面也有几个题目是没有给,应该没有给吧,没有给这种登录界面吧。

大家可能的话用手去尝试的话,不一定能尝试得出来对吧,所以的话我们就使用工具嘛,工具的话大家去找一下,而且现在的一些工具的话都是比较强大的。

而且就是别人都已经分享出来了。

好的话,我们只需要扫一下它的一个目录对吧,就能够找得到它的管理后台。

可以看到,还有一些其他的一些页面,说不定的话就能够找到一些漏洞的一些页面,对吧,就总比我们我们这样子去手点点,这样的一些功能点的话,可能要直接方便一些好这样的话我就不多说,主要的话就是介绍和一种思路。

好的话,我们到了这样子的一个登登录后台的话对吧,登录后台的话,大家啊上节课而言讲的是蛇口注入嘛对吧,搜狗注入的话,直接去进行一个注入,然后的话我们直接测试一下,对吧,最常见的就是一个单引号对吧。

然后的话我们看到可以看到有这里,这里有个报错,而且这里报错的话有显示这样的一些字段名,以及啊我们的一个表明等等,那些信息都有已经显示出了,我们能够可以直接做一个判断,它是有一个sl注入的。

然后sql注入的话哦这样的话我就不讲了吧,因为上节课的话已经讲过了,主要的话是呃,我们通过这样子的一个sql注入对吧,然后的话通过爆破获取到它的一个呃,admin的一个账号密码啊。

获取到的话应该是这样子的,一串md 5加密的一个值,然后的话我们可以通过呃cm d5 ,通过cmd 5区域进行一个解密,还有的话像还有其他的一些,md d5 的一些解密工具,因为有samd的话。

它的一个呃就是它的一个库的话是很大的,就很多的一些md 5都能解密出来,但是有些话他可能是要可能是要要收费的,这样的话能够直接解出来,它的面积是三,然后的话你也可以去尝试一下。

其他的一些md 5的一些解密的一个工具,嗯我发群里,这些网站的话大家可以去找一下,有挺多的,国外的也有一些,当然的话啊,一般的话这个cmd 5都能够解得出来,好的话。

我们解密出来的话就是这样子的一个admin的面,一三的一个啊,账号密码对吧,那么我们直接登录登录到后台,d614 ,这样的话就已经到了后台,然后的话我们咳咳,因为我们这里的话已经是一个admin的一个。

管理用户对吧,就说这个网站的一个web web的一个应用的话,我们是已经拿下来了对吧,他所有的一些功能我们都能够去进行一个访问,以及做一个修改,然后的话我们下一步的话。

我们就需要去寻找那种寻找啊一些漏洞,这些漏洞是我们需要去利用它,来得到我们的这样的一个网站,这个web网站,它的一个服务器的一个权限,然后这边的话我们就呃,使用我们上节课学到的一个文件上传。

然后文件上传的话,大家回想一下,就是说我们怎么去查找它的一些漏洞,就说这种漏洞它存在的一些点,它是一般都会在哪里对吧,一般的话我们上节课也讲到,一般的话就是在我们的一种图片的一个,上传对吧。

还有像这种word文档的一些上传等等的一些功能,点,是啊很容易存在这样子的一个漏洞的,然后的话这里我直接点开一个就能够发现是吧,这里就有上传图片的这样子的一些功能呃。

这里的话应该是你们今天你们今天做的吧,这么多p h p,然后这里的话,这里的话就是一个上传图片的一个点对吧,然后我们的话,就是利用我们啊上节课学到的呃,文件上传的一些知识点去对它做一个测试。

我们首先的话先上传一个,这句话先直接尝试上传一个sp,然后上传的话,它显示就是上传图片格式是不正确的,那这样的话嗯,打开app,我们先来啊上传一张图片来测试,来看一下他上传的一些请求包。

以及响应包的一些内容来去啊,对这样的一个呃功能点去做一个测试,我们上传上传之后的话,可以看到已经上传成功了,他这个格式的话是png对吧,好的话,我们在bp里面看一下它的一个请求包,请求包的话就是。

请求包的话可以看到我们啊是这个这个请求包,这就是我们刚刚的一个上传图片的一个,请求包对吧,这里的话就是我们的一个图片的一个呃,上传文件的一个内容,以及我们的一个后缀对吧,然后这里的话就使用我们上节课。

说,讲到的一些知识对吧,比如说我直接上传一个啊,直接进行一个p h p好的话,我们查看它的一个响应,响应的话,响应的话我们可以看到就是我们这里的话,直接就是上传了这样子的一个p h p对吧。

然后可以看到他在他的一个响应里面的话,我们可以看到图片的一个格式,已经变成了一个菲律宾,然后的话这里的一个我们上传之后的一个路径,就是这个,然后可以可以看到我,我这里的话就随意的测试了一下。

就发现这边的话已经上传成功了,那那他为什么上传成功了呢,这个的话就是它的一个呃,上传成功之后的一个路径,那么我们从这里的一个啊,我们发送的一个请求以及响应包的话,能够基本的判断他只是啊对我们的这里对吧。

因为我们刚刚的话上传了一个,就直接上传了一个p h p的一个文件对吧,它是不允许我们的一个上传的,然后这里的话我跟之前的一个区别,就在于这里的一个content type的一个字段。

是一个图片的一个类型对吧,我们就可以判断它是指对我们的一个content type的,一个类型做了一个判断过滤,所以的话我们在直接通过bp进行一个抓包,以及发包的话就直接上传成功了。

这里的话就是我们的一个shell,的,然后的话呃它的一个路径的话,大家要注意,就是它的一个路径的话是在这个upload image对吧,然后的话我们看这里就是说这里的话是他的啊。

那个图片的一个这个应该是一个缩略图,它的一个路径,我们从这里的话,能够知道它是在这个bb c m这个目录下面对吧,我们复制一下bbc m下面有一个upload,这样子的一个目录,好,我们可以这里写错了。

app可以看到这里的话已经解析了对吧,然后啊做一个执行命令的一个测试,然后的话可以看到我们这的话是已经成功的,得到了他的一个shell,然后的话呃下一步的话,我们用这种需要管理工具去进行一个临界。

然还有其他的一些操作,然后呃这样的话我就不做演示了,然后这里的话呃关于这一个的话,大家有没有什么疑问,我这里讲了之后的话,工具,这个工具吗,这个工具的话就是对他就是把我们的一些目录。

就说这一个网站它的一些目录,因为它里面也是有字典的,通过它的一个字典,把这些目录以及它的一些常见的一些文件,把它给枚举出来,就说就等于就是说我们直接去进行一个,哎正常的一个访问对吧。

如果说我们我们正常去访问它,这个页面存在的话,它就会返回这样子的,比如说一个200的一个状态值对吧。

或者说这种302跳转的一个状态值,就说就说明我们的这里的好这个页面,它是能够去访问到的,也就是说它是存在这样子的一个页面的对吧,还有的话像这种可以看到它这里不是也有啊,403这种的话它是使用的呃。

尝试使用这样子的一个文件去进行一个访问,对吧,就说明他返回了一个403的一个状态值的话。

就说明它是不存在这样子的一个文件的,然后大家对这一个题目的话有没有什么疑问呢,没有对吧啊,大家应该都做出来了对吧。

因为这里的话就是比较简单的。

然后图片的话可以看到就是这样子的一个,这个的话是它的一个缩略图啊,应该是我们组我们其实,确定我们其实就是选择这个图片的话,它的一个路径其实是这样子的一个路径,就其实是我们的一个ph p的一个文件。

然后之前的就是这个,你说下载之后打不开对吧,是,我这里的话下载一下好吧,去听了,诶,是上面,哦这里的话,因为这里的话因为你这一个菲律宾的一个文件,它是解析了的,就是说它里面的一个代码是已经解析了。

然后我这里的话下载的话,只是这里的这一个页面。

这个页面的话,其实就是你查看源代码的这样的一个页面。

没有吧,然后的话你你这你这样子去下载的话,是下载不下来的一个ph p文件的话,因为它会对我们的这样的一个页面做一个解析,而且而且你可以看到就是说那种菲律宾页面,你去查看它的一个源码的话,你是查看不到的。

因为因为在这个页面,它是把我们的一个菲律宾代码解析之后,返回的一个结果,才呈现给我们的这里的一个页面,所以说你是不能够直接下载到它的一个。

菲律宾的一个源代码的,然后图片文件的话,你这像这种图片文件的话。

你是肯定可以直接直接下载的,然后下载的话,你这样的话,不能够读。

不能够读的话,这个呃你换一个其他的一个,你不用vscode打开,你用一个像这种sublime才有呃,像这种呃,notepad这种可以直接打开这种二进制文件的这种,编辑器你试一下,不然啊。

然后的话也有可能是,你这里下载的话是有问题的,这里没有下载,下载对,好的话还有疑问吗,应该没有问题了吧,好没有问题的话,那么我们继续啊,第二个,这句话啊,我这句话其实写的很详细了,还有图片。

然后第二个的话哦哦对了,还有就是这个的话其实还有其他的一些哦,还有其他的好几处文件上传的一些点,它都是一样的,就其实呃其实它都是在这样的一个页面,其他都是呃在呃他的这样的一个图片,上传那个这个功能。

然后的话上传之后的话,他这个图片的话它会在这里嘛对吧,然后其他的一些功能点也是一样的一个意思,然后第二个的话就是这个fc马。

这句话直接打开的话,就是这样子的一个页面对吧,同样的是一个登录页面啊,拿到多少可以坐一起烧烤猪,做一些sql注入了一个尝试对吧,在这里的话,你测试之后的话,其实呃。

没有这样子的一个cil注入的一个漏洞啊。

这样的话哦你尝试之后的话,其实他没有这样子的一个吃口注入漏洞,好的话,像我们碰到这样子的一种登录框的话,我们有什么样的一些思路呢对吧,第一个的话就是我们呃之前学过的这种,登录框的一个注入对吧。

我们用常用的一些pao的去进行一个测试对吧,如果有报错什么的,我们能够做一个基本的一个判断,然后第二种的话就是我们可以发现这里的话,他是没有这种什么图片的一个验证码的,还有没有其他的一些验证的一些条件。

它只是只有一个这个用户名以及密码,这样子的一个登录的一个页面,所以说这里的话我们可以,我们可以去尝试进行一个爆破,就是说通过啊我们的这样的一个bp的。

这里的一个爆破模块,来对我们的这样的一个用户名及密码,做一个爆破,然后爆破的话就需要使用到这个bp的这个,instrua的一个模块。

然后这个模块的话大家看一下这篇文章吧,就这篇文章的话,他写的很详细了,然后这里的话主要的话就是我们怎么去进行,一个使用,我以这一个例子做一个啊,我以这一个好页面做一个演示,啊前面有有讲到这一个吗。

good pad可以是吧,对就是一个用户名的一个枚举,用户名密码的一个枚举,就是用这个爆破,啊啊这里的话就是说这个bp的一个模块的话。

大家之前有有使用过吗。

大家之前有使用过吗,这个模块,这个暴风模块,使用过的在讨论区扣个一吧,没没使用过的,没使用过的,在讨论区扣个二,都使用过的吧,就他之前有讲过是吧,有使用过的话,那那就好,那那这里的话我还需要呃讲一下吗。

要。

就是说这里的啊进行一个爆破,我还需要去讲一下吗,呃没人回吗,没人回,需要讲一下是吧。

那我这里的话呃介绍一下吧,然后这个模块怎么去使用的话呃,首先我这里的话,我先随便输了一个账号密码对吧,那这样的话我们主要的话是,看他的这样的一个诶,看他的这样的一个请求包。

这个的话就是他登录的一个请求包对吧,然后的话我们,可以看到,就我这里只好把它放到这个从发包的一个模块,我直接发发送这样子的一个包,可以看到的话,他这里的话又给了一个响应对吧,我们主要看这里还有个响应体。

全体的话我们看这里的一个内容,它是一个呃就是说报错对吧,hero就是错误,就是我们的一个用户名密码的话是错误的,可以看到这里有这样子的一个提示,然后的话,我们把它放到一个我们的这一个intro这个模块。

然后的话呃我们需要对啊,这一个admin,我们的一个用户名以及密码做一个爆破对吧,然后这里的话嗯主要的话就是这几个啊,攻击类型的这四个的一个使用,这样的话大家看那篇文章吧,我这样的话大概说一下。

第一个的话它就是一个呃,就比如说我这里标记两个呃,标记两个爆破的一个点对吧,标记之后的话,他我这里的话需要加一个pad,他这样的话是只有一个po的对吧,我这边的话随便加一个hero的。

然后的话我进行一个,开始进行一个爆破,然后它爆破的话,我们其实可以看它的一个啊内容,能够知道它其实是呃首先对我们的第一个点,可以看到,因为我这里的话默认的话它是一个admi in对吧,就初始的一个指示。

也就是第一个和第二个的话,就是他把我们的一个user设置为了,我们这里的一个payload的,这里的第一个值对吧,然后然后的话第二个的这个pass的话,它是没有变的,然后的话就是说我们第二个第三个。

第四个它都是一样的,就是我们只是对我们这里的定义的这一个,第一个位置的一个值,使用了这一个payload,然后的话这里的一个password,是我们啊初始的这个值,进行了一个这样子的一个枚举。

然后的话第一个参数枚举完之后的话,它就会在我们的第二个位置,啊他这里还没没举完啊,啊这里的一个字典的话比较大,然后第一个参数的就是把这里我们的这个po的,也就是这一个字典里面。

所有的值都给编辑完之后的话,它才会编辑这样的第二个字段,第二个自动的字的话,它同样是使用的同一个payload,这就是这一个第一个模块,这个的话也就叫狙击手模块,然后这样的话啊我时间关系的话。

我只遍历这一个值啊,因为我已经知道他是一个用户名的话是命,我这样的话只爆破这一个这一个值,也就是我们的一个密码,然后的话这里啊选择一个po的好pao的话,我使用的是啊,我发给大家的这个。

这个夫子的字典里面的。

这个这个爆破的一个就是week password,一个password的话就是呃弱密码嘛,这个支点的话有7000多个,我这样的话我就只做演示,只做演示的话,我就只取前200个。

然后其实那个就是我就是那个因为是只做演示,就其实那个真实的一个密码,其实是已经在我的这一个字典里面了,这样的话把它粘贴进去,这句话只只有200个,200个值,可以看到200个配乐的。

然后我这里呃进行一个包括,爆破的话我们如何去进行一个内容的一个查看,这样的话我们需要去啊,就是我们如何去查看我们爆破出来的一个内容,它是不是正确的,我们查看这里的一个length。

这个length的话就是我们的这一个,请求它的一个响应,咳咳请求它的一个响应的一个长度,也就是我们的一个响应包的一个长度,好的话,这里的话他有我们可以在这里做做一个排序好,我们首先看一下这个。

就这一个447的这个请求,它的一个响应,可以看到他这里的话,它的一个内容的话是这个对吧,就是说呃用户名密码它是错误的,也就是说没有爆破成功,下面的话这些话都是一样的,就说像这种都是447长度的话。

它在这里的一个内容其实都是一样的,好的我们再好看一下其他的一个长度的,你看到这里的话也是一个错误,然后这里的话我们看一下这个451,45451的话,可以看到这里。

它的一个内容的话是一个login success,也就是登录成功了,登录成功,那么那么就可以说明我们的这里的一个啊payload,也就是我们的这里的一个请求的一个,用户名以及密码,它是正确的。

然后的话呃,因为这里的话是,因为呃它的一个环境的一个问题,就是说我们这里,呃我们这里登录成功了,登录成功了之后的话,他后面的所有的这种请求,所有的这种请求他都会显示登录成功。

然后这里的话其实它也有这样子的一个漏洞,就是说我们爆破如果爆破成功了之后的话。

我们在这里啊,服务端它会啊。

我们前面的话有就是有解释过cookie这种东西对吧,它会记录我们的一个登录状态。

是这样的话,我们通过bp爆破爆破之后的话,好正确的一个用户名密码,他在服务端做了一个验证,验证成功之后的话,它会生成一个cookie,甚至枯萎的话,我们可以。

生成cookie之后,它就会保存我们的这样子的一个登录状态,然后的话我们后面的一个请求,它都是都是,就是说我们后面的这种登录的一个请求的话。

它都是会返回这样子的一个登录成功,哦不是这个这里我们可以在这里刷新一下。

刷新之后的话,其实可以看到我没有输入密码对吧,它同样的能够进行一个登录,而且登录成功了啊。

我们的一个账号密码的话,就是这个admin 888,我们可以也可以啊,直接去进行一个登录的一个测试也是可以的,好这里,我的命没命好吧,然后这里的话和这里的话是一个cm,s的一个漏洞,就这个cm的话。

其实大家百度1下都能也能够找到它的一个,漏洞的一个点,好我们我这样的话就呃先就说一下思路吧,就我们碰到这个点了对吧,然后我们通过爆破,通过爆破我们的一个登登录,然后登录成功的登录到了它的一个后台。

而且是一个管理后台,登录到后台之后的话,我们同样的就是查看它的一些功能点对吧,然后的话我们的一个目的就是要gushell,也就是得到我们服务器的一个权限,那么要跟写好的话,我们啊就想到好文件上传。

还有其他的一些,就是说能够直接得到服务器需要的,这样的一些方法,然后的话我们可能就看到这样子的一个界面,我们也不知道如何如何去入手对吧,我们没有什么思路,那么我们其实可以看一下。

就大概看一下它的一些信息,一些给我提供给我们的一些信息,其实在这里的话我们就能够看到它的一个版本,歪曲的话是二点点六对吧,那么我们直接百度1下吧,对吧,你直接百度1下的话,他就有这样子的一些文章对吧。

就说这个版本的一个漏洞,然后的话我们再查看,查看它的这样的一些信息嘛对吧,然后呢我们可以直接去进行一个,就是在我们的这样的一个cm上面,去进行一个利用对吧。

如果说是能正好是能够去进行一个get shell,的一些漏洞的话,那就更好了,然后这里的话哦,是那个,200,牛,然后的话可以看到的话,我们去进行一个紧锁,紧锁它的一个漏洞。

就是说这个版本的一些漏洞信息对吧,我们其实有一些现成的这种啊,漏洞利用的一些啊思路,一些脚本什么的,你可以直接去进行一个使用的对吧,然后这里的话呃,这里的话其实就是在一个cm s的一个漏洞。

它的一个漏洞顶的话在嗯看一下这个,多种点的话是在这里,在这个csm,在这个themes的这个default,然后的话这里有一个fs,这里的一个fire的话,我们可以看到它。

这里的话有显示这样的一些文件对吧,形成这样的一些文件,我们呃就是正常的就是正常的去访问一下,然后这句话,观察我们的这样的bp的一些请求包,诶,其实我们的一些这样的,如果我们手工去测试这样的一些漏洞的话。

主要的话去查看他的一些请求包,里面的一些参数什么的,还有的话他的一些请求哦,ul等等的一些,它里面的话包含着一些信息,然后的话,我们主要的话就是去发现这样的一些信息,然后去进行一个利用。

这样的话我们先啊访问一下这一个,然后的话嗯,看这里,啊是这个请求吗,对,我们首先我们刚刚的话是访问了那样的一个index,等菲律宾的一个文件,这样的话应该是呃它的一个就是说这个sims。

这个呃主题的一个文件,那我们反问之后的话,我们发现有这样子的一个请求包对吧,请求包的话我们看看到的话它是get请求,主要的是看这里有一个s r c,s r c的话。

就是啊在htm的话就是一个路径的一个意思嘛,对吧,就资源路径,然后面的话有一个name,就是呃我们刚刚请求的一个呃文件文件名好,我们先发送一下这样的一个请求包,可以看到这样的话他返回了这样的一些信息。

在信息的话,其实跟我们的这里页面的一些信息,做一个对比的话,就能够发现它其实啊返回到这样的一个index 0,菲律宾的一个内容,然后这里的话,我们看到有这样子的一个文件对吧,然后有这样子的一个路径。

而且这里的一个路径以及文件名,是我们可控的对吧,那么我们可以尝试一下去做一个修改对吧,把它修改修改其他的一些路径是吧,说不定有就是呃文件读取,因为这里的话它的一个功能就是读取,我们这里只建了一个文件名。

而且是这个路径下面的这个文件名的一个啊,内容对吧,这样的话我们可以做一个修改,尝试修改它的,我们这里可以去进行一个控制的一些内容,然后的话查看它的一个响应,看是否能够看是否能够读取它的一个啊。

你指定的一个文件的一个内容,然后这样的话呃,这样的话我做一个呃修改,比如说我要查看这个function in js,它是在一个这一个就是这个index顶配区域,这个目录也就是在这一个js目录下面对吧。

文件名的话就是这个functions,点,js,嗯可以看到的话,这里的内容的话是呃跟这样的话是一样的对吧,function,然后的话document,好在这里在这里显示了一个内容。

在这里function document,还有这个forge什么的对吧,这里的话显示了这样的一个文件的一个内容,当然当然,这里的话是我们能够查看到的一个文件,那么我们尝试一下其他的。

就是我们在这里页面无法去查看到的一些内容,比如说呃,比如说我在这里的话,和我新建一个这样的一个文件,一点菲律宾这样的一个文件,它是在这个,sims在一个目录下面,好的话。

我要访问的一个文件名的话是一点p p p对吧。

然后的话我进行一个发送,发包装的话可以看到他阵营的话呃,显示我刚刚输入的那一个内容,然后这里的话就说明它是存在这样子的一个,任意文件的读取漏洞的,然后的话我们其实也可以啊访问像这种。

就像这种常见的这种config。

点p h p,也就是一些配置文件,还有像这种robots的这种文件,就是说啊一些常见的一些文件,然后这里的话我这里,你这个config,有pp这个文件为例,可以看到这里的话。

它显示了返回了这样的一个config,也就是在那个根目录下面,这个网站根目录下面的一个config。

点p hp的一个内容显示的啊,数据库的一个用户名以及密码的一些信息对吧。

这里的话就有一个这样的一个文件读取,然后这里的话其实不是我们这一个,这一个get shell的一个方法,这样的话我只是只是呃就是说一下思路,就我们再去进行这样子的一些嗯,漏洞的一些寻找的时候。

我们通过这这样的一些请求包,然后的话对这些就是我们可以看到啊,这请求包里面的这样的一些内容,这些特殊的一些参数对它做一个测试,然后的话你就会发现一些,啊不同寻常的一些点。

然后的话就可能会存在这样子的一些漏洞,然后这样的话我其他的我也不多说了,这句话它的一个漏洞点,就是我们可以去进行一个任意的一个,文件的一个写入,然后它的一个功能的话就是这个save在我们。

因为这里的话我们可以去进行一个编辑对吧,就编辑这样的一个内容,就是说这一个主题文件的一个内容,好的话,我们看一下它的一个请求包,他的一个请求包的话,问题就是出在嗯。

问题就出在他的这样的一个请求包里面对吧,我们可以来查看一下,如果说你刚开始看到这样的一个请求包对吧,其实你也会发现他的这样的一个请求包,就跟我们之前提到的那个请求包类似,挺类似的对吧。

他同样的有这样子的一个s r c的,这样的一个敏感的一个参数,就是指定我们的一个文件的路径对吧,你看到他这里的话是指定的这个index,点p h p的一个路径,然后的话它这里的一个参数。

其实是我们可以去做一个修改的对吧,然后这里的一个content的话,从字面意思的话,我们就知道他是一个内容嘛对吧,就其实这里的一个内容,这里的一个content的话就是我们在这里的啊。

一个index 0 p h p的一个内容,因为我们这里有个save的话,就是把我们这里更改的一个内容,把它保存到这个文件里面对吧,然后的话这里的话,这里的一些内容,都是我们可以去进行一个操控的。

可以去进行一个操作的对吧,那么我们是不是啊可以尝试去写一点东西对吧,比如说我这里的话改一个需要点菲律宾,然后我这里学的一个内容的话是一个,hp info,好我尝试一下发包发包。

这的话可以看到它这里的话是返回了一个200,就说明我们的这个请求的是成功了,成功了之后的话,我们在这里来看一下,我们刷新一下看一下,然后可以看到他这样的话,这里的一个需要点p h p。

而且是p h p后缀的一个文件,已经呃,它的一个内容是我们的写入的一个ph p four,那我们怎么去进行一个访问呢,访问的话它的一个目录是在这个呃,诶seems default对吧。

然后的话是在呃有一个shell点这一个,这里的话就是一个index。p h p嘛,有一个需要点p h p我们去进行一个访问,可以看到是能够正常的访问到我们写入的,这样的一个需要点pp的一个文件。

然后的话这里的话,那么我们就可以把它改成一个一句话对吧,它保存到我们的服务端之后的话就是一个web shell,这里的话就是这个啊sm的一个点,然后的话呃之前的话是呃,我记得是有位同学说顶不动。

你说的这个顶不动是指哪里呢,就大家对这个有没有什么疑问啊,这个的话其实就是一个就是一个cm,现成的一个漏洞吧,然后的话主要的话是介绍了这样子的一些呃,思路,就说大家再去查找这种后台的这样的一些呃。

漏洞的时候,这里是吧,这个image吧,这里的话没有没有上传的一些点啊,对啊,你说这个upload是吧,这个确实点不动,这个是点不动啊,嗯嗯嗯啊,其实这个按理来说的话,其实也不能算是文件上传。

应该算是一个啊文件写入,就是任意文件写入的一个漏洞,因为它其实不是一个上传的一个功能点,而是一个啊,就是这种文件的一个写入的一个功能点,但是的话他服务端没有对我们写入的,这样的一个啊这种文件内容。

还有的话就是它的一个路径,就主要的话就是这里的这一个路径,它是我们可控的对吧,我们其实可以写到其他的一个目录下面,也是可以的,就我们可以直接写到它的根目录下面,我们只需要把前面这一节删掉就ok了。

然后这这里的话应该没有什么问题啊,行进目录,你说啊这里的一个sim什么,在这里新建目录吗,还是说哪里,这里的话没有新建目录的一个功能吧,然后的话这个应该没有什么其他的问题啊,新进目录哦,可以试一下。

呃我觉得应该不行吧,可以吗,看一下就应该可以啊,他这里请发送的请求乱是成功了,啊可以看到他新建了这样子的一个东西啊,但这个应该不是目录吧,是目录吗,写个文件,按一下,咳咳,你看到他这里的话是啊。

不是目录啊,就是写不进去,他在他这里的一个功能点的话是,写文件就是说把我把这里的一个内容,把它写到你指定的这个路径,下面的一个文件里面,好这里的话应该没有什么问题啊,主要的话就是观察他的一个请求包,就。

好,然后第三个的话就是一个ph pk,这个其实也是一个,现在现成的一个漏洞,大家去搜索的话,其实也能够找得到它的一个呃利用方法,这里的话呃,我这句话是给了一个用户名密码的,这样的话呃打开之后的话。

同样的是这样子的一个呃首页对吧,鼠标的话我们呃想要它的一个管理页面,管理页面的话,同样的就使用一个add me,这种常见的这种去进行一个测试,去进行一个尝试,好的话,如果你直接去这样子去进行一个城市。

不行的话,就通过这样子的一些呃,目录的一些扫描工具去进行一个枚举,那这样的话是一个登录的一个页面,然后这里的话因为它是存在一个印证码的,而且而且他这里的话是有一个登录次数的,一个性质。

就是说你多少次失败之后的话,它就会啊,就是你这一个账户的话就被锁定两个小时,所以的话他这里不存在一个这种啊,爆破的就是用户名密码爆破的一个漏洞,就他的一个呃那种呃,这个性质的话是做的比较严格的。

就性质了你的一个呃呃错误的一个次数,还有的话有一个验证码,这样的话我是给了啊,给了大家一个用户名以及密码的,然后访问之后的话就是到了这样子的后台啊,同样的就是我们去要去寻找。

我们的一个能够进行一个文件上传的,一个一些功能点,这样的话我们就需要去进行一个查找对吧,这样的话它的一个内容的话是比较多的,然后我们它的一个一些我们通过查找之后的话,能够在这一个内容管理这里。

这句话有很有好几个的这种呃,上传文件的一些功能点,我们比如说第一个资讯中心,你怎么防备我来,是不是你们都在扫啊,怎么突然变卡了,怎么访问这么慢呢,可以了,你们你们先先别扫,不没有练手的话,呃。

等会下课之后再再去练吧,再去操作吧,那这样的话好有这样子的,就是一些发布资讯的一些功能点对吧,我们呃可以看一下这里的话有个加号对吧,我们可以去进行一个内容的一些发布,内容发布的话。

这种发布的话我们可以在这里有看到,就是有上传文件的一些功能点对吧,那么我们去进行一个啊文件上传的一个测试,然后测试的话我们点开的话,发现这里的话是啊有这样子的一些格式,就是允许去上传附件的一些格式对吧。

然后这样的话,我们先选择本地文件去进行一个测试,看是否测试一下它的一些绕过的一些规则,看是否能够去进行一个啊绕过同样的,我们呃先随意上传一个p h e对吧,然后发现的话他这里的话是不允许上传。

然后我们上传一个,png好看一下刚刚的那个请求包,请求包的话就是这个,刚刚的话附件的话是已经上传成功了对吧,就是这个这个文件,然后这里的话可以看到它的一个文件名,是这个这样这样的一个文件名。

是一个png的一个文件名,那我们看一下这一个请求包,我们分析一下,然后可以看到这里的话,就是我们的一个上传文件的一个内容对吧,然后主要的话在这里的一个u r l里面,它是一个post的请求。

然后这里那个ui里面的话,它有很多的一些参数对吧,我们可以啊能够直接的看到的话,就是有啊,这个比如说菲律宾session对吧,筛选的话其实它就是这里的一个筛选值。

然后的话还有就是name这里的一个name值,就是我们的一个上传文件的一个文件名啊,还有的话就是一个type type的话,就是我们这里的上传文件的一个那个文件类型,对吧。

就是说content type的一个词,然后其实这里的话啊,我们可以看到它这里是呃把这样的一些呃,我们上传文件的一些这样的一些信息,把它放到了我们那个url里面。

其实也就是一个啊像啊一个get方式的这样子的,一个船舱的一个方式去向服务器传传递,我们啊我们上传文件的一些信息,然后还有就是呃上传文件的一个时间等等,然后这样的话。

其实我们主要的话就是对我们的一个文件名,对吧,我们这里上传了一个文件名,我们可以去进行一个修改,去进行一个测试对吧,我们这里直接先好更改一下,我们的一个更改一下我们那个psp文件,我们尝试一下。

尝试的话,我发现他这里的话是返回了这样子的一个内容,这里的一个内容的话要提一点的话,它是一个unit code的一个冰嘛,unico的一个兵马的话,我们想要哦,我们想要去查看到它的一个内容的话。

它其实呃我们需要做一个解码,我们使用一个就编码工具,你也可以用线上在线的那种也是可以的,我们把它把一个unit code,把它给转化成中文的话,就可以发现它的一个内容其实是一个附件类型,不符合要求。

也就是说我们这里上传的这个p h p后缀的话,我们,我们这里上传的这种ph标志的话,它是不允许我们去进行一个上传的,然后的话我们同样的可以测试其他的一些,测试其他的一些logo的一些方法啊。

比如说我们之前说过的一些点空格对吧,点空格点这种这这样的一些方式,然后发现他是会报错的,还有其他的一些,然后的话嗯如果手工测试不那个的话,你也可以使用一个夫子对吧,用那个字典。

用那个字典去跑它的一个这样子的一个文件名,使用那个呃,可以使用那个我发给大家的那个工具。

就这个就这个脚本,这个脚本你可以自己去进行一个生成,但是它里面啊它生成的话其实内容还是挺多的。

那这样的话是psl,我们可以用杠h参数来查看他的一些呃,一些使用的一些信息,然后的话这里的话是要生产,常见的一些ph p后缀的啊,我们使用杠a参数指定一个菲律宾对吧。

看看参数的话是指定我们上传的一个文件名,我这边的话就a s d。

然后还有就是嗯杠m参数的话。

指定我们的一个中间件,中间件的话,这里的话应该就是一个阿帕奇吧,啊啊是一个阿帕奇,如果如果查看它的一个中间件的话。

我们可以通过就是看我们的一个请求。

它的一个响应包嘛对吧,这样的话有一个阿帕奇,它是一个生透s系统上面的,所以我们这里的一个中间件的话,是一个阿帕奇是吧,他的话啊和5s看看,r s的话就是一个linux吧,然后的话我们刚刚输出一个嗯。

pasta电影,然后的话它就自动生成了呃,符合我们的这样的一些要求的呃。

一些呃可以解析的一些后缀,保存到了这一个text。txt里面,然后这里的话就是它里面的一些内容,然后的话我们可以用bp发包,把我们的这样的一些好这个字典,把它呃发包嘛对吧。

就是在我们的这里的这个文件名这里,我们把它把它发到这个intro的模块,然后的话我们指定这一个参数是一个文件名,然后的话我们去进行一个好像爆破一样的,去进行一个发包,一直发,把我们的一个置顶。

就说这里生成了这样的一些后缀,把它进行一个测试,然后的话通过查看它的一个响应包,来进行一个判断,然后其实呃我看就是这位同学,他这位同学他就有这样子去进行一个尝试对吧,我觉得这样这样子挺好的。

就大家多去进行一个在这种尝试,我看我看你之前是哪一个,有这样子去进行一个夫子对吧,就我觉得这样子的话,这样子去进行一个尝试,可以的,就如果说没有这样子的一些失误的时候的话,都你你都是负腿的啊。

这就像常见的一些,你还是可以先手工新手工测试一下嘛,就你负责的话,你这样子其实那一个你这样子一直去发包的话,那你那工作量还是比较大的,我啊我这里的话,这些这些其实都是比较简单的,就不是很很难的。

如果说比较严格的一些过滤的话,你夫子其实也不一定能够出得来,呃然后的话我们呃回归我们的,我们的一些一个课程内容吧,讲到哪了好,就是我们做做一个测试之后的话,发现他其实都有进行一个。

就是不允许我们去进行一个上传,都有一个过滤,然后的话我们没有其他办法,我们需要去寻找其他的一些功能点,然后在查找之后的话,其实查找之后的话,在这里有一个啊附近的一个分类管理,其实我们在这里的话。

其实选择图片的时候,我们可以看到它这里有这样子的一些,就是选择附近的一个分类对吧,他这里的话已经写定就已经写死了,只能上传这样的一些文件类型,然后这里的话我们能够查找到有这样子的一个。

附近分类的一个功能啊,这这个功能的话,我们可以看到它其实这里的一个类型对吧,跟我们前面的这里的一个好,允许上传附件的一个类型,它其实是对应的对啊,其实这里的一个分类附近的一个分类管理的话。

就是啊设置了我们这里啊上传文件的一些类型,它是什么样子的,然后的话我们可以尝试去进行一个修改,就是说修改我们这里啊,能够支持去进行一个上传的一个附件类型,我们把它修改成一个菲律宾,提交提交之后。

我们在这边来看一下,我们选择图片看一下,我们在这里选择图片看一下,可以看到的话,这里的一个图片上传,就是上传的一个附近分类的话,后面的话是成了一个啊,有了一个点菲律宾的一个后缀。

我们来尝试一下上传一个kpl的文件,看它是否允许我们去建一个上传,然后我们直接上场之后的话,可以发现它是能够直接的上传成功的,也就是这个好,我们预览一下,预览之后的话,可以看到看到他的一个文件名是这个。

然后呃就点那个点击下载,然后我们可以看,我们可以直接跳转到我们的这样的一个文件名,因为它是一个p h p文件,它是会啊做一个解析的,解析之后的话它就是这样子,然后我们进行一个尝试。

去进行一个执行命令对吧,验证一下我们的一个贴,我们的一个web share,它是否上传成功,是否能够执行命令,可以看到这样的话是能够执行的,这个的话就是呃就是,就是这一个的一个,cm的一个漏洞。

就是一个文件上传的一个漏洞,然后其实像这种像这种去修改这种附件,后缀的这样的一些功能的话,其实啊大家之后的话,其实也很有可能会去碰到的,就是说如果说你得到了一个这样子的一个,网站的一个管理后台对吧。

如果你得到他一个后台,因为其实我们已经得到了他的一个网站的,这个网站的一个一些这种操作的一个权限对吧,好的话,我们就要利用他的这种操作权限,来去进行一个啊获得服务器的一个权限,好,这个时候的话。

咳咳我们想要去上传这种文件对吧,它不支持这种文件的一个上传,那么我们是否能够去找到这种它的这样子的一,个就是说附近分类的一个管理,就是说允许去修改,允许去啊,允许管理员去设置啊。

他上传的一个文件类型是什么样子的对吧,那么我们就可以利用他的这样子的一个功能,来修改它的,允许我们上传的一个菲律宾的一个后缀,然后的话来好上传我们的一个web share。

从而达到一个get shell的一个目的,当然的话哦这里的话是这一个cm s,它的这样子的一个呃操作,在其他的一些cm s里面,也有可能存在这样子的一些功能,而大家对这个题目的话有有疑问吗。

然后其实这个的话还有其他的一些呃,这种就是说上传文件的一这样的一些功能点,像比如说呃对吧,下载中心你可以啊,上传这样子的选择压缩软件对吧,这个的话那就是只能支持这种格式对吧,当然我们也可以选这种。

然后其实我们也可以,就是把这里的一个附近扩展,全都后面都加一个p h p嘛对吧,就他的这各种的一些构功能,都能够去上传我们的一个菲律宾的一个后缀,还有其他的呃,一些功能点,嗯没有了吗,对啊。

比如说像在这里,那我们,我们要去寻找的也是像类似的,像这样子的一些功能点,然后的话对它做一个测试,但是否能够去进行一个get share,大家应该都没有问题啊,没问题的话,那呃我们继续后面的最后的一个。

这一个的话,这个的话哦我们看一下打开它的一个网址的话,你会发现它是一个这样子的一个,学生会简历系统对吧,是一个这样子的一个登录界面,然后的话呃看到这种登录界面的话,我就我我也不多说了,就前面也介绍了。

就是相应的一些思路对吧,就进行一个注入啊,还要进行一个爆破,这样的话都是可以的,就是说我们首先的话进行一个注入的,一个测试对吧,然后注入测试的话,这里就是介绍,我们直接。

其实直接使用一个万能密码去进行一个登录,这样的话密码的话随意输入啊,这样的话我们使用这样子的一个形式,去进行一个登录,然后可以看到是能够正常的登录成功的,就是说它其实是存在一个sql注入的一个漏洞的。

然后的话我们可以直接通过这样的一个,万能密码进行一个登录,这里的话应该假设个注册的时候有讲过,然后这里的话我们去进行一个文件的一个上传,当然的话,当然的话我们也可以通过就是呃用second map好。

不用那个去进行一个密码的一个爆破,同样的使用那个in instrua的那个模块,去进行一个密码的一个爆破,也是同样的能够去进行一个成功的一个爆破的,爆破之后的一个密码的话就是admin 445。

然后的话第三种方法,那就是用呃一个second map,去跑他的一个登录的账号密码,因为他像这种的话是存在一个柱漏洞的对吧,这里的话就是一个登录框的一个啊注入,然后他进行一个登录框的一个注入的话。

应啊讲sql注入的时候应该也讲了吧,我们他的一个就是一个方法的话,主要就是呃抓取他的一个登录的,一个一个就是post请求,就是他的一个登录的话,就是一个那个pose的请求。

其实就是这样的一个post请求对吧,然后的话这句话是一个用户名以及密码,传递给服务端,然后的话就去进行一个判断,然后我们用去进行一个circle circmp,去进行一个跑的话。

我们只需要复制这样的一个请求包,然后的话把它丢到sql map里面去跑就可以了。

诶我扫个码服了。

所以说首先的话你把这个请求包。

把它保存到一个文件里面,然后的话用那个circmp的一个干拉参数。

嗯我这段话不演示了吧,大家看这个图吧,用那个circmp的gr参数就指定这个请求包,然后的话后面接我们常见的一些参数,d d b d b m s的话,就指定我们的一个数据库类型。

然后刚刚d b s就是报我们的一个数据库对吧,然后的话就去进行一个跑跑的话,好的话可以看到,就是说它这里有一个info信息对吧,这个info信息的话,可以看到它这里就是说这个username的这个参数。

它是存在一个啊,就是基于时间的一个盲注对吧,就是说它是可以去进行一个注入的应用的,然后的话我们接下来继续跑的话,就能够跑出呃他的一些他的一些数据库,然后的话呃就是就一步一步来嘛。

跑出数据库的话就跑跑跑表吗,跑出表的话跑跑字段,跑出字段的话就跑字段值,就跑里面的一个数据,导出数据的话,就是得到的这样的一个这样的一个呃,md 5加密对吧,我们用那个md 5去进行一个解就可以了。

这个的话我试了一下,用这个的话是收费的,然后这个时候就可以尝试一下其他的吧,尝试其他的话去进行一个解密,诶好解密之后的话就是这一个的面试四五,在这里的话就是啊三种三种去突破。

这种登录到后台的啊测试的一个方法,诶哪去了,我这的话也就是列举了这样的三种方法,然后跑获得到他的一个登录啊名之后的话,我们就去进行一个啊后台的一个测试对吧,后台测试的话,其实这里的话。

它的一个功能点的话是十分简单的,四四我们登录登录之后的话,他这个后台的话就这样,就这样子的一个页页面对吧,然后主要的话就是看这里有一个呃,上传文件的一个功能,我们可以看一下这里它其实好。

这里就是你们之前谁传了一个是吧,这里是你们之前谁传的一个,然后的话我换一个用户吧,再一个你们应该没有,没用过吧,he,都一样的吗,行吧,就这里的话本来是一张图片的。

然后的话我们可以去进行一个文件的一个上传。

首先的话啊其实这样的话就更加的简单吧。

同样的我们先随随意的上传一张啊,上方一个菲律宾来尝试一下,然后注意看他的一个请求包,上传之后才发现是error,就是说不允许我们去进行一个上传对吧,然后我们主要的话是分析一下,它的这一个请求包。

请求包的话,这里的话是一个上传的一个功能对吧,然后这里的话是我们上传的一个内容,这里是文件名,然后我们可以使用其他的一些,就是之前一直都说的一些方法,对我这种话就不是不再啰嗦了。

然后这里的话它的一个应用的话,就是通过这个大小写去可以去进行一个绕过,据说他没有对我们的一个后缀的一个大小写,做一个严格的一个检测,就我们可以通过这样的一个方法去进行一个logo。

然后可以看到直接上传之后的话,你看到它是successful,就是说我们已经成功上传了,成功上传之后的话,我们在这里,在这里能够通过f 12,能够查看到当前的这个照片的一个路径,也就是这个对吧。

然后的话我们就能够直接去进行一个访问,cr load目录下面有一个这样子的一个pp文件,对吧,然后测试区进行一个,它的一个可行性,可以看到是能够成功的执行命令,然后的话我们也就成功的得到了他的一个需要。

呃然后的话我们这次的一个考核内容的话,就到就是这样的一些内容,就大家有大家,我看大家没有什么,没有人没有多少人提问啊,大家都是都自己做过了,然后都会嘛,我还是希望大家多提点提点问题啊,就。

就只有就是你去解决了这些问题的时候,你才能够去就是有深刻的一个理解吧,然后大家自己多去动下手吧,就可以照着我这里的这个文档是吧对吧,就是这样的各种方法,然后的话就是我在课上讲的。

我们怎么去进行一个这样子的一个啊测试,然后的话我们找这些功能点,测试的一些思路对吧,然后的话就是登就是啊,通过我们就是如何去进行啊,就利用一些方法如何去啊,绕过这种登录对吧,绕过这种登录。

然后到后台去进行这样子的一个好查找,文件上传的这样的一些点来get shell呃,这节课的话其主要的还是思路吧,就这样的一些点就通过这几个啊,c m s的一些漏洞。

就大家就是注意的话就呃注意的几点就是对吧,找这种功能点,然后的话就是一定要去就是去查看,去观察他的这种请求包,所以说这个bp bp的这个工具的话是呃,相当的好用,就是说去观察他这种请求包。

然后这请求包的这些内容的话,就是说它的一个意思啊什么的,大家要去理解是吧,就菲律宾的这种呃请求的一些数据啊,一些内容它什么意思对吧,还有一些一些请求头的一个意思,明天再过一遍,可以的。

我觉得然后大家也都没有什么问题啊是吧,如果没有问题的话,今天时间不早了,又又加了半个小时的班呢,那我们今天的一个课程内容,内容的话就到这里了,希望大家和,然后明天的话是讲文件上传文件包含的话。

那好吧哦不是,明天的话是讲文件包含,文件上传内容的话就到这里了。

希望大家都学会了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66139.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

合天网络安全笔记-八-

合天网络安全笔记(八) P49:第13天:SSH远程登录密码破解、Mysql数据库密码破解 - 网络安全就业推荐 - BV1Zu411s79i 八八的一个端口给我们执行一个info,info之后,我们也是可以执行的,刚刚我们看你们有一些同学啊,就是使用的一些其他的一些cd的一些命令,我们在这里呢,在…

pbootcms系统修改登陆界面及后台相关版权标识

在 PBootCMS 系统中,修改登录界面及后台相关版权标识可以提升用户体验并增强品牌识别度。以下是详细的步骤和具体操作方法。 修改登录界面 步骤一:修改登录界面样式定位登录界面文件:找到 PBootCMS 的登录界面文件,通常位于 templates/default 目录下,文件名为 login.html…

PbootCMS文章列表没有缩略图时也不显示默认图片

在 PBootCMS 中,如果列表使用了缩略图显示,默认情况下即使没有上传缩略图也会显示默认图片。为了实现只有在上传了缩略图时才显示图片,可以使用 PBootCMS 自带的缩略图返回值进行判断。 以下是如何实现这一功能的具体代码示例: 示例代码 假设您有一个列表模板,需要判断是否…

清晰地了解 PBootCMS 详情页中常用的标签及其用途

标题:描述:显示文章标题。 示例代码:<h1>{content:title}</h1>浏览量:描述:显示文章的浏览量。 示例代码:<p>浏览量:{content:visits}</p>发布时间:描述:显示文章的发布时间。 示例代码:<p>发布时间:{content:date style=Y-m-d}</…

Pbootcms模板源码如何做好防护

为了提高 PBootCMS 模板的安全性,以下是一些详细的防护措施和步骤。这些措施可以有效减少网站被攻击的风险。 防护措施升级后台到最新版本:确保 PBootCMS 后台已升级到最新版本,以获得最新的安全补丁和功能改进。重命名关键文件夹:更改关键文件夹名称,使其不易被猜测。修改…

(二)认识网关和设计器

一:网关 打开浏览器输入localhost:8088即可打开网关管理页面对网关的配置都在Config里面 第一部分 System:导出导入项目,为网关分配许可证 第二部分 NetWorking:设置网关之间的互相连接(单个网关不需要配置) 第三部分 Security:涉及用户管理,权限管理,操作日志等于安全…

pbootcms为当天发布的文章设置红色的方法【PBCMS当天发布的文章如何自动加粗变色】

要在 PBootCMS 中为当天发布的文章设置红色显示,可以通过使用模板标签和 PHP 代码来实现这一功能。以下是详细的步骤和示例代码: 步骤一:编写模板标签打开模板文件:找到 PBootCMS 中的文章列表模板文件,通常位于 templates 目录下。添加 IF 判断语句:在文章列表模板中添加…

PbootCMS授权码设置,PbootCMS如何绑定多个域名

在 PBootCMS 中,如果你需要为多个域名设置授权码,可以通过简单的逗号分隔方式来实现。以下是详细的步骤和示例代码: 步骤一:获取授权码访问 PBootCMS 官网:访问 PBootCMS 官网。申请授权码:在官网上免费申请授权码,并绑定后台。步骤二:设置多个授权码打开后台配置文件:…