小迪安全课程笔记-2024-九-

小迪安全课程笔记 2024(九)

P29:第29天:JS应用&DOM树&加密编码库&断点调试&逆向分析&元素属性操作 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

呃今天呢是讲这个JS的第二次直播了,关于他上面的一些安全开发,上一次呢讲了这个JS的AJX的一个,基数的一个法数,然后呢做了一下JS的一些简单的,一些文件上传呀,包括后台的一些登录的验证啊。

啊这节课呢讲两个支点,这两个支点呢是不相干的,他的支点呢比较零散,这就讲完了,就下节课就要开始上这个框架的相关东西了。

啊啊我们先来看这个今天这个东西啊,今天主要讲两个啊,第一个呢是简单的这个JS的一些,编码和加密的技术,然后呢再来说一下关于这个JS里面的一个demo,输的一个东西。

这两个东西呢是全部和我们这个实战相关的,我们并不是讲这个开发从010啊,从01去讲,就是那涉及到安全方面的一些东西,那就是重点讲,就像今天的这个德某书里面的,涉及到的安全漏洞呢,然后像这个加密编码。

也是会涉及到后期关于漏洞,测试中的一些这种调试,而且我们经常会演示简单的这个JS的,理想的一些小知识,只是简单的讲一下,当我们去讲到这个JS的读web漏洞的,JS安全的问题的时候呢,我们会是吧。

给大家演示一整次,两次直播的一个JS的调试的一些技术,那个就是重点,那今天呢就是开个威,能够让大家能了解到啊,那么主要呢就是集中在两个方面啊,第一个呢是先讲多么书,然后呢一个案例。

一个真实的案例给大家演示,然后呢再来说一下JS的这个编码,加密的这些使用,先来说一下多某书啊,这个多某书是一个什么东西啊,多某呢在JS中呢啊不叫叫DOM啊,这个网上那是叫做什么文档操作对象,简单来说呢。

它就是浏览器呀提供的一套专门用来操作网页,代码内容的功能,实现了自主和用户交互的动作反馈,这是他的一个简单的介绍,那究竟他是个啥东西呢,如果我要讲的话,那可以讲个10分钟是吧,就是光看这个解释。

但是我没有必要啊,简单来说呢他理智要理解了啊,他就是个基数的教法,他的名字呢叫文章操作对象,他是干嘛的呢,我们用这三个案例呀,三个小例子呢去给大家看一下啊,它其实呢就是操作代码中的东西。

就说在你比如说像这里啊,这里有段这个代码代码,这样写的哈,那么这是一串HTM代码,他呢就利用这个demo技术呢,来获取这个ATM代码的内容,获取哪些内容呢,比如说获取这个id等于这个值的,获取这个东西。

或者说获取这个win check这个东西的,或者获取这里面的后面的这个数据的都可以,它其实呢就是获取这个代码中的这种东西,从里面去获取这个值,你可能说他获取这个值有什么用啊,对不对,好。

我们现在呢就给大家做一个简单的一个例子的。

一个操作,大家就知道了啊,好,我们这里呢用这个vs code来去开发这个JS应用啊,就不用p p s store了,ppp store是开发pp的,那这个vs code呢开发起来会方便一些。

FACECODE啊,网上直接下这个比pp store也是个免费版的啊,还不用破解,方便的很,好这里呢就,把这个fs code呢给他搞出来啊,然后打开这个文件夹,在这里呢我们就创建第一个啦。

今天这个第一个案例啊,叫DOM点ATM2好,大家看一下啊,比如说像现在啊,我们在这里呢先准备两个图片啊。

我们先来看一下它的一个应用价值啊,应用夹子啊,先把它应用价值的搞清楚之后啊,我们再来讲它里面的一些知识点,然后呢,再用这个实例的去给大家看一下它的安全问题,好我们准备两个这个图片啊,发放到这里面来嗯。

好这里呢有一个IPHONE的图片和一个华为的图片,对吧,好,我们做个什么事情呢,就来设计一个图片的,图片的定时,或说图片的这个,后面的更新啊,啥意思啊,那我这里呢写个最简单的。

我们就不用搞那个前面什么标题来用了,你看啊,我先呢放这个IPHONE连接笔记上面去,给他的这个长度和宽度的都给300对吧,我这样一写啊,我把它运行起来,运行这个本地的这个谷歌或者千几,我们来用这个吧。

打开来看啊,这个是访问的一个情况是吧,你看这是它的页面啊,这里呢就是图片的一个更新啊,对不对,图片的更新啊啊这张图片啊是吧,那这是图片,对不对,你看啊,我们现在呢假如说现在呢有一个这个按钮。

给个按钮啊,给个按钮,然后呢,这里有个叫刷新,呐这里有个按钮啊,那这里有个叫刷新的一个这个操作是吧,那这个是干嘛的呢,这里现在大家都知道这个先画好,那点刷新之后呢,哎这里呢就会刷新图片,那如何实现它呢。

如果正常来讲的话,我们实现呢就是要替换这张图片,就要替换这个IPHONE点JPG,对不对,那你如果说你用P1P去实现的话,PP实现应该大概是一个什么流程,大家可以想象下,如果用PP去实现的话。

应该说你点击这个刷新之后呢,就要把这个地方的东西给它换掉,就是这个音IPHONEJPG把他换掉,对不对,是这么个情况吧,你想象下用这个操作会不会很麻烦,就是像你pp代码呢要去,首先要找到这个地方。

然后呢把这个地方呢给它替换,或者是怎么操作,对不对,他有这么个情况,那么在JS中就可以用这个DMO,输入这个基数来实现,如何实现呢,再来看一下啊,首先呢打开我们这个script的啊。

打死script的之后嗯,然后怎么办啊,这里呢他的第一种方式啊,就是用这个docker呃,用来给SM个变量啊,就用这个cost siming,或者用那个VAVRSM都可以cos。

声明一个变量名字就叫这个SRC,名字就叫SRC等于多k mt,然后点点什么,这里呢就是用那个以前的网上很多文章的,都是用这些什么叫get这种啊这种东西来去取值,我们现在呢就不用它了。

那现在用什么呢,就可以直接用这个函数QRSTOR。

就选取这个标签,然后给大家演示一下啊,啊然后怎么操作啊,呃这里有三种判模式。

这一种呢就是获取的是标签,那这里是获取的标签,如果是获取id值的话,就要前面加上个点id,啊啊获取这个这里写错了啊,就获取这个class里面的值的话,就下点,那就是点这个,好点点就获取这个id。

获取这个class的这个情况的话啊,这里是class。

好,我们现在呢来获取一下啊,看一下啊,这里呢就来获取这个SRC怎么获取呢,Dk s r c,然后啊我们可以把它调试输出一下,CONSOL点logo调试输出这个变量啊,sac看着啊,我们来运行一下来。

还是流器啊,这个CONSOL点log呢是在浏览器调试看到的,我们要打开这个检查,这里打开检查这里。

然后呢来到这个地方啊,加下面来这里有个叫控制台的这个地方啊,看一下啊,我们这里呢要触发这个时间的话。

需要针对这个代码,这个地方呢创建一个函数,用个函数把包括括起来,FXY叫更新的哈,update是吧,就叫update,然后呢把它拖到里面去,创建个函数来调用它,然后呢这个地方呢如果刷新按钮被单击的话。

就会触发这个update这个函数是吧,这个写的大家明白了哈是吧,刷新被触发事件,就这个被单击事件就会触发这个函数。

函数呢就去这个操作啊,那么现在呢我们来看一下这个地方啊。

刷新一下,现在的都没有是吧,那点击刷新,你看获取个空。

那就说这里写错了啊,我看一下是哪写错了,写这个字。

看下来再来刷新,点击刷新嗯。

还是错的,干啥设置image,直接获取image嘛,获取image啊,好获取EMAGE啊。

大家看一下,呐看到没,这里呢这个控制端这里呢就获取这个值,看到没了,Image src,IPHONE点JPG,那获取这个值,然后呢,你要取里面的这个SRC值该怎么取出来呢。

就可以用这个呢点SRC啥意思啊,这个SRC代表的是这个这个变量,我们把名字改一下。

改成S,那么这就是S,刚才的S呢是等于Z1长串就把它取到了,取到之后呢,我要取你们的SRC的值值是IPHONE点JPG是吧,那么呢我现在打印这个SRC8,进你这个显示这里啊,重新刷页面好。

重新刷一页面啊,看着啊,重新检查控制端这里空来点击刷新,你看他就获取一个值呢。

是不是这个值就是这个路径的一个值啊,你看,对不对,获取个值呢,你看然后呢如果说你要获取这个刷新按钮的话,这个操作值,你比如说像下面呢我可以写上一些字符啊,我还可以写上字符。

我还有一些这个东西,我把这个东西拿出来,那你说现在呢。

这里又是一个这个另外一个东西呐,这里有个标题,标题里面触发啊。

你看啊,这里又有个这个新的ATTEL代码,是上面这个叫叫是标题。

如果我要获取这个这是标题该怎么获取呢,再给大家看一下,再声明一个函数叫update1,然后在里面选取标签,就是这个什么H1的存着AH1的标签,然后这里呢是这个标题改它怎么它怎么获取呢,就是S点什么呢。

INTM这个呢就是获取它的这个值啊,然后呢你只获取标题的话,就获取这个东西的话,就可以选这个some test来我们来看一下啊。

那点一下刷新。

嗯哪里有写错了呀。

哎呀AH1哦,这里没有把它值给他拿出来,没有把值付出来啊,这个节代码这里都没有把他复出来。

那这个也是可以把获取到的啊,啊给八试一下再放上来。

好看一下啊。

点一下。

这是没有刷新吗,这这是获取这个。

方可形,哦我知道了啊,这个没有给他按钮,这个是没有给他按钮啊,这个是没给他按钮,我把那个代码把它拿出来吧,之前写的那个按钮啊,嗯只用这个吧。

用这个来演示一下。

好看着啊,这个,来看一下啊,嗯先打开这个页面啊。

一个一个来,这是他的一个标题是吧。

应该是刚才是点这个标题来触发啊,应该是点这个标题出发,我刚才呢没有写啊,你看啊刷新一下。

在页面呢点击这个按钮是触发这个事件,我点击这个标题,把鼠标放在上面点一下,你看这是标题。

是获取到了,这是标题嗯,获取到这个内容了,就获取这个值,然后呢你看一下啊,这是获取这个值,我可以把生成为一个变量,我声明一个变量啊,看着啊,声明一个变量,变量就叫,STR等于这个值,等于这个值之后。

我们把它进行这个调试输出的时候,大家关注一下啊,看一下有什么不一样的地方,STR对吧。

那刷新那点这个地方获取的。

这是标题,然后你看啊,我在这里呢给他重新复制一个东西啊,它不是等于这个值吗,我在这里呢给它加上一个东西,就如果说这里啊,我给它这个值呢写成一个什么呢,看着啊,把它值赋值这个吧,我改变一下这个地方的值啊。

那么这个值呢在刚才这里测试的时候呢,他是等于这是标题对吧,这是它值,然后我这里呢可以把强制性的让他,这是获取他的那个内容是吧,强制性状它等于一个新的值,比如说换成这是小迪对吧,这样写。

然后把调试,你看啊,这个地方是不会变动啊,大家看一下啊,现在是这是标题,对不对,第二了,我点了一下,变成这是小迪了,看到没,那重新再来看一下。

那我点一下这个地方呢自动变成了这是小迪了,为什么这里呢获取到这个S1对象之后呢,用这个东西呢把它设置为这小迪,他以前呢是获取到是这次标题,然后强制性装等于这是小题,再把它输出出来,对不对。

如果这个小题呢你用这个函数的话啊。

你这样放这个BR的话,那你看下它刷新的一个情况,那就把BR显示出来。

这是这个test,然后我们现在来看一下这个ATML啊,再看ATMLL换成ATML了,换成ATM的,你看一下啊,换成ATM的,我们再把这个灯方注释一下。

看这个地方的差异呐,这个地方就变成了BR了,那我给他明显一点,我换成HRHR就是那个斜杠,没看到没,是出现AHR啥意思啊。

其实就是说这两个函数的意思,就是操作元素的数据,上面这个呢是能够解去后续代码,而这个特斯呢是不减去后续代码能理解吧,这个呢就是一个能解一个不能解的问原因啊。

非常简单,那么刚才这个换图像的话该怎么换它呢,也是一样的道理,那么这个就好写了啊,你换图像就很简单了,比如说我要点击一下,换一下这个图像,点击这个刷新之后呢,换图像怎么写呢,他以前等于JPG。

我就怎么写啊,我就先把这个代码给它注释掉啊,不注释掉了,他启用的是update这个数据,我怎么操作哈,你看啊,我先取这个image呃,获取这个SRC对SRC呢就等于什么呢,是等于华为点PNG啊。

我先取到这个image的这个地方,然后呢在取到值了之后呢,是换回这个值吗,SDSRC就取这个值,然后它的值呢他以前是等于IPHONE,我让他强制复制为华为。

点击B对不对好,我们来试一下看一下啊。

看是不是能够换图片了啊,来先刷新,点一下刷新呐,看到没图片就自动变了,所以说你用这个JS呢这个DOO型的操作呀,他就能很快捷的去做这种。

和这个代码呢和他直接挂钩上,他就和他直接可以挂钩上,对不对,包括你取里面的值,修改里面的值都可以是吧,取里面的值,修改里面的值都可以,你取它的值也是一样的道理,那我们可以刚才也取过他值了哈,Conso。

然后呢你可以用这个DR来获取这个S点2RC,那我先把这个注释掉,先不修改,那我来获取这个DR,把它获取出来。

我们看下这里啊,点击刷新好,我们看一下这个控制端,这里点击刷新。

是吧,他就能取这个值吗,那这个呢就是我们说的这个东西啊。

然后呢你可以把它复制成这个变量呢,再获取一次,你看啊获取变量之后呢,他这个值那就更不一样了,我们可以看一下啊,获取SRC啊,SS等于S减SRC就重新复制一个变量,然后呢去打印这个东西也行。

好这个操作呢我们就不再继续了啊,就不再继续了,这个是换那个图片的操作,然后下面那个呢是也是换成图片,并且在这个调试端上去显示的一个操作,那么这个demo输呢其实就非常简单啊。

我们这个例子呢就是给大家演示是什么意思呢。

清除到了这个demo数的一个大概的情况啊,他的情况呢,就是用来操作这个网页代码里面的内容,然后呢事先呢这个自主和用户交互的操作,就比如说你在网页上面再去刷新网页,刷新页面,按的话,那个图片呢它是轮播的。

去这个去操作,就不需要你用一些后端代码来实现,那么它会造成哪些安全问题。

现在那就是核心点来了啊,刚才是搞清楚了,你想象一下啊,它既然是能够对这个代码这里进行操作,我们思想一下,你比如说像这个地方呢,他把这个SRC等于华为点PNG,那么我们现在是试问一句啊,如果这里啊。

如果这里哈这个华为点PNG唯一个什么,变量由什么,由用户权的决定,那么,就会造成什么呢,XSS就是我们俗称的DMOXSS工具,你看啊,因为这里呢如果这个华为点PNG作为一个变量,有用户传递的话。

那么这里呢就会造成多么差失,为什么呀。

因为代码中就被改了,你来我们来先来看一下刚才的代码啊,我点刷新之后,它变成了华为对吧,好我们可以看一下啊,原始的我们看下代码,这里我们点击这个代码,这里点击检查看看代码啊。

你看他现在是image src等于IPHONE点JPG是吧,现在是这个东西好,当我们去刷新之后,我们看一下这里啊,是变成了华为点评机了呀,它自动把这个代码这个值给它改变了。

那么如果说这个地方是由我们用户来决定的话。

就说这里三只是我代码写实了,如果说这里呢它编成一个接收数据,这个数据发送的是什么,那么它这里就编什么,那你想象一下。

我是不是就相当于去操作了这个image这个语句了,那我是不是可以在这里去写一些代码,能够实现这个夸张呀,那比如说我可以实现什么呢。

对不对,假如说我这里呢我给他传递这个东西,我给他传递什么,传递这个东西是不是呢,传递这个,看你像这种东西是吧,给他一个错误的,然后呢一个错误的一个启发语句,然后来执行这个什么JAVASCRIPT啊。

这个东西呢你可以网上查一下啊,就这个意思啊,我就说大家要明白就可以了。

对不对,那么这个由于我没有讲XSSR。

所以大家就知道这个情况,其实呢就是相当于呢这个语句呢,这个这个这个这个ATM代码,那就由我们来去操作了,我们就可以在这里呢写入一些这种。

JS的执行语句,我们就可以查一下呢,比如说我们像那个夸张一样的啊,XSS的这个payload啊,网上呢有些种类,你看到有这个image标签的一些这种啊,我们现在没有讲到啊,这个XSS只是说在JS里面呢。

它的安全问题呢无非就是那几个,它不像这个其他后端语言,他的安全问题呢比较少,就像什么夸张呀,未授权啊,这些东西有点多,其他的就不会很多,因为别人都用这个JS呢,不会做一些这种其他操作啊,你看着来。

嗯这里呢有了这个呢SRC,那可以用这东西来执行XS语句,对不对,你看他可以用这个东西来执行啊,嗯直接写成这个东西呢,然后调用执行弹窗。

那我们可以试一下啊,这是一个JAVASCRIPT的一个代码,然后弹出一个XSS,里面有双引号,外面有双引号,看起是吧,你看我把它复制了,这就换成这个东西啊,我们来看一下啊,打开。

点一下,那这个雨是不是插进去了,你可能说哎咋回事,咋咋咋没弹窗啊,啊咋没弹窗啊,啊咋回事,咋没弹窗啊,啊有没有知道的。

大家应该看到了啊,呃这个地方呢你看啊,我写了这个和这个,那他这两个有不同的支出来有什么不同啊,然后不能弹窗的原因呢,它是有多种多样的,有些呢是浏览器的策略导致的,就是你会发现你如果说你欢岛火狐它可以。

但是你换到谷歌或者什么IE它不弹窗,就是有些他的这个浏览器安全策略,他是有些是组织了一些这种JS的人形,这是第一种啊,还有原因就是你看啊这个呢它是没有冒号的,那这个是有冒号的,而且冒号呢他有个差异。

后面写了个分号。

代表他是个语句,包括这个下面的这个地方啊,你不信的话,我可以把这个地方呢改成这个东西啊,我直接把这个地方改成这个东西。

先把删掉。

啊他还是不弹窗,哎这个语句是我想多了啊。

我还是这样去写一写啊,你看啊,我把这个地方呢写成一个错误的,用这个错误事件来弹窗它。

他这个是绕过语法,绕过语法呢它不太一样。

让弹到吧啊。

这是一种简单的一个操作,这原始是源于你把改成这样子写呢也可以啊,然后如果说你只能孤立那个值的话,就是不能去操作上面这个值的话。

那你就只能用这里提到过的这几个语句,就刚才那个image下面触发弹窗的那几个语句,Image,就是阿SRC后面那个弹窗语啊,这里这里呢写了一部分,这个呢就是要看这个浏览器支不支持了啊。

你看比如说像这个啊这个啊这个啊,而且这里面呢很多符号呢你都要注意,这个符号都写错了。

我给撕一下,比如说我把这里的强制改成这个字,看这个行不行,嗯搞个一吧看一下啊。

啊他还是没有成功,虽然这里已经改了啊,但是他没有执行出JAVASCRIPT的这个原因呢,具体的话一种是不支持的,还有一种呢就是浏览器自身的问题导致的,这是我刚才撕的这个,这我刚才撕的这个。

我刚才不撕了这个吗,发还发啥呀,刚才撕都撕了,这个不行。

这个不行啊,因为他这个改的是SRC的,这个值它是改的这个里面的,你这个后面加这个东西,乱七八糟的啥东西,你你你这样想你,你说你啊,我搞这东西行不行啊,就你刚说的啊,前面写个一啊。

哎然后后面写写写写这个什么鬼东西是吧,你试一下嘛,你改你改了之后,他他写到标签里面去了。

唉说这里呢讲了吗,讲半天了,这讲了讲的是啥玩意,你看他写在冒号里面去了。

所以没用啊没用,他要操作SRC的值,不是你想的那个情况啊,它是操作SRC的值,你这里写上去,你会run为,认为这个o small呢是当做下面一个值是吧,就像我们在这里写一样。

但是它不是它全部写到冒号里去了,因为他操作是SRC的值,你看S点SRC嘛。

所以你只能装这个RC里面,那就是刚才这几个嘛,那在这里触发的,但这几个呢不行啊不行,那就没辙了呗,对不对,他有些是浏览器的安全策略,还有现在是这个高版本的不支持。

好那么其他的一些测试至于能不能把他绕过呢,这不是我们现在担心的问题,我们后面再讲到XSS钻研的时候呢,再举个给大家讲啊,那这个小案例本地案例呢就讲到这里,大家要明白他的一个道理。

那么现在大家思考一个问题啊,这个安全问题我已经给他抛出来了,其实那就是在这种网站页面中,它有些功能要用这个demo去操作的时候,就是相当于说本身这个ATM代码啊,一句话非常好理解啊。

就是这个安全问题把它写上去,就是这个本身的网页代码呢,网页的这个前端代码呀,通过这个demo技术,实现这个代码的这个更新和修改是吧,是这么一个基数,然后呢当然是这个更新修改。

如果修这个修改的这个数据可以由这个什么,用户来指定的话,就会造成什么,DOMO型XSS攻击,这是刚才我们讲的那个原理啊,就是呢你的本意呢是让他修改来达到一些功能,但这个呢如果你在修改这个值的时候啊。

这个值呢没有显示,是由用户的一些传递数据来指定的话,我们就可以run它那里面去传递一些类似的这种,XSI语句来执行,从而呢执行了这个JAVASCRIPT的语句来实现一些JS攻击。

那么大家知道这个安全问题之后啊,大家现在呢可以思考一个问题,如果在真实情况下面的话,这种漏洞会在哪些地方产生,那我给大家看一个案例啊,我们先分析这个案例会不会产生,大家看着啊,有道翻译来有道翻译。

这该不是这个假的吧对吧,有的翻译,这什么老演员了,这不是演员啊,你看一下啊,我们来对比想一想啊,他这个地方是一个和我们这个DOM有什么操作呢,大家可以先想想呢,比如说我这写个英文单词是吧。

这个GUI me,哎对不对,他帮我翻译中文呢,显示出显示本用户信息好,大家可以想象一下啊,他这个地方有没有用到多么奇数啊,大家可以思考一下,多么级数是点了之后呢,他就会更改这个值,很简单,这绝壁用到了。

为什么说绝壁用到呢,你想象下啊,我这个地方我修改它,你说的my name,一只小D,对不对,想去哈,我写上去了,他这个名字再改,我把这里一中哎,诶我滴妈真是肖老师呀,肖老师永远滴神呐。

上面都给我翻译成肖了呀,对不对,你看我改了这边呢就会改,或者反过来也是一样道理,你把正面改了之后呢,他也要改,对不对,所以说呀它就是一个相互的一个过程,即使我在这里,我发现我没有去点那个翻译。

我就在这里输是吧,这个什么computer呀是吧,这种英文单词电脑的单词对不对,他自动翻译的,我点都没有点,他自动翻译的原因是什么,因为你可以看一下啊,我先给大家看一下啊,你看啊,我先这里不输入时候。

我点击审查元素。

这里我生产元素,这里啊,你看孔子还自动有个什么叫解密结构数据,这是官方自带的啊,然后你看一下这个地方,你看这里啊,啧这个下面这里呢就是哎呀,这个浏览器太小了,他这是放这来呀,把这个先关掉。

你看就这个地方的值呢,看啊,我这里是空白的,就啥都没有数据,看这里面的是啥都没有,你啥都没有,直都没有,包括这里呢你的生态元素呢,他这个地方也是呢没有后面也没有字,后面没有写任何数据,全部是为空的嘞。

因为你没有输任何东西,只要你一输诶出来了,你看这个地方呢就自动出现个关闭了,这不就是的吗,就是检测到你有这个输入时间了之后呢,就让这里显示这个忽米对吧,然后呢这个地方呢就翻译就这个过程呢。

这是符合一个do某操作呀,我do某操作的那个原因,其实就是像刚才一样,就是有些事件触发之后呢,这个页面会随之更改或变动,就像我刚才演示的什么更换图片呐,更换那个里面的值是吧,什么刚才那个操作的时候是吧。

那这标题点一下就变成这是小D对不对,就你有这个时间之后,他就会更改这个值,然后更改值呢就以用户输入为准,那这个是我用户输入的嘛,我输入的或密码,对不对好,那你说有什么安全问题呢,大家试想想啊。

翻译归翻译,既然你接收我输的数据,那也就是说它会显示到这个页面中嘛,我让他在换名字显示是吧,看着啊。

我搞一个那个DNS logo来配合一下,看看能不能带Y出来啊,得到一个域名,大家不要访问啊,免得说我作假,那现在没有值啊。

来看着啊,搞个来,image src等于一个路径,HTTP是吧,然后呢,随便后面写个什么鬼东西啊,写不写都无所谓,无所谓的啊,写不写这个图片地址都行啊对吧,就写这个东西啊。

你看他翻译的结果变成什么点这个东西了,诶有图案诶,诶图片呢啥情况,这只能是一个抽个图呀。

再看这边哎哎呀我滴妈不好意思啊,点刷新去了,应该点这个了。

充多了充多了啊,充多了呀,好来看啊,它翻译成这个了,你看我把它按了一下,我把它按了一下了,这个图片变成这样子,因为他有加互的嘛,我把它干了一下。

现在是这个东西嘛,看这里啊,还没呢,这肯定是谁访问了,你妹的咋整的多呀,真是谁也没事做,要访问的啊,拦都拦不住,别搞啊,重新搞搞,重新搞搞。

啧唉这又让我重写。

怀疑现在又被访问了,没访问。

大家看了这个结果就应该知道了啊,然后如何分析它呢,来我给大家看一下,分析一下,这个我就不测了啊。

肯定是有人脑访问,那你又访问,你看哎呀,你这这不这不访问我都不好说的啊。

你看下我给大家分析一下,看是不是这个逗模型操作啊,就说如果检测的话,我不从这个功能上面去分析,你看啊,我修改这个网络之后呢,你看他尝试过访问,你看那他还有访问过,看到没,点了之后呢。

他这个数据包有没有触发,看到没是吧,然后呢你看啊我们在这里呢资源这里啊,你可以呢用这个浏览器中文的好看一些,我们用这个中文的给他看。

好我们用中文给他看啊,我们随便输个什么东西啊,然后呢我给他看一下啊,这个这个网络和源代码是吧,然后点击这个翻译,随便选择一下是吧,好那现在呢你看啊,它加载一些文件和这个网络信息啊。

呃这个时候呢你再看这个地方啊,我们搜索一下关键字。

那这是做这个,做这个刚才这个操作的这种什么额。

多么的一个操作的一个关键词是吧,搜来看啊,那这是他收到的值,我们可以看一下啊,关注一下呢,这个是一个JS文件,这个呢有一个JS文件,还有个这个JS文件,从字面上看的话,应该会选择最后一个JS文件。

为什么最后一个JS的文件名呢,它叫做放大一点啊,给大家看的更清楚一点呐,他的名字呢叫做test,还放大一点吗,那,它的名字叫做test trade tic,就是文本翻译JS上面这个是什么chain啊。

Vidir,然后这个呢是一个叫document upload文件上传啊,类似文件上传,因为它这个本身的功能里面是一个,文件上传功能的啊,那他有个文档上传功能,所以呢他应该是那个,所以这个呢就选择中。

我们来看一下这里面的代码啊,来代码里面看啊,顺序那一个这个值,你看就是我们刚才那个写的一样的道理嘛,来类似那个纸一样的吧,我可以看一下啊,然后你看一下在这个地方的时候,你看一下啊。

这个地方他的一个表单字可以看一下,就我们刚才数这里嘛,他的表单字是什么呀,表单是这个呢叫JS翻译,input d i非标签的,我们可以搜一下在这里能不能搜到这个东西来。

Ctrl shift加F搜索回车好,再来找一下下面的依旧只找这个,因为这个各位关键其他两个名字都不太相似,找这个好,点击上面看一下代码好,这是它出现的地方,我在文本中去找有19个。

那你看这里呢i id等于它,那reef等于它,然后这个什么class opening什么东西,其实呢这个代码你都不用去看,大概情况就是个什么东西呢,就是在改他的数据。

就要尝试才改他数据其实就是我们刚才说的,当你有用户输入事件之后呢,他就尝试性对这地方呢进行改值,那这个IIF你看刚才那个源代码这里啊是吧,来这是他的上一个标签的值。

upload的下一个呢是这个的js input,还class等于这个值,还有后面的这个其他东西,对不对,就是霍尔米的这个存放的标签这里嘛,对不对,它其实那个JS里面的作用呢啊。

就是检测到你有这些操作事件之后呢,就把里面值改了,所以我为什么输入忽完密之后呢,对吧,这个地方就显示换me,然后你在数字后的翻译,翻译那些功能呢我们就不介绍了啊,那是他自己实现的功能。

但是这个为什么会造成刚才那种问题呢,其实就很简单,他把这个数据呢写到了这个什么呐,这是我输出这些数据,他写到这个地方,所以这个时候呢你就可以让它执行JS语句。

你可以把那个刚才写什么image标签呢给他写上去,对不对,然后你直接写还不行,你直接写它不会过滤,你不信你来看一下啊,我看看啊,imagine src等于这个讲他有提示啊,你D随便输入一个地址,1+7。

01好吧,然后呢你看啊写这个地址,然后你大概关注一下啊,我写这个地址之后,那我点击翻译,他说我追不起,我在学习的过程中什么情况,那他翻译了,Image src,举一个例子,好大看着啊,写上去了。

然后你看这个地方啊,检查元素,这里他写在哪里啊,你看,找这个地方呐,这是它的值啊,你看写到这来了,但是这个值你可以看一下啊,它被自动过滤了呐,看到没,前面的尖括号不变成这个东西,这叫实体化的一个技术。

就是将尖括号过成实体化,这是造成不了这个攻击的,就相当于这个呢被实体化了,这个尖括号就编了,对不对,所以这里呢你放上去之后,它不能实现这个操作,但是呀当你把这个鼠标移动到这边的时候,大家看着啊。

我移动到这边的时候,来把这个选中之后,你看这边就立马变成了一个图标,就说明他执行了,为什么呀,为什么我把鼠标放上去之后,哎,一放上去就变了呀,为什么放上去它就变了呀,你看放上去它就变了。

那那这里就写成了image执行了,为什么就是时间呀。

就是我们类似于我们刚才写这种东西的,这种时间关系呀是吧,我这个是单机事件,他那个就是检测鼠标焦点时间。

那么他就把那个东西呢给它翻译,因为它的原本设计是怎么设计的呢,原本设计是这么设计的,就像你户外me啊,你翻译了显示本用户数据是吧,你把鼠标显示到这里来的时候,它也会对应这个值就相当很简单。

假如我有多个英文单词是吧,我英文单词很多,哎它就变成了这个是英语的,我学英语它就对应这边英语,对不对,然后显示这个它对应这个户外米,是这么一个情况,对不对,所以他是为了你的方便。

但是事实上我刚才把这个地方写到这来之后呢,这边来讲,按照正来讲,他以为是要翻译这个东西是吧,他以为是要翻译这个东西,诶,他一翻译呢就变成后面这串串,对不对,我不我不能把鼠标再放上去了。

放上去了就就就有里面的又变了,你看它翻译就是翻译成这个东西,因为他不知道后面这个是啥,这也不是英文单词,但是呀你这个它的功能实现,这里呢他有个相反的作用,当你把这个东西一放上去的时候,他就尝试翻译它。

然后结果他就把执行了,对不对,是这个意思吧,其实说他考虑到了一个真相的翻译,真相翻译翻译这个词的时候呢,他没有翻译成功,但是反向的时候他会尝试翻译它,所以这个反向这个过程中就这边到这边,一个是左到右。

左到右呢它有个过滤,但右到左呢它没有过滤,所以这个里面东西呢就被执行了,所以里面的图片被调用了,刚才我画了个dj s log地址,那其实就是他尝试过访问那个地址,所以呢就获取到IP地址,是这个意思啊。

对不对,这就是个典型的差SSS与XSS攻击也可以,也可以把它归类到类似的SSR浮动机上面,两个都可以啊啊,但是跟规矩的讲的话,他是一个XSS,因为他是在操作这个网页的代码。

这就是一个典型的多模型的XSS,就是通过修改用户的啊,通过这个用户的输入之后呢,去改变这个本身网页的值,然后呢通过一些事件,比如说单击按钮,鼠标移动过鼠标获取焦点等等等等。

然后呢去改变这个数据来实现这个翻译功能,当你把鼠标放上去,他就把这个语句的给他执行了,这不就是用到了刚才我们讲过的这种东西吗。

来对不对,就像是我鼠标一放上去,就和我这样呢,我这里呢是点击确定的时候,他就把这个值呢改成这个东西,对不对,只是说我这里写死了,而他这里呢是以你输的用户为准。

他以你输的用户为准,所以呢当你是输输入这个值的时候,那么他就会尝试把这个数据呢是吧,写到这来不就形成了一个操作吗。

就好比呢刚才我那个操作代码中就这样子的嘛,那我就把常识改成这样子,单引号啊,避免这个双引号的一个影响,你看就和这个意思一样的,我们来可以访问一下刚才这个页面,那他以前呢是获取这个知识标题嘛。

哈然后呢他获取之后呢。

就会把这个只能改成这个东西,那你看着啊。

那这会是访问这个除法是和这一样啊,无非就是说我这里呢是我写死了,他那里呢是写了一个接收你那个参数的字,没有什么不太一样的东西,所以他就相似执行这个语句,你看我这里也相当执行了,我的代码中呢。

是不是呢尝试过放我127001啊,对不对,那么你想一下,如果这个语句是一个JS的语句呢,我换成一个什么这种夸张语句,就用JS呢来获取一下浏览器的信息,比如说document是吧,点cookie是吧。

先取这种啊,获取这个,浏览器信息是吧,document点cookie获取一下这个信息或者弹窗等等啊,对不对,他不能这样写这个语句啊,不能这样写啊,不能这样写啊,那写那个其他的一些东西。

就写那个QUON语句一样,写到跨语句,就类似于我们这种意思了嘛,对不对,那个东西呢我们就不多说了嘛,好当你这个刷新的时候点确定,那就弹窗了嘛,对不对,他强行修改这个东西去执行了嘛。

嗯不就是这个意思吗,我们这个案例不就也和他差不多的吗,无非就是说它的设计呢更复杂一些,我们看起来简单一些,对不对,当你的鼠标的滑动到这里,获取它焦点事件的时候呢,他尝试把它翻译。

因为它本身的功能就是两边都能进行,把你选择它呢就翻译成它,你选它呢就把它返回来,同样道理啊,当这里呢有个image src的时候,在这边呢它不能执行,但是呢它翻译成这边之后呢,你再把这边的换上去。

他就会把这个尝试解析,这个一解析就类似于这种功能嘛对吧,把它当做这个代码去执行,那么后面的JS代码呢就会被执行。

就这么简单,能不能理解呀,啊能不能理解啊。

好这个案例呢是我们今天讲的第一个案例。

那么接下来呢我们再给大家看另外一个案例,就是涉及到JS的简单的调试,理想的知识点,这也是大家非常感兴趣的,它有没有作用,我们一讲大家就知道有没有作用,首先在讲之前,我们给大家看一下一串代码段。

这串代码单呢我们不教大家怎么写,因为他写的非常简单,我们没必要来一个个讲,我就给他准备好一个代码段。

这个代码端啊就给大家演示一下。

首先呢把三个文件准备好。

这三个文件是网上瞎的啊,这三个JS文件是干嘛的呢,其实就是JS库把它放进去干嘛的,全部是用来加密的,那MD5用来MD5加V1的js in qu,用来JS1些场景加密,什么ax啊,DNS as啊那些东西。

然后呢这里有这么多三个文件啊,分别负责各种类型加密。

有哪些类型呢,贝斯六四MD五SHE1MMC是吧,AXDEX还有这个RC这些加密呢,为什么要学它,我们等下会讲啊,其实在这里讲的就是说,利用JS呢来实现数据的加密,那么如何实现呢。

可以应用到网上的第三方库,然后呢用这个库呢来去实现啊,用这个库来去实现,然后如何实现啊,来给大家先创建一个文件名字就叫一个CY吧,这个点ATM号,然后如何实现呢,首先啊。

他这里呢就可以直接引用这几个文件了啊,直接引用引用它之后呢,就非常简单了,SRC引用这个JS目录下面的,然后呢这里有三个是吧,比如说MD5的,就把MD5取出来,对不对,引用它啊,就引用这个JS文件。

那么就会响应这个JS里面的代码啊,这全部是用JS写好的,一些这种封装好的函数和一些东西,你就直接调用就可以实现MD5的这个加密了,对不对,然后如何操作呢。

非常简单啊,什么base64我就不测了啊,都一样的道理。

那我们看这个什么这个MD5的呢,直接粘贴上去了,我的加密的值呢是小于SEC,然后呢把它用M05来去加密这个SR1,把它复制为这个s t r e code,用VA啊或者用cost都可以啊。

这两个变量生命都可以,一般会用VA啊啊你也可以用cos都行啊,这个怕有些人不知道啊,还有个叫nee t l e t呢也可以啊,三个复制变量l e t d a r cost,这都是复制变量的三种方式。

一般在高端开发里面用这个多些啊,低端开发用VA2好,你看啊,这是小DIC把它进行这个MD5的一个加密,然后呢打印出来,那我们来观察一下这里啊。

你看是不是打印出来了啦,那当你去改变这个值的时候是吧,小D基础,就是英英文吧,Number one,对不对,永远的基础永远滴神,那刷新一下,那看到没值就改了是吧。

这就是相对这个值呢进行MD5加密能理解了吧。

那么依次向下,那这个阿SC的呢也是一样道理的。

这个呢就是,利用这个另外一种加密方式,就这个杀的这个是MD5,对不对,第二单用这个东西呢来实现这个SD啊,那小DSEC那调用这个COMMERJS文件,然后呢这样去操作来刷新一下,那就变成这二个了啊。

当你去改变这个值就会改变了,这是那个S沙加密的一个格式。

同样绕令啊。

这个HMC的MAC的也是用到这个JS文件嗯。

调用这个JS文件,然后呢,去这里的生命加密的K和加密的字符串,然后呢你用这个这个调用啊,用这个函数呢去调用这个东西,加密K和SRC,并把这个结果来进行展示,嗯来刷新一下,你看这就是另外一种加密方式。

同样道理啊,这个ax的就是零,基本上差不多了啊,看看as的这个是a as。

我们看as这面啊也是用到这个加密文件,然后呢这里是as前期加密的时候,我们说过加密算法的时候,说过他有什么偏移量和这种叫啥呀,偏移量啊,还有那个加密密室啊,那东西是吧,就把它写好。

小时候呢把它进行一个输出,可以观察一下这面情况刷新诶,这个怎么又显出了,哪里写错了呀,哦这里没有写SQUE的结尾,好刷新一下,你看就出来了吗,这个就是a ax加密。

那么像下面这个。

额这个这是解密的,我没有写上去,还有解密的啊,这是解密的,他把两个都输出了,看这个是加密的。

这个解密的,他后面还写了个解密函数。

啊其实就非常简单啊,这个东西呢就无非就是利用网上这种哭啊,然后呢你用库里面的使用规则,这个库怎么看使用规则呢,你可以直接打开啊,这CIA挖的啊,打开这里面的去翻啊。

也可以网上那查阅下这个JS的一个使用资料,用它呢来实现加减零啊。

后面还有个这个DS啊,包括这个RSA呢我们就不测试了啊,你就给自己呢把它复制上去演示看了啊。

这比较简单了,其实就是说我们网上呢碰到的一些常见加密呢,都是用的是这个也封装好的,他不会自己去写,你就像我现在给大家看一下,一个案例看着啊。

两个案例啊,一个是有博客为案例,先讲原理再来直接给他调试,申通快递。

大家看一下这个调试有没有有没有讲究是吧。

先看一下我们的博客的啊,你看是不是这个意思啊,哎这个宝贝怎么是登录状态啊,你妹的换浏览器登录。

大家看一下R来,我们这里呢可以关注一下这边他的一个东西,你看啊,我在访问的时候呢,它就自动帮我加载了一些文件,并且这里看MD5都有了啊,你看啊,现在呢我们来看一下啊,那我来分析一下啊。

为什么要去学这个东西加减,明知道他是个什么流程了,那么你看到这里有个MGES,你说他是干嘛的呢,加M65干嘛的,那肯定加密MD5的,你不信的话,搞不好和我这个M65JS一样的,看下是不是一样的啊。

不是一样啊,他不知道从哪下的,他是这个里面的嗯,然后你看啊,我输入一个账号密码,我可以点击这个密码这里啊,这是他的一个传参值,叫bd password,看大家怎么分析它啊,全局搜索搜索这个值回车。

大家看一下,在logo p p里面搜到了,看下这个地方来看这个代码啊,设到这个关键地方了,因为他全参的是这个值嘛,设到这个代码了,那就这里码啊,他等于什么呀,等于这个变量,他说了。

btn post点click,这是我们前期讲过的AJX的奇数啊,有没有印象啊,啊来翻过来翻到那个AGX那个级数,那当时我们怎么写的,看一下这里来,这不就是一个东西吗,无非他这里我写了个AJXX。

他没写呀,那button你看他这里是怎么写的,B a b t n post,Jin ha,就取class的字,来我们看一下这个表单,这里来点击登录,这里我们看一下源代码来看没,是不是btn post呀。

取这个id值,我们看笔记嗯,上面的id值后面就是加井号,class后面就是加点号,就说你呢你的class里面就是加减号来去筛选。

然后呢id后面的就是加井号,你看他这个是等id跟b t n post嘛,所以呢你看井号嘛,就取这个id值等于p d n post,是不是就等于这个登录时间了,被单击后,然后怎么办呢。

取这个e n d password,那e n d password是哪里啊,是不是就是密码这里啊,那密码的这个id值e n t password,取这个值码点FUL,这没教过吗,ATX就讲过这代码。

这不看难看难看不懂,你说讲开发有没有用呢,到这里就有用了呀,所讲过的就知道是在干嘛呀,对不对,取它值赋值给这个变量复制个变量之后,你看按下面再做了个什么事情,你跟踪一下来看到没。

那VARMD5s str password,就这个变量得到之后,下面有个什么,你看再声明一个来password等点VR呢,MD5这个东西,然后呢action第一次提交给谁啊,CMDACTVR是吧。

完了对不对,他这个写的有没有毛病,那没有毛病,为什么我们当时说过,如果说他有这个回旋的处理的话,就可能有安全问题,是不是我当时讲过AGX大家还有没有上节课,印象就是如果登录成功之后呢。

他以这个JS这里呢判断成功之后呢,还有后面的处理的话,那可能就有安全问题,因为这个JS呢我们能够修改它,但是它的处理过程呢,在这个代码中有没有看到啊,没有看到他这个东西就干了个什么事情啊,就发了个数据。

啥都没干了,他并没有接受这个结果,这里没有看到呢,是没有接受任何结果,他就发了个数据,啥都没干,所以他的逻辑呢还是应该是在这里没有看到,应该是还是在后端在处理,所以说他就没有像我们刚才说的哎。

我把一登录啊,把状态码修改成一或者零哎登录进去了,不是那样的啊,因为他这个逻辑没有这样写,是这个意思吧,是不是就能和我们上节课挂钩了,知识点,那么再看这个MD5,对不对,还分之五,然后他传递的数据。

看下它传递数据啊,哎这个数据那写一个来传递一下,点击提交,看他全体数据啊,来你看它传递数据呢,Username alme,那password自动加密了,那这是个MD5加密嘛,对吧,你可能说就像很简单。

我不知道他是怎么加密的话,你看这个值看到之后,你再分析源码,在源码中呢追踪到刚才我说的那个地方,M65跑了跑不见,那你这他妈的真是A级就出来了,那就刚才呢追踪到那里呢,他提交的数据刚才大家也看到了啊。

你看这个就检测到了吗,刚才追踪到那个地方,是不是追踪到看到这里就有MD5了,你可能会问这个M65又从哪里来的呀,对不对,我告诉你现在就开始调试了啊,如果这里他不告诉你是MD5。

你又该如何知道他是什么加密方式呢,调试开始,大家看着啊,控制端这里你如果输了,我给你输一下,那你可以直接输,他不是你知道这个逻辑吗,那我给他写一下啦,他的逻辑思,我先把这个代码逻辑写清楚,我们再讲。

这个JS里面代码的逻辑,我们先把它理清楚啊,这里是,简单的说写三步嘛,那单击登录事件,是吧,然后这第一步啊,登录事件之后啊,这里呢是接受这两个表单值啊,啊声明变量啊,变量,接收这什么。

接收这几个表单词啊,检测数据,然后呢下面这个呢是要把它进行判断,判断完之后呢,那他就发送这个action是吧,就是啊发送数据,然后在发送数据时时候,这里呢这个密码呢使用到了一个什么,使用到这个地方的。

使用那个加密呐是吧,这是他的一个大概流程,这里呢是我把它画个图看一下啊,大家看着啊,来这个地方对应什么这个地方哈,然后这个声明变量呢啊,第二步就对应这个地方啊,好第三步发送数据就是这里的判断成功之后呢。

就进入到这个发送数据在哪了,然后这里不是有个这个加密吗,啊所以说多了一步啊,密码呢采用这个加密是这个流程吧,对不对,好,那么现在啊假设说他这个MD5,你不知道他先告诉你,哎我是MD5那里面的,你知道了。

那不知道你咋办呢,你可能说我知道这个东西有什么作用呢,对不对,还会有这样的问题,我知道它和它不知道它有什么作用呢,我们先不说有没有作用,我等下呢反过来再给大家说一下啊,为什么要把他知道。

为什么要知道这个加密方法为什么要知道啊,我们待会会说啊,好我们先解释把它还原出来啊,假使说现在你不知道该怎么办啊,有种方式最简单的,但这种方式的成功率不高,就要直接呢MD5,它不是复制这个值吗。

我直接给他传了,看着啊,我传递一个小迪,看着啊,回车呐,他是B比,要比,那打印出来我直接在你的调试呢控制站这里啊,M95好,然后你输入这里啊,输艾这里,然后呢密码呢我就输,小迪看着啊,看他发送的数据。

看这里看到没,四和这里一模一样,你看就说明我这个调试成功的嘛,那我其实就说我知道我输的什么密码。

和它对应上了,对不对,这还没用调试啊,那接下来我博客太垃圾了,我换一个给你看一下,一个高端的,这个就值得学了啊,这个就非常重点了啊,学到就是赚到,这是最简单的JS的立项,申通的这个登录的一个地方。

大家理解一下啊,大家看着啊,怎么去搞,首先这里R1按道理把我换个浏览器吧,这个浏览器英文的不友好,我们换个中文的,用EEEGJ1啊。

把它移动到这边吧,妈的这个下面的屏幕那个了,哎移动一下呀,这里面的布局啊。

换这边来啊,大家看着啊,我们在这里呢给大家看一下啊,这个代码的一个情况啊,首先呢我们要做个事情啊,登录一下,随便写个账号密码啊,来点击登录,大家关注一下这边的网络情况啊,点击登录好。

这里呢除入一个logo,request的一个请求,大家可以看一下数据数据是一个什么格式啊,你看来给大家复制过来看一下来,这是username,这是password,这是mono,三个值。

你可能说我输两个,怎么有三个啊,我先不管这些东西,我输了个电话号码,我输了个密码,这个UZM应该是它跟你自动绑定的一个东西,我不管它。

先不管它啊,来三个值,你看这个数据,我输的全部铭文,他咋给我搞成这东西来。

然后在这里呢我们看一下啊,有没有加密文件呢,你看他加载的JS文件。

那加载JS文件有没有啊,看下源代码中这一大堆啊,这该怎么分析呢,不好分析啊,好办啊,首先第一步看这个表单啊,看这个表单这里啊,点击一下这个用户名,这里啊,看他是以什么值发送的,内蒙等于朗博报。

那么就选择这个啊,为什么要以这个为准啊,最好是以这个为准,因为这是从开始他结束的参数名,所以这个name啊在这里全局搜索这个词,好在一个文件里面找到了,有几个文件,在这里有个叫LOGANJS文件。

找到了名字也刚好对应上,我们来观察一下啊,第一个是生命变量,来看下这里啊,但是这里注释了注释就不看了啊,看下面这个啊,它也注释了啊,这个也注释好,这里没有注释,看下啊,那是和那个AGXU一样啊。

你看取这个值,然后这个叫什么k down,k down是干嘛,英文解释下来干嘛,按下键盘按下的操作,然后你看啊这里有个判断好判断判断判断好,啥都没有看到,就是一个这个,这个还是把他这看上去。

我把它单独放一列吧,哎算了算了,就这样看吧,那那这个按下去之后呢,没有了,下面代码没有了,继续往下面看一下啊,大家看一下这里啊有非常关键的东西出来了,大家看到没了,我找这个地方呢。

login date uslemon等于login data mono等于等于什么呀,等于在这是我刚才收到值吗,E n k qu,然后这个东西,然后这里有个叫东西,然后你给他一下啊,打开B。

这应该就是它加密中心嘛,从这个字面上面可以看到呢,ENCLYPT看到没,那这个东西是什么情况呢,我能不能做操作呢,我要以一个什么操作来做它呢。

好大家先想一下下一个问题啊,如果现在啊,我们要测试像这种说测试这个猪猪一样哈,好注入的payload是怎么写的啊,现在想想啊,注入的payload,比如说注入PO是这样写的,安的一啊,等于一呀是吧。

测试下看有没有这种问题啊,像我这样写好,我这样写之后呢,比如说我在这里输密码,这里输这个东西,对方接收过去是一个什么东西啊,是一个谜密文呢,是不是一个这个mu的密文呐,这是铭文,一问就不知道了是吧。

就是叉叉一大堆了,如果你不知道加密算法,你发送铭文吗,发送铭文有魈吗,没有消,为什么没有消,大家先想一下,为什么没有消啊,因为对方可能会,解谜,但是你罚的是铭文,对方解密是啥东西啊,啥都不是了。

你发过去的东西,那个佩洛德就已经丧失了,他的这个作用就很简单,对密要就像就像我们说的一样,你和别人去沟通,你在说中文,别人要用翻译翻译软件把它翻译成英文,别人才听得懂,它是以英文来传输。

你就需要把你的中文先变成英文,再告诉他和这个道理不是一样的道理吗,他的数据接收的是明文数据,你给他发个啊发啊,密文数据,你给他发个明文,他知道这是啥东西吗,他不知道啊,不知道你这个payload。

这种测试语句放进去有没有用,那没有用,所以你就必须要按照他的加密算法去发送,否则的话发给发过去,他人都不认识,还怎么去测试有没有安全问题呢,所以说这就是我们为什么要搞清楚,它的加密算法的原因。

就是首先你连测试的资格你先要拿到才能测试,不然的话你连测试的资格都没有,你测试个毛啊,为什么说这类网站它为什么安全,它为什么大型他为什么要加密,就是因为,这东西技术啊不一样啊。

你像常见的就明文明文传输了嘛,他就迷问,这就是他不一样的地方,它为什么它安全呢,他为什么又是大人呢,对不对,所以啊这个解释大家能不能明白,明白之后,我们现在呢就开始教大家怎么把理想出来啊。

先问一下大家能不明白啊,因为你如果说不明白这一点的话,我们讲的是没有意义的,你不知道我在搞搞什么飞机啊,好大家明白之后,那搞它就有意义了,就知道我为什么要做这个事情了啊。

看着啊刚才找到这里了啊,然后你看啊调试我可以怎么样,我我就按照刚才我那个想法一样呢,呃你不是等于这个我不还还有个密码吗,你等下啊,我把密码找到呃,这里打密码,这里密文啊,找密文。

这里密码是这个n password,我搜一下n password搜啊,这里有个加密密文档是吧,就是用这个值嘛,他用这个东西来接收,对不对,你看着啊,这里有这个这个值啊,加密密码对不对。

login data来,我试着尝试一下,我控制台里面去,他不是接受这个值吗,就是number,那他取这个值吗,那是不是个变量等于这个值嘛,所以这个变量呢就是等于这个值,我试着去尝试这样子啊,你看看啊。

我控制台这里呢去输这个值,我复制个变量看一下啊,复制个变量名字好,我先这样直接敲看看能不能行,直接报错,为什么它提示e NC l y p t is low defined,啥情况没有定义。

为什么没有定义呢,它这个调试呢是建立在你当前的环境,可能他这里面有引用过一些其他的JS,但是他没有架出来,就是说你在你浏览器,但不像他这个本啊,他那个服务器上面能够运行这个函数。

他可能隐藏到任何一个地方,你必须要把那个文件找到才行,那这个时候该怎么办,就直接端点调试才可以调用它,否则的话你这里必须要找这个函数的除处,它才能调用它,因为这是自定义的函数,我要找到它的出处,看着啊。

该如何找,把这个地方端掉,来点击这个红点点啊,红点点浏览器不同,有的不是红点点,有的是其他的啊,点的红点点点上来到这边啊,看着啊,火输123456,随便输啊,随便输,呃刚才输的是什么东西啊。

刚才忘记输什么东西了吧。

我等下记录下,我先记录一下啊,我先输个,这个这个密码是小黎的啊。

先输个密码,小迪的,我看一下啊,密码输小迪的,看他这个结果登录啧,先把断掉啊,先把它关掉,这里上面有个按钮,你看这里有个F8和这个跳转F8,就是把放出去好,然后呢,我抓一下刚才的网络包。

哎呀算了算了算了,我懒得去看那个东西,我说想给大家对比一下啊,我直接端吧,端端端啊,断了之后我再再再再给再给他讲那个吧,来点下端的啊,先端点上端了啊,好重新来啊,看一下啊,苏小迪点击提交好,端下来了啊。

你看这里的页面就停了,页面停了啊,然后这边是调试,就是跟踪这个代码的执行流程,这里我们不用管它啊,现在还没有学到这个高级的知识,这高级知识后面再讲,我们先看这里啊,你看呢这是我输的,他接收到的值啊。

你看现在等于小迪看到没,他已经写进去了,但是当他一发送出去啊,那这个值就变了啊,一直这一放进去,你看啊运行好,这里没有了啊,因为刚才断了,你除非刚才在端的时候呢,就把它显示出来,好重新再断一下。

点起去啊,好像是等这个啊,点这个呢就是往下调,这个就是巴放出去了,往下调,那这个东西呢就一直在改变,这个地方呢一直会改变啊,你看一下的,啊他一直在改变啊,来你看上面数据呢就已发生改变了。

这个地方都已经改了,改了一些东西了,有些东西就出现了,但是不要紧啊,现在只要这个操作来了,我就可以调用它了啊,现在你再看啊,呐看到没取出我的值了,等于M开头的,然后我再把这个值变成我要攻击的语句。

不就行了吗,这就是我攻击语句,我输入按的一人一,这是我加密算法,对不对,这就是我加密算法,所以我如果要让他攻击,挨到一人移的话,我怎么样就传递这个值给他,对不对,同样道理,这是调这个值的。

你还可以调其他字的,你看这刚才跑哪去了,那个地方,那这个值呢调这个值也可以啦,不过他加密都是用一个算法的,你可以看到啊,你画上去之后呢,还有这个还有这个值的结果啊,端下来之后呢,还是结果,是吧。

你可以下去多试一下啊,很多这个东西呢都可以去尝试它啊,你不端下来这里就不行了啊,因为他端了之后,那就是相当于说你整个过程里面有调用,这个地方的话,他才能调用,否则的话你这样写他不知道的呢,你必须要端啊。

找到个地方端好,然后呢就可以直接利用他这个东西呢来输出了,对不对,这样子那就对了嘛哈,这个是密文的一个情况是吧,如果他由于他这里的,是由于他这里都是用一种加密方式,这个密码呢也是这个东西。

username呢也是这个加密,所以说没什么不一样啊,是吧,你看现在执行的时候呢,UC已经出来了,UC等于这个字,然后你意思这里呢有调试啊,这个大量的调试呢你也关注一下。

我们这里,那就不多说了哈,这个这是一个最简单的调试啊,那像后面有更复杂的,就是他的这个就像我们现在这个比较简单,就是一个JS文件直接找到,那在一段就能把它挑出来,就能用他那个享有它那个加密算法。

那个函数来去加密我们想要的东西,来形成那个数据。

对不对,同样道理啊,他既然有这个加密的话,可能还会有解密,如果说你能够找到解密的话,还可以解密数据,你想一想啊,他是这样写的,那你可以猜测一下,如果说有解密的话,那这里是不是D1呢,对不对。

可以搜索一下啊,看这里有没有泄露解密的算法,在JS中,那他是这个加密是加密,是这个嘛,那么解密的话应该是第一开头的这种名字是吧,那果然这有没有呢,感觉应该是没有的啊,啊那这里有个解密JSN的。

这不是的了啊,那这里还是没有啊,如果有解密函数的话,你可以实时的对这个数据进行解密。

但是这个要看他自己有没有写入了JS,那个加密呢,我们找到了之后呢,就可以实时的对这个数据是吧,已经加密了,否则的话你该怎么测他猪点呢,测个毛啊,你难道把这个按的一等一像这样写吗是吧,斜S在这里点一次。

对不对,比如说这里有个爆破也一样道理啊。

很多应用加字啊,我刚才只是说随便举了一个意思啊,因为呢你要把它进行加密之后呢,以这个密文去发送这个注入配load,它才有效有效的这个结果就是什么,以同样的这个加密呢去发送这个halo的,对不对。

他才有效,那没有消的话,因为对方呢啊要解密这个数据,然后有效呢,就必须按照这个模式来进行发送配漏的,所以呢你要知道那个PO的调用,如果你不知道的话。

你怎么加密你的数据去测试有没有安全问题呢。

加密不了啊,是不是,所以说啊这东西呢就这么个意思啊,这是我们初期讲的一个最基本的,JS的逆向技术啊,我们在JS安全课程里面,在web的那个章节,就在下一个章节讲的web安全,PP安全,JS安全。

java安全和这个点net安全,还有一些冷门语言的安全是吧,各种语言常出现的安全问题,其中在JS的安全中啊,这个JS的逆向和反调啊,调试技术呢就是我们的终点,因为他的代码呢都比较简单易懂。

主要是怎么去调。

好今天就上这么多了啊,知识点已经讲完了啊。

说实话啊,我讲的人有点有人这个没休息好。

这个人有有点晕啊,有点晕啊,就有时候思路呢有点跟不上啊,就我都不知道我在讲什么东西,有时候所以说听的不是很清楚的啊。

这个尽量啊多看一下录像,有问题的话。

现在问一下啊。

你可以下去之后呢。

可以去尝试一下,对不对,很多种这种呃一些网站登录是吧。

找到他那个加密,很多大网都有这种情况,对不对,为什么学开发,你把开发学了那个代码才看得明白,才知道个一哦,你开发不学你那个调试条目,你代码都看不懂,你哪知道他是什么逻辑呢,为什么任性的时候才有那个函数。

你说为什么呢,因为那个浏览器那个调试的那个品控制端,那你如果不把它进行端点的话,没有把它执行的话,你直接在里面写,他是不知道从哪里找的,太难道把所有东西都给你找一遍,在上面写吗,不是的啊。

因为你断电之后呢,就相当于那个过程来了一遍,他本来那个加密的那个操作呢,就是在走那个过程,所以在走那个过程中,那个函数就被调用过了,调用过之后你再用它浏览器就知道了,就相当于说你断点之后呢。

你就用了一遍,你可能说之前我也用了一遍啦,但你用完了之后呢,他就没有了啊,你再在上面写他就不一样,断点之后呢,就像这个过程才封装在那个浏览器,那个内存里面一个意思,加密是不是只能手动一个搞出来。

然后加密密文,不是的啊,可以批量的,但是批量的前提是,你把它整个代码都给录下来了,就说你追踪到那个他那个函数应用到哪里去了,然后把那个函数的定义全部把它拉下来,放到本地就可以用了。

因为他也是用JS封装的那个函数,你只要找到个原始除除了,那你就可以同样道理,那你也可以在我刚才这个控制端这里是吧,可以写个批量的,就说你用JS语句这里,因为这里就相当于是个JS的。

这个这个这个这个编译环境,就JS语呢就在这里给敲的门啊,对不对,这就是个JS的一个环境,你用JS写个批量量也行啊,在这里对不对,都可以啊,所以说只能啊不是只能啊可以批量的,怎么结合工具。

结合工具就难结合呀,你按照我们这手工用工具操作啊,你可说工具怎么断点呢,对不对,工具端不了点,你找到那个函数的处处那里啊,我那个调试没有一步步的进行,一步步进行的话,就能找到那个函数的出处。

就是说从零到有那个端点,就是说我只是端的,然后它封装那一层中,然后我调试它完了,我没有说把那个断点之后啊,下一步下一步啊,它就实际上一个执行流程嘛,就那函数的调用流程,整个链出来了。

你把那个调试完了之后呢,整个链里面你就能知道那个函数,它在哪个里面去了,他在哪里了,所以你就可以把那个代码呢,直接原封不动的本地复现出来,你是怎么找到诱导人有漏洞,哪个有导人呢,你说那个翻译啊。

那不是靠拿个东西,哎呀你自己我要讲这个demo的操作嘛,那只有那些东西能符合呀,对不对,其他的网站它没有啊是吧,小点的呢又没什么意义是吧,那也不算很大漏洞,只是说是一个简单的漏洞。

因为那个漏洞的危害不大,包括现在我们讲的这都是不大的,这只是一种是吧,这种安全里面必须的,必需要的一些这种基本的东西,什么东西调用不了啊,调用的了啊,刚才调用了呀,啊这也是一样的道理嘛。

这是就找到了这个加密的整个逻辑,你看这个就找到了,你看包括这个加密的K啊,对不对啊,这个呢整个逻辑都在在这里找到了吗,怎么断点呢,这个断点不会断的,你就找到这个地方,搜到个代码那里断点。

你找这个代码再来选中,那就可以了,这行断点就断点了呢,这不是的嘛呢,就点这个前面就可以了呀,不是的,找到个你要断点的代码段,你自己点就可以了,断了呀,好今天就说这么多啊,你们问的问题越来越离谱了。

还能不能用一人一机偷,你觉得呢啊。

好今天就说这么多了啊,大家看一下,还没问题,有问题问没问题就下啦。

P3:第3天.Web架构&OSS存储&负载均衡&CDN加速&反向代理&WAF防护 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

好我看看今天的内容啊,今天呢是讲这个第三天,讲这个web的一个架构占了五种啊,哪五种呢,就是这个,WAFOSS存储反向代理,正向代理,负载均衡这五个啊,这五个呢其实就是在网站的架构中。

可能会出现这五种情况,我们具体的看一下这五种情况出现之后,对于我们这个安全措施会有哪些的一些影响,包括后期在做安全测试的一些这个不同之处啊,我们来看一下啊,首先呢我们来看一下这个第一种。

就是我们说的这个WAF,这个WAF呢它的一个全称叫做web,然后是什么样,Application file one,网站应用防火墙称之为WF,他的这个东西呢,就是只在提供我们的这个防护和保护。

它的一个影响呢,其实从他的这个产品的一个出身来去看的话,就是一个什么防止这个挖不攻击的一个产品,后期呢我们会接触到一些啊,我们主要是演示一下,它的一个简单的防护就可以了,大家认识一下。

包括这个WAF里面有分类,有很多种类的一些阴间,那我们看一下这个图片啊,目前的这个挖坟呢主要集中在四方向,硬件型的软件型的人WAF,还有网站内置WAF呃,一般主要是前面三个比较常见。

公司产品呢大部分以硬件为主,商业产品,个人使用的呢以软件为主,还有像我们这个人物法呢,就是类似像我们的一些厂商,二零厂商,还有像这个腾讯厂商呢,他们也有提供相关的WAF产品,对不对。

简单来说我们主要了解一下分类,后面我会详细再说这个事情的啊,先了解它,主要了解他对我们这个网站做安全测试之后的,一个大概影响,然后呢,我们这边给大家演示一下这里的演示环境。

windows20121个S配上一个低端的WAF,然后呢这一定是一个免费的防护软件,所以我们直接可以用啊,目前在网上的免费的不是很多了啊,大部分都是收费的,然后企业里面也用的是一些安全公司的。

一些商业产品。

我们来看一下啊,这是我们已经把这个环境呢给大家安装好了。

就是买了个服务器,然后在这里搭建了一个2S是吧,首先这里呢我们来先看一下啊,这个有个这个防护,这里啊我现在这里呢把他的防护呢给他关闭掉,移除地段的一个保护啊,就是先把他这个防护呢给它关掉啊,关掉之后呢。

嗯我们先来关注一下啊,这个网站下面呢有一个疑点,SP这个是一个网站的后门啊,我们可以看一下,这个是网的后门啊,我们现在去访问一下这个网址看一下,先就是说没有WAF的情况下面对比一个情况。

IP地址多少来着,17。1。

大家可以看一下啊,这个是在网站,然后呢一点SB,那是我们的后门。

我现在访问这个后门呢可以看到啊,它是能够访问到的,也没有任何一个异常。

这个时候呢,我们采用我们之前的这个后面连接工具呢。

去连接,尝试一下是否能够连接正常哈。

傻SSIS是中间间啊,后面会说的信息设计会讲的啊,现在简单的看一下就可以,我们连接一下,可以连接成功,点击添加,可以连接上去,可以看到呢是能够正常通讯的好,这是目前没有WAP的情况下。

当我们把这个软件的一个防护开启之后,看一下啊,点击这个安装低能防护,点击确定,好这里呢他正在安装过程中,我们稍等一下好,他说防灯防护已经安装成功。

现在有防护了啊,来我们这里呢再来去尝试访问一下这个文件,这里提示禁止脚本的访问,如有疑问请回关联联系,第一个难题提示,后面这里呢再次连接进入提示初始化失败,连不上了。

这就是一个典型的WAF在有和没有的一个防护,也就是说这个WAF的一个东西呢,就是我们可以在网站上面去部署的一个,安全防护产品,就类似于我们电脑的杀毒软件一样,安装好之后呢,针对网站的一个保护呢就开启。

然后具体有哪些保护。

你可以根据WAF的产品决定,比如说它这里呢是有很多防护的,那这里呢你可以通过它的界面可以看到啊,有很多外国产品,那这里呢我们就不一个一个一个看的啊,大家知道就可以,就是常规的一些web的攻击手段呢。

他都大部分都是有蓝键,所以呢这个呢就很简单啊,其实就是说常规的web的一些攻击手法,包括后门都会受到拦截,那么其实呢它是一种防护产品,所以啊大家在以后碰上一些网站的时候呢,是有可能的。

碰到这个网站呢是有类似这种WAF产品的,那么一旦有这个WAF产品呢,可能某些攻击之后,某些这个攻击手法或者手段就会受到这个拦截,所以在这个课程的一个介绍中呢,我们这个网上都会有一些专题的技术。

讲的就是关于这个WAF绕过,但是说实话啊,这个waf logo呢,其实本身也是一种钻空子的一种说法,什么叫钻空子呢,就是不一定能够保证绕过,而且大部分都绕过不了,它能绕过的都是一小部分。

而且也要看是什么产品的waffle,就说分产品是吧,有不敢说的话,有很多种类的WAF是吧,有一些WAF好绕,有些他不好招,这个也要看人气的,而且很简单的道理啊,他这个产品本身就是防护攻击的,你说绕过。

那它还存在有什么意义呢,如果说那么简单就能绕过,你说绕过就绕过,那这个产品还有什么价值啊,那不是等同于没有他吗,那还设计它干嘛呢,所以说呢你从正面上去理解的话。

其实这个logo呢也针对的就是一些防护能力较差,或者说这个外部产品比较垃圾的一些情况,可以,而且他的招股呢,你就说的有网上一些什么商业产品是吧,比如说安恒的呀,绿盟的呀。

各种各样公司里面都会有这种类似产品,那这产品呢你可能碰得到,打什么这个网的时候啊,打这个真实对抗的时候啊是吧,能够碰到能不能绕呢,其实我告诉你啊,基本上都绕不了,能招的都是些很很就是很没有啊。

就是一些怎么说呢,没有什么作用的一些绕过,但是那些没有做到过的,对于你来讲,和你去取得这个网站权限,那没有关系,所以你绕用那个东西绕过呢,和你想到过的东西呢,它不一样,没有任何意义。

好这个呢就是我们说的WAF,他的一个测试呢也比较简单,就是你自己的随便搭建个网站,然后下载一个web产品,把它安装好就完了啊,这前期呢我们i is的安装呢大家都会。

所以直接准备一台服务器的安装i is就可以了,上节课我们也演示了怎么买服务器啊,怎么装LS演示过,所以这个就没有给大家去演示了啊,这个web产品直接安装就完了,这个图形画的这不用教吧是吧。

下载这个工具把它安装一下。

然后把这个开关一开就行了,好这个是我们说的第一个挖土的一个情况,就是说网站部署这个东西之后呢,对于你呢后面做安全测试的一些攻击手法呢,都是会有拦截的啊,好再来说这个CDN,那么CDN呢它的名字叫CDN。

家属主要是用来加速的,它的原理呢叫做内容分发系统,内容分发服务,它的一个存在意义呢,是只在提高网站的访问速度啊,这个呢给大家讲一下啊,呃CPU是什么东西啊,它的全称叫做内容分发服务。

简单来说呢就很简单一个道理,比如说我的网站呢,我部署到我的这个自己的所在的这个地区,就比如说我现在在湖北是吧,我把它部署到湖北的某个地方,然后呢,湖北的这边的人呢去访问我的这个网站的话。

肯定速度就会很快,因为都在同一个地区对吧,这个网络上也有地区的一个划分的是吧,就是网络和这个网络这个距离呢啊,取决于这个网速对吧,那么如果说现在呢有一个这个在其他国家的,在美国的。

那我呢想尝试放我的网站,由于我的网站的部署到我们中国境内的,湖北是吧,那么他访问的话相对就会慢,因为它是从美国那边的一个通讯过来的是吧,那么现在呢CDN的出现之后呢,就是解决这个问题的。

那么它的解决的就是怎么解决呢,就是开放这个CDN服务之后呢,他会在你选择的区域,就比如说你选择全中国还是在全世界,还是选择部分地区,然后如果你选择传球的话,那么就是说他会在全球分布各种各样的节点。

那用来提高访问速度,很简单,我如果我开通了个CDN,那么我的真实地方呢是在湖北,如果是北京用户访问,他就会结晶在北京附近的一个地区,或者说在附近的一个周边地区呢来有个节点,然后给他提供服务。

那样子呢就能保证用户的访问速度,就很简单,像百度这种大网站是吧,他们就有这种东西,那么那你在国外去访百度和你现在在国内访问,而且你在湖北访问,或者在湖南访问,在北京访问,上海访问,各个地方去访问。

他的书中都相差没有太多,就是因为他有这个节点技术,他会纠结的找一个节点呢为你提供服务,那么具体的实时图呢,大家可以看一下这张图片,就是说真实网站呢它是在这里,在这个网站,在这个服务器上面。

然后呢用户呢去访问,比如说移动用户哎,他就给个移动的C0节点给他,那么其实就是说啊,就是这个离他最近的速度最快的一个东西呢,给他提供就不会有这个速度的一个限制是吧,就这个意思。

但是由于他这个东西呢是提供家属给了方便,提高了速度,但是啊他也给我们带来一些干扰,哪些干扰呢,就是他把他的真实的这个IP地址呢隐藏掉了,啥意思呢,就说以前我没有开CDN的时候,我去拼一个网站。

或者说我去找这个网站,他就会找找到他的真实站点,但是你开了CD服务,它会以节点来为他服务,所以他看到的就是那个节点,他看到那个节点的话,其实就是一个非真实目标,就是网站压根就和那个节点没有关系。

他只是一个提供服务的地方,对不对,那么这个呢我给他口述,大家都能理解,但是呢没有看到效果,所以我今天得理呢,昨天早晨你们要了一个备案域名给大家看一下,开了这个CDN和没有开CDN的一个区别啊。

大家可以看一下,然后从这个区别上面呢再来对比一下,如果我针对这种开了CDN的,这种web应用做安全测试的话,它会有哪些区别,那我们来做个实验。

现在呢我们就准备好一个这个备案域名啊。

这个备案域名呢,呃可能大家要需要自己购买域名之后呢,通过这个上面有个叫域名的备案的一个,操作设置来实现备案的啊,这个域名是已经提前好,已经备案了,它上面那个体验备案备案备案好之后呢。

就可以解析到国内的任何服务器了啊,没有备案的话,就只能解析境外的,就像香港其他国家的啊,好这里呢已经准备好之后啊,大家可以看一下啊,我们把这个备案的一个操作呢呃就不演示了啊。

这个备案呢这里有个叫SMP备案,就按照他那个流程来啊,提交你的个人信息,个人备案还是企业备案,提交你个人的一些身份信息呢,啊等待半个月或者一个月的时间就下来了,然后这里呢我们来看一下这个备案好之后啊。

我们这里呢如何开通CDN,所以呢我在这里搜索这个CDN的这个家属,这个地方啊,然后在这里再点击这个域名管理,添加域名,这里头有一个叫业务类型,叫图片小文件,大文件下载什么鬼,音频点播,还有个全程加速。

这个是什么意思呢,这个业务类型,就是取决于你要加速的是什么东西,我们一般会选择全占全占,就是说所有的官网在上面,所有的如果你学这个图片的话,那就是说网站上面的图片呢会加速,其他的就不会受影响。

但是我们学的船长的话就是所有点,所以之后呢,它会提示你要开通全站加速的控制台,我就直接确定我们使用全站加速啊,点击应用管理,然后这个是我昨天已经配置好的,我现在呢就把它进行一个删除,我把它进行删除啊。

这里的房子我们重新再给它添加一下啊,而且这里面会有一定的这个时间的一个呃,这个差异就会有个时间的差异啊,因为他删除之后呢,他这个生肖呢和取代了都需要一点时间,现在已经删除了,我们现在给他确定一下啊。

确定一下他的一个域名的解析情况,先确定他已经删除了,我们先拼一下,玉米是JORO8点com,现在拼不通,再拼个3W点,你看3W呢,现在是拼不通的,因为我3W这个域名压根就没有设置啊。

你看他解析这里的设置是一个叫百度,这个是我另外网站不管它,那应该这里呢我如果3W点,我这里写3W点是吧,在解析这个IP这里设置之后呢,它才能拼通,但这个由于没有设置,它现在是找不到的对吧。

因为他没有配置解析IP,所以你拼这个域名都找不到好,我现在呢现在那就做个什么事情,大家看着啊,我现在做个什么事情,我在这里呢就设置一下传承家族,点击添加域名,然后这里写上单个域名,就写上3W点。

ZORO8点com,选择仅中国内地全球,然后全球不含中国内地,这啥意思呢,就是说你要提供的是哪些用户群体,是针对中国内地的用户群体,还是全球的用户群体是吧,你说如果说你的访问方是在这个国内内地的话。

那么他就开始选择加速,那么如果说选择传球的话来说,所有的发动者都会受到这个加速服务,我们家就选择国内的啊,好学生完之后呢,点击新增原站,原站是啥意思呢,就是说这个域名的真实对应的地址,是指向在哪里啊。

就是他真实的这个服务器地址指向哪里,我这就绑定一个,这个17。72125的一个IP地址,然后呢这里呢是我们那个,好这就是我们那个控制面板啊,这我包它上面搞了一个网站,大家看一下这个网站呢。

这我刚创建的二呢,大家看一下啊,这我们的那个解析记录啊,啊这里的绑定网站,为了这个真实有效的话哈,我这里呢把它删除一下,重新再给他配置,避免有些人又说不懂不懂,哎我真是难为他了啊,我把这两段删掉。

重新给它添加,这个是百度的啊,这个这个是另外一个域名字,不管它啊,这个域名我添加的是那个三导点的,3W点的八点com对吧,然后这里点确定,嗯好添加好之后,我这个呢绑定的是3W点9R8。35,对不对。

然后我的IP地址这里对不对啊,现在还是听不通的,因为DNS那边没有做任何设置啊,好那么也就是说正常的我这里做个小记录。

怕有些人等下搞着搞着就不知道我在干嘛了啊。

现在做了什么事情呀,我们来记录一下啊,我首先在这里,那就配置了这个宝塔的一个这个域名绑定,就绑定了什么呢,就绑定这个IP地址和域名,对应上了3W点COR5800,然后这里要说一下前提的啊。

做这个CDN的一个家族啊,准备好这个备案域名才能做到啊,没有这个备案运营不用做啊,国内的CD跟厂商一般都要备案,不备案不支持好,那么这里呢绑定好之后,那么现在呢第二步我们就开启下这里。

他绑定好了,但是我们现在访问这个IP地址呢,它是解析不到的,因为没有做DX那个绑定解析,只是在上面做了个绑定,然后我先写个假IP地址,写了IP,把你窗口好点击确定好,然后点下一步就可以了啊。

这就开要开通这个CD了,这是开通,然后他说加速移民配天成功返回页面列表,然后这边有个叫等待配置和一个这个状态,这里呢需要等待三到5分钟时间,它就会生效,目前呢这边还是没有正常通讯的啊。

因为他在这个DN这边呢是没有这个记录的,3W点这个主机进度呢现在是没有的,大家可以看一下啊,只有这个是我之前的另外一个up,不管它他这个礼包是没有的,你看上周的记录是没有的,所以他这里解决不了。

原因是这里一直解析不到啊,好这里呢需要等待这边的一个配置配置结束啊,这还要等待一下,等待什么呢,就等待这个状态为增长之后,接下来我再配个CNM的记录,就能使它生效了,我们就等待,在需要等待35分钟啊。

你这里可以点击问号啊,可以看一下,这边有个查询,目前还是不正常,还没有生效,等待这个啊,这个状态正常之后呢,就可以就差不多了,他这个时间呢你可以看一下,他的生效时间大概是五到10分钟,还在配置中。

你说这个配置呢,今天还有个人问我,说那个人服务器开了那个计时之后啊,怎么让它不使用之后,怎么让它这个不收费,我说把他释放掉,释放掉,他问下次怎么连四都释放了,还怎么连呢,好慢哦,这个有点慢啊。

哎呀等一下咯,这没办法的啊,这个你要说演示全过程,那我只能等呀,我之前都配都配好了。

好我们另外再来看一下这个表里啊。

这还没有还没正常,我还是说在这里啊。

这个第二步呢就是我们说的这个配置,这个CDN的加速选项啊,配置好啊,配置好,那就是这个添加这个D1个CM记录,那我在这里等待即可,大概是在过程啊。

还在配置。

好现在选的是正常人性看到没状态为正常运行。

但这里有个叫SAM状态的,还不是正常的,为什么,因为这个呢需要配置如何配置呢,点开这里有个配置相导,他会教你在DNS这里的修改域名为3W。

然后主机记录为这个词怎么配置呢,就来到这个域名的DNS这里,点击添加记录,选择C内记录,然后主机记录就是刚才的3W点,因为你解析的就是3W点进行加速是吧,直接去这个3W主机都指向这个域名。

就刚才的点击确定配置一下好。

配置好之后呢,CM记录记录好了啊,来到这边,我们来刷新一下。

看一下是不是已经生效了,这边是不是已经亮了,诶,好已经生效,完成刷新,你这他妈的这么的显示生效了,还没有生效,好这里呢我们来刷新一下好,已配置成功了,那么现在呢我们来看一下IP地址啊。

我这边呢我这边还没有呢,你们可以看一下,我这边呢我这个地区的还没有有这个解析图。

你们有些人都已经有解析度了,来这是比拼的。

就是有些地区已经生效了,我这边还没生效,你看我这边还没生效啊,什么翻车,我翻个锤子,只是你们的DNS解析时间不同而已。

你们不要你妹的,一开始大惊小怪,翻车了,翻车了。

地区的这个时间不一样而已。

来看一下那个,拼一下3W点CORO8点com,我这边还没有生效啊。

哎我这个地区农村啊,农村就是跟不上城市网络,城市网络就快,然后呢大家如果说没有,剩下的话,你可以用这个网上的这种平台,超级批量来对它进行一个多地区的检测。

来看一下这个多丽屏呢,就是各个地区对他访问了一个平请求,得到IP可以看到在广东佛山这里的解析,它的IP为这个IP解析的是广东东莞的,福建福州的解析都为福建泉州的,它其实呢就是很简单。

就我刚才说的究竟规则,你是广东佛山呢,他就找个和你相近的城市的一个节点给你服务,那是不是福建传说呢,就福建福州那叫传宗是吧,那就这种类似的,你可以看到这里出现多个IP是啥意思呢,这个超级拼呢。

就是利用全国的一些公用服务器来帮你去解析,你的目标地址的一个IP地址,你们可以看一下,那么其实就是说现在这个IP地址呢,已经介入了CNN服务,那么结束之后其实就是我刚才看的。

你看我现在已经生效了,我这里解析的是这个116的,然后里面有些人解析是什么,你看这个是幺幺的。

都不一样是吧,都不一样啊,这个结果大家已经看到了,它其实就是一个究极规则,比如说像我现在我也就是拿个IP地址,我解释器是一个叫湖北武汉的,你看它就会离我最近的一个节点给我服务。

你们的IP就可能是你们那个省份的一个地方,对吧,或者说一个周边省份,那么这里呢大家可以看到这个效果了啊,每个地方的IP地址不一样好,那么这个结果呢我相信大家都知道了好,你可以看一下。

我们现在访问这个3W点这个网站,打开界面看一下啊,他打开节点就是这样子的,对不对,然后呢我为了确保是我这台17。122。2,2。195,这个网站呢在支撑这个网站的服务。

我可以把它怎么样在他的网站目录下面呢,去创建一个文件来试一下,看一下是不是他决定的,比如说我写个一点TT对吧,然后我让我去访问一下零点TXT,你看空白,然后呢,我在3D节点T里面去写上一个内容保存。

然后刷新一下页面。

你看的确是我们这个IP地址在控制这个网站,而你们现在看到的是这个IP在给提供服务。

所以如果说你现在针对这个域名。

进行信息收集的话,我们都知道域名会必有个绑定IP,那么你对这个IP地址进行设计的话,不就是错误了吗。

因为他真实的IP在哪里呀,是不是在我的IP上不去。

而你访问的是一个就像刚才大家看到的,根据你那个地区决定的IP。

那么你就是测试错了,第一方如果你要对这个IP地址进行端口扫描,你扫错了,它的网站就不在那个上面,它只是一个节点,所以这就是CDN节点,对我们这个后续的安全测试的一个影响。

所以为什么他后面课程有一个课程去讲,关于这个CDN去绕过去,如何寻找到真实IP的这么一个,张杰去讲这个知识点,其实呢就是需要你找到真实的原IP,那么是吧,针对这个mp的这个信息收集。

才是对这个网站的信息收集,否则的话那全部都是节点节点,那就是虚拟的,不是真实的,不和和他没关系,他只是提供一个加速服务,啥都不干,能理解了吧,那么我想问一下,刚才我演示这个CDN的这个服务。

对网站的一个测试安全事务的影响,大家是不是能够接受呢对吧,能够听懂就知道听懂,听不懂是吧,刚才用的什么文档,说什么这个绕过呀,怎么找这个币,这不是我们现在担心的事情啊,这不是我们现在担心的事情。

我们后面会有单独的这个课程去讲这个事情啊,会讲这个东西,我们只是先要了解它的架构,会对你有哪些影响就可以了啊,其他的不用管,后面他会单独说,包括现在为什么要认识到什么CDN,那什么这个这个什么WAF。

这都是后面有些课程要设计的,就是说因为有了这些东西干扰到我们的,我们该如何去绕过它来做一些事情,这是后面课程的,你不先把这个讲清楚,你都不知道这是什么东西,为什么要去学习它,后面听着也没意义啊。

好再来说这个OSSOS是什么东西呢,OS我们称之为叫对象存储应用,他是干嘛的呢,为什么有这个东西出现了,他的这个名字叫做内容分发服务。

哎这写错了啊,妈的谁给写到这个地方去了。

不好意思啊,贝壳被失误了,呃这里,那你就用网上的这个对象,存储服务的一个解释啊,是一种可靠的,这个人存储户也是提供这个存储的啊,存储能否只是提高这个也是提高访问速度的啊,这写没毛病,放速度肯定也是有的。

它主要是提供人存储的,人存储是啥意思呢,就是存储数据的啊,它存储数据的,然后他有什么影响,那这里也搞错了啊,好我们等搞完之后再来写这个影响啊,我们这里用一套源码来给大家做测试。

用一套源码给大家做测试,这样子呢,大家就能跟七夕了然的了解他的一个情况。

好这里换一套源码。

欢迎他这个欢迎的服务器呢,也是他好。

这里呢是我已经给大家去搭建,这个这个源码的一个地方,诶,这个源码上面怎么还是刚才的服务器。

好那这里呢我们先把这些东西怎么关闭一下,把这个网站给暂停一下,这个暂不暂停也无所谓,这个源码呢非常简单,直接用这个ES1,它就能这个运行起来,所以大家呢也不用说担心要搭建这种环境的,环境都不用搭建。

连S都不用安装,他这个源码呢直接运行这个ESE就可以了,然后它有多种客户端的,这是个比较高端的一个这个报名用啊,启动好之后呢,完了我好像把那个密码搞忘记了,启动好之后呢,他会开放一个这个512端口。

它会开放一个512端口呃,这里好像是我,我重新把解一下,重新给他配置一下吧,避免有些人就是不会啊,我重新把这个东西给它全部删掉,重新给大家用一点啊,另外一个,重新给大家重新配置一下。

运行起来运行起来之后呢,他会给一个账号密码,这个账号密码就是这个程序的管理员,账号密码随机产生的好,然后呢会开放一个5212端口,这个5L端口都可以通过这个配置文件的更改。

所以我们现在来访问下这个应用啊。

这是个网站应用,这网站应用是E1的。

非常简单啊,直接运行就可以用的,不用你搭建任何环境,他这个E就自带了,好,我们现在来访问一下这个IPD,17。122。22。108,然后512,这是他网站。

嗯怎么访问不了啊。

啥情况,是不是我那个i is的一个干扰问题,我把S关一下,看一下。

嗯稍等一下啊,我把重新打开一下。

好启动成功了啊。

大家可以看到了,启动成功了。

但是这个密码我又忘记了,又要重新开的尴尬,刚才我忘记那个密码了啊,不好意思了,重新再再再来一个啊,忘记那个密码了,第一次出现密码之后呢,我没把它记住了,这是密码了,好先开了啊,把密码的密码的记一下,诶。

诶你们不要访问的是谁在访问的。

好可以访问了是吧,然后这里呢我们可以试一下啊,呃我们先把它配置一下,老教大家啊,就说这个不是要你怎么去打这个源码,但是我要把它打出来之后,你才能看到效果。

知道吧,所以呢我我现在就这是谁呀,不要一直访问我,你妹的胡子个逼嘛,都不让我复制的诶,蛮好玩的,是不是,密码调的没有了,哎,哎呀这把人都要整死的呀。

好我们来登录一下啊。

哎我不知道这些人有什么意思,你这你这不打扰大家学习吗,这搞搞这些东西干嘛呀,哎呀你理解哎。

我真不想说啥哎,说两个鬼呀,说完他干嘛呀,随他去,真的是无语了,搞得,我把那个打开一下啊,我等下把它搞一下啊。

为了防止这个再搞破坏啊,我把那个防火墙那个东西把它开一下,是这个IP地址的吧,我多余搞些事情啊,安全组开一下啊,金子金子这个五,这个是全部端口嘛哈so我们添加一个,这个是端口,是全部不自定义五五端口。

我要登录,然后原IP地址呢我绑定我自己的。

我不想搞这事情呢,这不是浪费时间吗,这和那个课程不相干的东西。

没办法呀,我怕我等一下我这个稿子稿子的时候,他突然把优宝密码改了,那里面调子大了,点击保存,那就是说允许这个端口出入,然后这个目标的这个东西,那就直接把它删掉,先把这个删掉,先把它点击这个编辑一下啊。

点击不能连续剧啊,现在只能删掉吧,等下我又要把它填回来,烦得很,不要搞这种事情,哎呀。

好那现在可以了啊。

重新再返回一下。

好我们运行一下,啊这账号密码你看现在多清多清爽啊,没人访问了。

怎么我也打不开了,怎么回事啊,我为什么打不开了。

好我打开了打开了打开了啊啊,你登一下咋都进去了啊,内鬼你给我干了你妈的,好我们来看一下啊,比如说我现在呢他这个源码是干嘛的,这是一个网盘源码,就是说提供这个网盘的,然后你看一下,我如果说我上传个图片啊。

大家可以看一下,我上传个图片啊,我先不做任何配置,我上传个图片呢。

我把它拖上去,你看图片就上传了,然后上传图片呢。

按照我们常规数来讲,它会上传到哪里,他不是上传了这个来,你看是不是上传了这个来,你看来就我刚才上传的图片嘛,对不对。

他不是上传车来了吗,你就说这是个网盘程序,它是一个提供上传的,你比如说我再上传个文本,把拖进去诶。

他就上传到文本里面去了,你看我们这边就这样,有刚才我提交的,然后你看服务器这边那就多了个文本,是不是好,就说他是干干这个用的。

那么现在你看一下啊,我把这里配置一个东西,就我让这个源码的支持OS之后,看它有什么现象啊,点击这个。

快点管理面板。

然后这里有个什么存储策略,有个存储策略啊,然后怎么办呢,点击添加存储策略,选择你选择的这个OS厂商,你要用哪一个,我们这里呢用的是阿里云的啊,这个网上有很多厂商都支持OSSR,来我们学个阿里云的确定。

然后再给他选择这个叫什么boss里面,这这这这咋办呢,给他简单配置一下啊,打开我们这个地方,点击你这个对象OS,然后你随便创建一个名字,我这里创建个字叫贵妃,这点创建就完了啊,这没什么说的。

贵妃名字叫贵妃,贵妃相距好,这里呢就按照自己需要啊,无所谓,这个蛇玩一下,然后这里中间有个什么外网节点,你选择哪个呢,点进去啊,选择哪一个呢,点这个来,这里有个节点呢,就这个了。

选择这个外网访问这个地址,把它复制过去,你可以看那个提示的啊,他教你什么配置呢,在哪里哪个地方下去,后面那就不用了,然后这里有个叫阿里斯克,这个啥东西呢,就是一个K,这个K呢就是说有这个K之后。

就能访问这个质量,这里的他会教你呢在这个地方有,我就直接点到这个地方来,然后这里有个K是吧,我先把这个账号的复制到这里来,然后这个K呢我就把它,这可是我自己的2。0的一个访问的东西。

还要因为这个东西才行,我这边那个配置下,神九思,拍照之后复制,复制后点击启用。

这里不能显示了啊,再显示你们的被内鬼截到了,他赶紧要上我的这个OSS了,我顶不住的。

然后写进去点下一步,好然后这里呢有个上传路径保存,这里就不用管它,直接下一步下一步就完了啊,直接下一步下一步就完了,其他的基本按照默认配置就好了,然后再点让我配置好,配置好之后,接下来该怎么办啊。

大家看一下啊,他这里还有个配置,这个是教大家等下复习啊,这个不重要不重要啊,主要是我们了解他的一个差异就可以了,然后这里有个组是吧,比如说我现在是管理员登录的,管登录到这里有个叫什么存储策略。

我就选这个,刚才配置这个移移的是吧,用它存储的OSS点保存好。

那我现在关注一下,比如说现在我来到刚才那个网盘页面好,现在让我重新再上传一个图片,大家关注一下啊,我重新再上传个图片,我随便上传个什么东西,比如说这个内网课程拖进去好。

然后你看内外课程上升去了,按照常规来讲,他刚才是要上传到这里来,但这里没有了。

看到没,他这没有了,然后呢,你再翻一下我的OS字段,我找到我的OS资源,这里,你看贵妃这里打开有个upload,点开20123。02点开,R3点开,是出现了一个文本的,看时间20。53分。

大家有没有看到啊,那么这个呃什么意义呢,有什么含义呢,很清楚啊,上传到这边来了呀,他上传到这边来了呀,那你可能会问,那算什么呢,对网站测试有什么影响没有啊,那我重新再上传一个给他看一下啊。

比如说我上传个后门木马一样的,刚才不是有后门木马吗。

这里有个SB的后木马的吗,我来把那个后面木马找了来。

我不管他能不能上去好吧。

我就先试试去,我不知道这个支不支持格式上传啊。

就说我即使他支持好吧,我现在不知道能不能上上去啊。

先上去吧,好能够上去吧,应该上不上去啊,还不支持啊,这有点尴尬啊,啊我就是说啥意思呢。

就是说你这个文件后面即使上传上去了,他也上传到哪里去了,这个OS资源在哪了,那这会带来什么现象呢。

然后这里有个详细地址,这是他的访问地址,这是它完整访问地址,这是网上的地址,但是这个地址呢你访问你看。

你访问呢他会造成的损失什么现象呢,这个是昨天的这个时间点了,刚才为什么没有30公司,我配置有问题啊,我看我是刚才那个配置哪里写错了呀,还没上成功啊,至少14号啊,昨天那个配置在上传的文件。

我搞忘记了,我说这个文件怎么对应不上呢。

诶那个网站配置在这里,这个是挂圆吧,放在面板里面,1126乘除哪个地方搞错了吧,贵妃私有啊,花点没问题啊,我估计还是那个应该是那个什么问题啊,应该是那个刚才,我那个把那个拿个东西给他删除的问题。

导致的应该是那个就我刚才那个阿里云这里,这个感觉是这个东西的一个影响,我把它先开一下吧,他可能是有一些其他服务,要用到这个触网的一些东西,把它关的时候呢,他不能那个了啊,信息提交不到这个OS上面去了。

可能是万元,啊刷新一下。

不过你知道这个原因就可以了。

这个能不能成功呢,这个无所谓,你看到能够上传上去,那就哦这个有个什么文件命名存储的一个差异,好重新命名一下,一点点好,他已上传根目录好。

我们来看一下这边的贵妃OS,这边自然有没有啦,看先看这里有没有。

现在这个地方有没有啊。

没没有,上传这里来,那就应该是到哪里看这个地方。

小心24,看到没,上传到来了啊,来刚才那个10T呢是我写的内容,你看这有个地址。

你打开返回呢。

他就这个东西啥都啥都不是,后面地址发上去了,也啥都不是,这个OS呢,它就是专门来存储音频图像,央视视频点播资源,其实它就是一个资源存储,但是唯独啊你也可以存储脚本文件。

但是脚本文件存储程序啥用都没有放问题,那它不会解析,它就是不是一个解析的东西,就你是只是用来存储的,能理解吗,所以那个后门上传上去呢也没有任何卵用。

那么你想象下这个东西会给你的这个安全测试。

安全带来哪些影响,可想而知,我赶紧把我这个先把它禁用掉,防止有人用我这个东西呢进入我的资源,赶紧禁用掉,吓死我了,那么这里的影响是什么影响呢,那写到后面去了,由于你上传的文件也好。

或者说你这个东西文件是存储到OSI资源的,对象库里面的,他没办法解析它是单独存储的,他只是为了存储数据的,别人用它是干嘛的呢,就是把网站的图片资源,视频资源,比如说一些网校王骁。

他把视频都放在他自己网站上面去嘛,一个加载吗,他直接搞个单独的OS资源来给他提供,把视频加载放到上面去,网站的视频资源全部放到那个上面去,然后网站去放视频的时候,就走这个专线,速度就更快。

而且单独存储便于管理,这是它存在的意义,但是由于这个产品的出现,导致我们可能有些上传的文件,图片或者说资源等等,都会提交到这个OS资源上去,那就是说网站上传的文件跑到另外一个地方。

而不是你当前网站目录下面。

那么这样子大家觉得你上传的后门还有用吗,没有用了,所以这个东西呢就修复了商船安全问题,同时解析也解析不了了,你即使能上后门也没有用,解析不了,方问其难,就是等同于下载啥都没有,他不执行你的代码能理解吗。

更加安全了,直接堵住了上传漏洞,就这么简单,上传漏洞在这个东西的影响下就没有了,你上传任何文件,他都把你提交到哪个地方去了,那个地方呢只用于存储,你访问他和不访问他都是那个东西。

但是由于它的出现又带来一个安全隐患,什么安全隐患就是access隐患,啥意思啊,刚才我在配置那个新系统,大家都知道他配置一个叫ax s k,这个ax s k是什么东西呢。

其实就是阿里云的一个资源的访问的,密室和账号的一个意义,就是你有那个东西之后呢,你可以用那个东西在登录到管理到那个OS,这样也就是说你可以通过那个东西控制,当前这个阿里云账户的下面的开放的服务器。

或者是开放的任何应用,所以他有这个隐患了,有所以他有编辑了一些安全的一些啊,编辑了这个网站,但是呢他又带来一些新的这个安全问题,这个安全问题就是我们要说的人安全,人安全就是人产品上面安全。

这个呢就是属于产品中的安全,如果那个K被泄露,刚才我为什么说是吧,你得把它隐藏掉,而且我一眼四望我就把它关掉呢,就是如果大家有那个K,也是可以进入到我那个阿里云里面去的,所以为什么把它关掉了哈。

就这个原因,那么大家想象一下,我把这个东西一讲,我说我课程里面讲人安全,不是就一下就连接过去了吗,后面我再说这个东西,大家都知道这是什么东西啊,听都听得明白了呀,是不是我不讲它后面直接融安全。

我说是自愿,你连他这个东西的应用在哪里都不知道,咋听得懂的,是不是,所以我通过这个案例就告诉你几点,它既有保证一些传统漏洞的修复了,保证它的安全了,但是呢他又带来了新的安全问题,所以说都是有利有弊的啊。

但是话又说回来了啊,虽然他也没有逼,但是怎么说呢,你如果把这个东西把它管好了,那么他只有利没有弊了啊,但是你管不好就有币了,好,这就是我们说的这个OS是吧,对于我们这个网站安全的隐患。

其实它的一个最大的影响就是我们说的,文件上传漏洞,就是和文件这个上传,和我们这个相关的东西有很大影响,和其他的倒没有什么影响啊,主要是和文件上传这种后门解析,这个东西呢有很大影响。

除此之外呢也没有太多影响,好那么现在呢我们再来看第四个点,就是反向代理,这发言代理的这个点有点有些绕口,讲解下来有些人听不懂,我还是尽我的能力给大家讲一下啊,啊有网上说正向代理和反向代理。

那么在网站搭建应用中的反向代理和正向代理,是什么意思呢,正向代理呢指的是客户端的服务,然后反向代理的指的是服务端的服务,这个怎么好,你怎么去说它好清楚一些呢,就说我们看一下这个模型啊。

这个是OS的资源模型,它这个网站的资源都是单独存储到这里的,所以客户端去访问的时候,上传任何东西都跑到OS里面,这是GAOS的一个图形,所以它不会影响这个网站上面的程序,他上传的文件全部都不在网站上面。

在word里面去了,大家看这个正向服务啊,这个正线服务是这个图,啥意思呢,它是针对的是客户端的这个东西,很简单,意思啊,我就拿我们大家富强这个东西来讲,这就属于一个真相服务。

真相代理就说你想访问国外的一些站点是吧,想FQ看一下,看一下,看一下外面的世界,但是呢由于我们这个这个国内的这个金子啊,大家就会走带你呢翻出去看,那么这种行为我们就称之为叫真相代理行为。

就是说针对你自己,你自己那是客户端,你访问目标的目标是服务器,你想看对方不服务器,你看不了,你就找了个代理帮你帮你那去带出去认识真相,就是从你自己到别人,你自己主动找别人,就像这张图片一样。

客户端的找了个代理,早点代理服务器,代理服务器呢把你带出去了,然后再再再看是吧,这种称之为真相,还有一种叫反向是啥意思呢,反向意思就是说服务器自己呀,把流量呢给到了一个服务器上面。

然后呢你是可以访问到这个服务器的,你那你就反问你这个能访问他的服务器,而这个服务器呢又从这个不能访问这个服务器,这里就来到流量,其实呢就是说这台服务器里原来是访问不到的。

这台服务器就主动把流量给到另外一台服务器,而另外一台服务器呢你能访问到他,所以呢你就通过访问它啊,间接的访问它,其实就是说一个是你自己建立代理去访问别人,还有一个是别人把流量都给到另外一个地方。

你再访问另一个地方,就达到了公司,这就是真相,反向的意思,理解了吧,那么这里呢我也给他写了,然后有人说我笔记做的不不这个不详细,我不想做详细,我懒,再就是呢我希望大家自己能通过我的讲解。

自己按照自己的这个礼节的去写,这几段话,我写的肯定就比较官方了,你写的话就是你自己这个好理解就怎么写是吧,好那么现在看一下啊,我搭建网站的话,我搞个反向代理,大家看一下会有什么效果啊,大家看一下啊。

我在boss上面给他打进一个给他看一下。

我先把这个这个给他删掉啊,不删它吧,我重新搞个玉米,名字呢就叫做这个代理,那就叫这个加迪吧,点CO点com创建这个网站,创建这个网站,然后呢我到我那个i is解析那边,作为第一个加载是吧。

加一个什么加一个小的这个解析记录是吧,把它解析到这个IP,对不对,得确定好,那么现在小迪点加O点com之后呢,访问他,你看看啊,12题点JO放他哎,你看啊他就能访问到了是吧,还能访问到。

我可以看一下IP地址,这个没有开CD,那开CD是那个3W点,你看这个地址解析是不是就是那个IP地址了啊,啊是不是就SP咋对了啊,就是他的,因为这个没有开CD啊,这个玉米没有开,我开的是那个三到点。

所以P3到点是这个是是这个地址吧,听这个呢就变了啊,这是真实的好,现在就说能访问的啊。

你看啊我做个什么事情啊,我点击这个设置这里啊,这里有个叫反向代理,在任何中间有些都支持伊拉克,只是其他的一些知识点,反向代理添加反向代理,看我做什么事情啊,有个这个路径,这里有高级功能。

高级功能里面可以设置代理路径,等下先说我先说一下啊,百度点com3道类的概率好,点击确定,我设置一个3。0by com。

大家看一下啊,我重新访问一下我那个网站。

cos啊,小D点coo点com,看到没,我访问小D8点com,抛去了百度,大概没,然后我在百度上面做任何事情,他也是百度上面地址上变成百度了,好那做这个事情的话,大家可以想一下,我把这个事情做了。

我现在告诉你,我要你这个车是这个小地点,ZROO8点com,我让你去测试这个网络安全性,你测的是谁呀,你不测的百度吗,和他自身源的网站有没关系,没关系,对不对,是这个意思吧,那我这样一搞,不就你车的话。

就是你只打开看是百度加速,我不搞个百度,我要珍藏网站,这把百度你看你知道是百度。

我搞个正常网站好吧,比如说我这个这个搞个知识网站是吧,搞个其他侦探网站给你,你打开你就在上面咔咔乱测。

测的是谁啊,测的是他,他带你给你那个地址,那你和这个网络有任何关系吗,比如说我这里在加来,我要加路径高级功能,你比如说你访问这个访问一个目录,访问的时候是吧,我就给你忽悠一下。

我就随便找个网站后台好不好,那这个学校的网站后台对不对,这个学校的网站后台啊,来访问这个路径,给你跳到这来,以路径里面带AMY好,现在我们看一下。

啥情况没设置好啊,尴尬了,没设置好看,哪里设置没设置好,尴尬了尴尬了,后面路径他没有带上去,这也尴尬,应该是把那个路径那个地方改一下啊,他这个路径我改错了,应该这里呢把这个目标地址改一下。

然后有个内容地址把它改一下,这个我不知道怎么试了,简单说就是说这个呢就是下路径的啊,你就可以搞一个那个路径,然后呢他去访问,对不对,这个配置路径的,把它删掉吧,那么刚才这个配置呢。

大家知道是什么情况了啊对吧,你这里在想这个怎么办就怎么办。

对不对,哔哩哔哩也是可以的啊,这个加上去是吧。

让他请求这个哔哩哔哩加个地址呢,如果说访问B地址,让他点击确定,当他这个去访问这个地址的时候。

调低点GRO8点com,现在访问主站根目录是放白鹿,加个B目录,加个B目录,看没调到哔哩哔哩,对不对,你想怎么设置,就根据你自己的怎么设置去搞啊,嗯这个就是反向代理,其实就是很简单的道理啊。

它可以实现呢,将它真实的网站指向任何一个地方,你访问其他的就是点那个东西了,对不对,你访问起来就是变东西了,但是这里呢有一些东西要讲啊,那么其实就是说你在做测试的时候呢,他这个影响大家就不用说了。

访问目标呢其实就是一个代理的网站,非真实的应用服务器,因为你访问的那个界面,那压根就不是那个网站的界面,虽然说这个正向代理和反向代理,那都是解决不可达的问题,但是由于反向代理中多出一个。

可以重定向解析的功能操作,导致这样操作之后,粘连的指向另外一个和他毫无关系的站点,那么,就是你的这个安全措施呢,就是测试到一个毫无地方的,毫无关系的一个站点上去了,不是他真实的,我在讲这个时候呢。

为什么要写这句话,是因为我看到我被逼急的时候,有个人问了一个问题,他问了什么问题啊,哎嘴巴删了呀,刚才之前我背笔记的时候,有个跑车还搞了个杯子,问了个问题,他问的这个真相有没有影响,真相没有影响。

为什么是真相,没有影响,大家想一下真相是在哪个上面在操作,在客户端的操作,在你这个地方在操作,不是在服务器上面,他说服务器上啥都没干,是因为你访问不了对方,你在你客户端搞了个代理,访问别人。

别人服务器上面啥都没有单,所以你说你有没有影响的,没有影响,能理解吗,好这个呢是我们的反代理反向代理一个测试啊,然后现在的大家知道这个情况,对我们的影响就可以了啊,后面我们再说针对这种反向代理。

它会有哪些不同之处,对于有什么深刻的印象,或是如何判定,这是后面讲的,三代理和跳转流量有什么区别,有区别的啊,呃我们说的网上,内网里面呢称之为真相连接和反向连接,这个称之为反向代理和真相代理。

然后流量呢也称为转什么转发流量,什么鬼东西,有些区别的啊,这个是一个比较大的一个支点,你要把它分三类去讲,然后提到真相反向,有些人就搞混了,就和我们那个内网课程有真相连接,反应就会搞混。

但是由于我们现在是基础课程啊,我没有必要去把它讲的很深入,让你把每一个点都分得很清楚,我们只有讲到那个课程点的时候,把这个知识点带入出来之后,后面呢你再把它一种啊。

因为现在说的话就会扯到什么内外网的一些,这种东西出来,你才能听的全部能搞清楚,然后我们再看负载均衡,负载均衡又是个啥东西呢,它的原理是将分摊到多个操作单元上面,来进行执行,共同完成任务,啥意思呢。

我给大家举个例子啊,用CDN这个图片就很好讲,我们想象一下啊,负载均衡呢也是提高访问速度,提高效率,同时它有一个最重要的核心功能点,就是什么预备啊,叫这个预防灾难,预防灾难,什么叫灾难呢。

就是我们说的天灾人祸就很简单,一台服务器的部署到四川,诶,且我们汶川大地震的时候,如果说你服务器在那个地方不没了吗,所以就不是不不没了吗,拉的数据怎么办呢,所以说负载均衡呢,它一般有的东西。

就是我们说的和这个龙仔差不多的类似性,他就会准备几台服务器,就是你这台没了,我还下一台能理解吧,就是说多个服务器来支撑这个服务,防止有些意外,哪些服务器突然崩了,累积了,导致这个服务不能正常了,对不对。

我们今天演示的是一个比较简单的一个负,载均衡,是一个网站上面的负载均衡,如果真实情况下面还有一些各种各样的应用,像网站应用啊,这个数据库应用啊等等都会有应用到,而且不同软件这个没办法都是讲的啊。

我们只能从网址上面来给你,把这个啊东西呢讲明白,然后其他的应用上面,那我相信通过这个东西一讲啊,你也能明白,只是说使用的软件,我说这个东西都不一样而已,原理是一致的,那么现在让我们看一下负载均衡啊。

他就是为解决这个灾难,然后呢也是提供一个备份啊,报备的这种状态,但是由于呢它有多个服务器,所以说我们想的也很清楚,就是有多个服务器的话很简单,我搞一个网站,我们正常来讲一个网站就是一个服务器是吧。

就这个理解哎,这个时候他搞了三台或者四台,五台再给你提供服务,你说你高的话是五台拿下都才算呢,还是一台拿下就算了,对不对,因为它每一台都不一样啊,好那现在呢我们就来看一下啊。

所以说它的影响是很显然就是我们说的啊,可能和你想象的不太一样,我们来看一下啊,我做一下负载均衡如何做呢,点开这个做LINUX的负载均衡小八下载,点这个域名,这里是吧,点击这个设置里啊。

这里有个叫配置文件,我在这配置一下,我配置几个东西就能达到选配置的时候呢,我先把这个代理的关下啊,这个代理呢先把它关下,关一下之后呢,我再看一下这个网站是不是先正常的啊,好,下T9co好,现在正常了。

现在指向这个这个这个公路金是吧,现在指向这个正常的网站路径了,就没有在像刚才跳到百度啊,跳到哔哩哔哩是吧,这个就没用了,因为我把那个配置文件改了,所以他这里就没有那个反向代理的配置。

好好那现在呢我就来做这个反向代理,怎么设置呢,首先在这里下面定义一个返回路径和策略,这个是ADIDAS的负载均衡配置啊,其他的我就不说了,因为其他的我不是搞认为的啊,我也不清楚。

这里呢就来到这个下面写这个东西,这啥意思呢,给大家解释一下啊,呃这个呢就是房屋路径,然后这个是触发的规则,触发这个叫负载均衡均衡这个关键字,然后这个时候再来到上面声明这个东西,生命啊,来到上面。

生命什么东西呢,负载均衡,然后这里有个路径,路径呢一个IP地址绑定端口,另外一个IP地址绑定端口,然后我分别的去访问一下,这两个IP地址绑定端口,给大家看一下效果。

但是这个网站BLOGO显示test test,然后这个IP地址的八零端口访问一下,看看是什么东西,显示是web开心,你看两个网站访问的页面是不一样的,然后我们等来的网站也是访问。

也是访问这个东西是不一样的,当这个时候呢我把它一配置好之后,也就是这个意思,就是说用这两个网站,用这两个网站来给他提供服务,然后这里呢就是访问这个根路径的时候,来启动这个负载均衡。

主要访问这个根部的时候来启动副作用,指向这个负载均衡,老师你那背出来这名字要一对应上的啊,要对应上的,下面改了之后,上面也要改,点击保存,点击保存啊,好保证保存成功,然后刷新一下,看到没,大家看没了。

网站点了看到没意思,点哪个又是点这个就是两个网站同时为他服务,看到吗,来test编那点它了,如果你想哪个偏向跟全中一些,可加上这个关键词,加什么关键词啊,加上这个呢关键词加上去,这个是权重。

比如说我把它搞成十,把它搞成一,那么也就是说这个权重为十,这个唯一,那么它会优先的以他为准保存,那么现在呢保存好之后刷新一下,刷新一下没有,那我要多次刷新之后,它才会跳到那个另外一个那个网站页面。

你看他意思是这个是吧,多次传输之后再调一个权重不一样的啊,就以那个为准,那为夫的意思全中,那就是那个以为主,哪个为辅,你看看出来了吧,那么你添加多台也是多台,添加几台就是几台。

其实就是说你可以把你的这个和他相同的站点,部署到另外一个IP上面,部署到另外一个P上面,然后呢就是三台服务器都部署这个应用,然后哪一台坏了都不要紧,这网站还能进行更新,因为他有其他的,对不对。

那么这样子的一个负载均衡之后,我们做安全测试的影响,我相信大家能理解了,其实就是说这个网站有多台服务器,而且每一台服务器都和你相关,都和零一都和你一致,你说你是哪一台还是拿多台呢,对不对。

好今天的这个知识点呢就讲完了啊,呃这就是关于我们这个常见,关于这个网站搭建上面,不同人和管理选择的一些搭建方案,比较常见的几种,也是大家以后可能会经常碰到的,这种搭建架构呢会对我们这个做安全车时呢。

会有一些这个不一样的地方,就是可能会多一些防护啊,或者说哪些东西就不能做了呀,哪些漏洞就等同于就没有了呀是吧,像今天我说的OS等同于就是不用考虑上传了,没有这个东西了是吧,那我像这个反向代理也是一样的。

你如果不知道这是反向代理,那你摘了往上面测测半天也是自己在是吧,自己在好玩也没有什么卵用,因为压根他带你出去的是个假网站,不是他真实的,他就是做了一个转发,啥都没做对,他把他搞到百度,咔咔咔。

你在百度上面搞渗透,搞个毛啊,喝了都不相干,所以说呀,我们要这个要把这个东西呢送到自己的脑海中,那么把这个一讲啊,其实我们这个技术部门还没有讲完,因为还有其他的产品,比如说我们的APP产品是吧。

web产品讲完了,还有app啊,还有人应用的一些各种各样的产品呢,对不对,每一个产品都有每个方案的一些搭建,和不同之处,我们针对不同的应用呢把这个架构学清楚,后面呢再去讲信息收集。

你就知道为什么收集这些信息了,对不对,以至于呢你在收信息的时候,你把这字典记住,你就可能会去收集信息啊,不用我说,你要收集哪些信息,我把这个架构讲清楚了,你就知道哪些信息收集有用,哪些信息收集没用了。

对不对,很简单,我讲了这个之后,如果说你在做这个测试的时候,你连对方这个OS是不是存储这个上传文件,是不是存储到OS都不知道,你在上面去咔咔乱扯上传漏洞有什么意义呢,文件都存储到OS里面去了。

你还扯什么上传漏洞啊,都不没有必要测了啊,所以所有的种种都是为了后面做信息收集和,后面的思路呢扫清障碍,为什么说有些人是吧,学完之后他老说他没思路,什么什么一大堆的一些各种各样的问题啊。

哪里是什么鬼东西呢,压根就没有学好,真的没有用的哎,而且说实话我这个还没有讲的很全面,没有加的很全面啊,像真正如果说全面一点的话啊,他还有很多架构我还是没有讲,因为有些东西我也不会了啊。

这蛮多这种搭建东西,你不把它搭建出来,我给你演示,你有没有影响我高考讲,你也听,你也听听了,就等于听到我必须要演示你才有印象,但是有些东西呢我演示也演示不了,因为他有些都是一些什么鬼。

大家认为方面的哎呀也是烦死人,不好搞,我尽可能的就是能搞演示的,我都演示了啊。

如果大家有什么问题啊。

有问题的话,就可以问一下今天的内容就讲完了,然后呢我简单的思维导图来给大家总结一下,上节课都忘记给它肿了啊,唉其实我不想总唉。

太麻烦了,不种也不行。

这是其他模式的啊,其他模式上节课的,今天是拓展模式的,拓展模式的啊。

嗯三节课都还没做,上节课讲的讲忘记了啊,上节课讲的这几个常规化的账户分离呀。

S前后端分离。

还有这个dog的宝塔软件集成多个的和简单。

建站平台的还说这个静态纯静态,这几把啊,然后今天讲的是一个是我们说的,WAF的一个干扰,Waf o s s c d n,这几个啊在我们这两节课讲的啊,然后具体有哪些区别呢。

WAF呢就是这个直接影响到音响,来你的,应用防火墙哈,防护防护,你讲的就是,安全测试输入法输入法呢收到拦截,CDN那是我们说的原理节点啊,内容分发服务提高访问速度,影响的就是这个隐藏了真实IP。

导致这个信息收集目标错误或S,那就是我们说的这个人存储服务,提高资源文件加载速度,影响的就是这个,将这个文件呢进行了一个单独存储,导致文件商船安全不存,修复这个上传文件,这是第一个方面,还有几个方面。

几点呢,同时啊也也会有这个,K的一个泄漏安全,看到一条,然后然后呢这个文件解析的不复存在啊,呃反向代理呢就是我们说的是一个。

把他直接复制过来吧,懒得写了,其实这个东西呢我希望你自己下去,把他这个总结的啊,你这个总结的会比我总结的好,我这个都是说想到什么写什么啊,你自己呢可以通过你自己的心的体会呀,写进去啊,写得更好一点。

技根治需要啊,然后怎么培植啊,那些东西呢,看课程吧,这个上节课的常规化。

这东西也是一把写一下,哎呀这真的是。

直接你妹的把它copy一下。

好在我们那个两天的一个三天的内容啊,好啦这个把他一剪啊,但大家也没什么问题啊,有问题没问题,我们就,再说一点啊,下一个上市的内容呢也不用多说了,其他资产小app这方面的一些问题了啊。

网站呢我们就告一段落了啊。

大家有问题赶紧问啊,你这个内容上完了,我看大家也没什么问题啊,高低情商,我懒高情商,你们总觉得好,哎你们老是这样说哎,我情商不高的啊,我要是情商高,说实话我这个培训还可以做的更好。

有时候我就是低情商了啊,把这个想报名的人给他骂了一顿,骂的别人都不找我来了,还背后还废物,你其实看一个人低情商,高情商,你只要看两点啊,吃这个有没有黑子,黑子越多说明这个人的情商越低。

不过他的这个喜欢他的人越多,也说明这个人的情商也还可以。

像我就是黑子特别多啊,妈的不是那个搞我就这样搞我,不过说实话有时候和我的情商没有半点关系,有些鸟毛啊,经常跑到其他群里面去是吧,报名小迪的课程,小迪的课程价格便宜,讲得又好,对不对,快去加小弟。

我给我发消息跟我这样说,我说我这是表扬你呢,还是怎么说呢,妈的现在同行都饥渴的要死呀,你这倒是给我树立敌人,那我也不好说什么呀,你也是个好心,我哪敢说什么呢,我男的叫你不要给我介绍吗。

我只能默默地承下了所有啊,到最后同行他妈的有事没事就说两句,我有什么办法呢,啊都是兄弟呀,有苦一起扛啊,到最后还是选择了我自己呀,所以为什么啊,我的博客服务器经常打不开,为什么慢。

而且为什么有些人喜欢说三道四,有的是我自己想的,有些人呢,还有一些是这个学员帮忙搞的一些事情,唉,不说了啊,我看大家有没有什么问题啊,有问题我看一下啊,看一下啊,你们聊天速度太快了。

看都没看都没看到就下去了,这个不一定的啊,这个不一定的,纯金的就是没有数据交互啊,对的静态其实就是这个数据还是动态的,只是说暂时不一样而已,没有什么太大区别,和正常的动态是一模一样的。

OS所有房子都能用,还是程序加载功能才能用,肯定是这个这个要加上这个功能呀,你不加这个功能,它没有那个对接的接口啊,要加的啊,就是说有些程序它有这个结果,有些程序没有接口啊,具体要看你自己会开发。

你可以加上去,上次他报警,他跟我说,他手底下学生最小的坑了才报给学生的。

哎不提啊,这个录像里面就不提这个东西。

P30:第30天:JS应用&NodeJS指南&原型链污染&Express框架&功能实现&审计 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

30天的这个JS的第三次直播了,今天呢我们介绍一下这个low的JS,其实这个JS课程呢,我们呢还会讲一下这个关于什么打包器,Wp pk,还有这个第三方库的一些安全,也就是说还有两次直播吧对吧。

还会讲一下VUE1的一些东西,其实VUE这些东西呢说实话我不想讲,是有人呢提出来要让我讲,但是说实话讲的没什么作用,为什么说没什么作用呢,因为这个VUE1的这个东西呀,他没什么安全问题。

你说我讲他干嘛了,我叫你开发吗,他网上安全漏洞这几年就报了一两个,而且很鸡肋,没啥用,是不是,像这个wave paper呢是刚好这个打包器,这个呢会有一些这个渗透的手段。

包括这个第三方库的上面些安全作用呢,也会有一些帮助,大家能够对我们说,对这个整个这种前端语言的一些这种概念呢,有些补充,唉,这个JS的,所以说讲的呢都是会有一些安全问题的,才会讲上去。

没有什么安全问题的,讲的就是纯讲开发,而开发的也不是我们擅长的,所以我就说讲不讲,他啧没查到错意思啊,因为我把那东西把它脚本,那些简单的一个demo代码端呢,我把它实现了,但是没漏洞啊,你说这咋办呢。

这对不对,你不可能是搞开发的呀,所以说啊这个东西呀没办法啊,好我们今天讲这个node js啊,上节课呢我们讲了原生开发,原生开发里面呢,包括这个demo呢会产生XSS,原生开发里面呢我们上次也说了。

这验证不好的会展有一些这种是吧,逻辑上面的安全问题,这是我们说的安全,包括今天要讲的这个low js呢,也会有一些安全问题啊,我们呢给大家讲一下啊,所以这个node js呢我们先介绍一下啊。

这个low js是什么东西啊,这是网上的一个找到的一个low js的一个,大概的一个教程啊,他说漏JS呢是运行在服务端那个JAVASCRIPT啥意思呢,它和我们原生的JS呢有点不太一样,啥啥不一样呢。

我给他锁一下啊,他说是运行在服务端的,我们原生态的这个JS呢是运行在前端的,就是用在客户端的,这有什么区别吗,哎这个问的就非常好了啊。

啥区别呢,我们先给大家看一下,不看代码,我们先给他演示一下啊,现在搞清楚它和我们传统这种原生的那种JAVASCRIPT的,是什么东西啊,这个low js呢它也属于它的其中一组。

只是它是一种服务端的这个加速构造好。

我们现在呢给他看一下啊,这个差异啊,你比如说像现在啊,我们这个之前不是写了一些这个呃代码吗是吧,你像这种啊,我们对它进行访问的时候呢,可以看一下啊,访问的时候,那这里可以看一下它的优先源代码。

这里呢是能够看到它整个这个核心代码的。

因为就是说这个代码里面所写的,所有的都能看到,这是我们说的原生态的一种情况是吧,好这个是我们之前给他说的啊,那么现在呢我们再给大家看一下啊,我们在这个下面呢再创建一个这个JS文件啊,直接创建JS文件。

名字那就叫做这个嘶嗯,确一个SQL0JS,那这里创建一个SQLJS啊。

然后呢,我们在这里呢,随便找一个这个load js的一个代码端啊,我们随便找个,随便找一个都行啊,这个无关紧要的啊,随便找个,比如说找这个SSPR框架啊,他是个专门用来web开发的一个框架啊。

是这个楼JS里面的,我们随便找一下啊,就像这代码。

我们把下把直接复制一下啊,看一下啊。

我们把直接复制下来,复制下来放到这里啊,好那这里怎么运行这个JS文件呢,啊这里是这样运行的啊,在终端这里呢我们打开,然后呢用load,然后加上这个名字,Circle js,这个是干嘛的呢。

它会启动一个8080换端口管,是个3000端口,然后直接运行,哎他报了个错误啊,报的是什么错误,哪里有个错误,第,他妈的,我在网上呢copy了本原本的代码,这咋个还报错了呢,你们说这这个啥方法,真是啊。

找不到JS这什么原因呢,这要安装一下这个库啊,这个库呢需要安装,那我给大家演示一下啊,NPM杠哎,XPRERESS安装一下啊,好安装好了之后呢,这里呢就会创建一个来这个logo好,我们再来运行好。

现在呢就启动了,我们再来访问3000端口啊,大家看一下啊,就在这个上面呢去用这个low js呢。

自己创建一个服务器,然后去访问。

你看啊,输出hello world啊,输入hello world的好,我们来看一下源代码,大家看一下啊,来它的源代码中就只有个hello world,有没有这串代码的。

这段代码又是属于JAVASCRIPT的,按照我们前期讲的,我们这种呢它也是用JAVASCRIPT写的,但是他访问那是能够看到他原本代码,就浏览器呢能够看到这个本身代码就是前后端。

就是服务器那一边和我们的客户端这边的,看到代码是一致的是吧,就是我们说的前端的JS原生态的一个情况,那么现在这种呢用node js的这个代码呢,去开发的网站应用呢,打开之后呢,它就是一个代码的执行结果。

java类相关的,就是属于后端一种了,所以说它的最大差异。

这句话就和我们刚才说的教程一样。

它是属于服务端JAVASCRIPT的,也就是说它和我们传统那种原生态的开发。

它不一样了,就是你看到的结果呢,就是它代码执行结果。

而不是它本身的源代码,所以这就是它和传统的前端,JAVASCRIPT的原生开发的一个最大差异,明白了没有,三点明白之后呢,我们就开始要进进入这个load,JS的一些简要的开发了,好。

那么现在呢我们就来给大家来去演示一下,JSS的一些简单开发。

首先呢在做这个开发之前呢,是先要准备好环境,就是要安装这个node js,这个呢是可以从它的官网呢去选择。

你合适的操作系统的一个版本去安装,那么这里呢我选择的是这个16。18。16,的一个最新版的windows64位的啊。

它上面呢有其他版本的啊,像MARO的那些东西啊。

你就根据自己的需要啊,选择那这个那大家去安装一下,那就这个啊直接一直一直向下安装。

就几个即可,安装好之后呢,重启一下电脑。

为什么要重启呢,因为它在安装之后呢,会有一个环境变量的一个设置,就像我们现在啊它默认呢会勾选那个环境变量,就是个什么NPM和load,这个环境变量在重启电脑之后才会生效啊。

不然的话你那个当当时呢升不了肖,重新下电脑,那个load和NPM的这种自带的环境变量呢,它里面自带的命令呢就会生效啊,然后如何去运行呢,就是LOL的加上这个东西。

安装库呢就是这样去安装,那么首先呢这是它的一个安装介绍啊,然后呢这里有一些第三方库,这是我们常见web开发的第三方库,有这几个,你可以自行的去这样安装的,那么每一个库对应的意思呢,大家写清楚了啊。

这个库呢是一个简介的web应用框架,然后这个呢是用来处理一些数据的,还有这个呢是解析cooking的,这个呢是用来处理这个文件上传的啊,这个还有这个呢是用来连接MYSQL的一个co。

就是你有这操作之后呢,你可以把这个库呢安装上去才能使用,然后呢给大家演示一下,如何利用这个东西呢,来实现一个登录的一个操作页面。

大家来仔细观察啊,首先呢这里我们用JS呢来实现登录操作,首先我们搞一个前端页面,就像我们前面写的那像这个ATM对吧,这是个登录的一个这个界面,我们可以把代码呢给他复制一下,代码呢给他复制一下。

然后在这个里面呢创建一个这个叫文件名啊,就叫circle点HTML,这是一个前端的一个什么这个登录的一个文件,把它放上去,然后呢我们尝试性的去对它进行一个访问好,这是我们的登录界面。

那么如何实现登录之后,用JS呢来处理这个登录的用户数据呢,呃这里呢我们就来开始做准备了啊,首先在这个JS文件里面去创建一个东西啊,创建什么。

这里呢我们引用到的学习到的是这个esp,这个框架,它有两种实现,一种是app的,这种呢是它老的啊,这种是老的,就是如何的去实现,这个我不讲,为什么不讲呢,我们学就学这种新一点的。

因为大部分人都会用到这个,来这个这个是我们说的SPIPS,他怎么使用啊,我们把它演示完之后,大家也知道了啊,首先呢第一步是要包含一个文件。

如何包含呢,就是REQYIRE包含库,包含我们刚才安装的库,E s p r e p e s s,就包含这个呢包这个库包完之后呢,可以声明一个变量,这个变量呢可以用concert,或者用那个VAR去声明。

这个倒无所谓啊,好生命好之后呢,在这个cost创建一个app来,等于这个XPRESS的一个函数,好再用app点get,那这个是啥意思,这个意思就是路由请求一个路径,比如说请求login啊,请求罗宾。

然后呢啊窗如果请求完之后呢,去调用这个函数,函数里面有REQ和RES两个东西,好这个东西又是啥啊,给大家说一下,然后这里呢就这样写,请求这个路由,这个是路由啊,就是get路由请求完之后呢。

去得到里面的REQ和RES,REQ就是请求RES,那就是结果我们可以呢在请求完之后呢,去给他提示一下啊,console里面去打印一下啊,打印下什么东西呢,打印一下这个,啊打这是打印。

然后呢你可以让页面进行显示,比如说我要让页面显示一个RES点C,就是让页面显示显示什么呢,就是啊真都里子啊,就是这个登录啊,就是登录页面,这个是啥意思啊,我们把它运行起来之后,那大家就知道了啊。

来就是那去接收,如果你是get请求的,并且呢请求的是这个login地址,那么他就会执行这里面,然后呢结果呢就是页面按页面回旋的时候,就显示一个登录页面,这里都可以显示ATM代码啊。

这里可以显示ATM代码啊,这里可以显示ATTEM库,可以把它给他看一下啊,显示一个ATM代码,来看一下,好然后这个是显示,然后如何启动服务器啊,他不需要用这个什么阿帕奇呀,i is啊。

这种中间的去把它启动,它直接在这里启动,他自己构建一个web服务器,该如何构建,就是app点什么server啊,啊不是啊,就是你直接呢在这里,这是接收路由,然后下面那是启动服务器,服务器呢就是这里了。

app listen监听啊,监听,然后一样啊,显示写端口号数字3000端口,这里端口呢是选择一个不占用端口就可以了,好用一个VR还const server取这个变量的去接收它,好。

这里呢启动个3000端口,后面呢再是一个函数,这个函数都可以写东西了啊,这个无所谓的,写不写都无所谓啊,好然后呢来提示一下啊,在这个调的窗口里面提示一下,在这个调通过里面去提示一下啊。

提示一下这个服务器系统啊,就是web的这个3000端口,啊已经启动好,现在呢我们来看一下啊,把它直接运行起来,大家看一下有什么东西啊,先运行起来好,他其实呢web的3000端口已经启动。

现在我们来访问一下17。0131000,当然还提示这个了,command get什么东西好,这个是什么情况呢,为什么没有内容啊,因为它是接收login的这个值,当我们去访问login的时候。

就触发它看一下,来看到没登录页面,那显示的hr就是上面这个什么一条钢的,一个意思,登录页面这种回形页面呢,从这个就是接收这个是回血,让它回血里面呢去显示这个页面来,这是它结果好,那么既然如此。

如果说我显示首页内容,我可以怎么写,是加上一个请求当前路径,然后呢,再让这个页面呢形成一个什么,显示这个什么首页笔错误的是吧,好现在呢我这样去写,写好之后呢,我重新再系统。

现在再重新访问这个默认路径的时候看一下啊,那你看它就显示首页页面就显示这个吧,对不对,如果我要调用其他页面呢,这里显示该怎么办呢,可以这样写,RES点C的,就是来渲染页面,怎么写呢,渲染哪个页面呢。

就渲染这个当前目录的这个什么circle点HTML,让他去渲染这个页面是吧,刚才那是run这个里面输出这个值,然后这个呢是渲染这个页面,渲染这个set it file,就打开这个SQL点ATM文件好。

我们现在呢再来重新启动服务,看一下刷新,好他说这个这个什么路径不正确,那就是应该这个路径获取的不正确啊,我这里把它先关一下咳,那这个路径该怎么获取呢,啊这个就简单了啊,就用这个叫d l name加上。

这个东西加上这个路径,这个第二类能获取当前这个执行环境的路径,看这样对不对啊,再来看一下,好我们来打开刚才这个页面的地方,它其实和那个Python的东西那是差不多的,你看是不是就渲染。

你看那当我们去呢去请求这个当前路径,这个斜杠的时候,就会触发了,去获取当前目录下面这个SQL连TM就这个页面嘛,这个页面打开就是这个东西嘛,是不是,对不对,你们不要问说为什么上次开发。

我们等下看一下一些真实的案例,你就知道它的应用价值了,啊啊这不是这个页面不渲染出来吗。

是不是他又把这个页面,它把它调用进进去了,你看就这样写,这个是用node js呢去开发这个web应用是吧,写好了,那么这里是写好了页面,但是我要接收数据啊,比如说我这个要登录用户和密码点登录之后。

如何把这两个数据来进行这个结收过来了,好那现在呢我们就来讲它的结束啊,先把这个给他暂停掉嘶好,那么现在呢我们就来接收,接收之后呢,就显示这里嘛是吧,我就把这个SQL点TM呢啊把它改一下,把它改一下。

什么东西呢,就是把它改成这个登录之后呢,去提交嘛是吧,然后呢在这里写一下代码啊,METO7哎,就把它写到这个表单里面,写个表单,啊for,然后action,提交地址就是其他地址就是什么。

是不是就是这个杠login呀,对不对,杠login这个地址,然后呢哎提交方法呢就让他改成post提交对吧,写到这里啊,写了这个登录这里好,然后呢再用这个for结束好,这个呢就写好了,写好之后呢。

我们可以先看一下他有没有问题啊。

先看有没有问题好,我们来测试一下啊,安慰id conomy,输入一下来监听一个包。

看一下它是不是会发送数据到那个点NECTION提交,调完之后呢,你看他的确是发送了这个点action,然后发送数据呢我们也看一下,发的数据呢也是这个username和password,那就OK啊。

好那这里写清楚了,然后这里呢可以把路径全部补齐,也是OK的,要进入你的这个3000端口的这个login路径,好,写好之后呢,那么现在啊,我们家就说这边表单提交已经写好了。

就是等下再来解释这个用户名和密码,那如何解释这个用户名和密码呢,刚才我说了啊,它里面有这个REQ是接收,RES是回血,就是这个呢是负责你接收到这个,就说对方请求这个login之后呢。

啊这个是用来接收对方的法属数据,而RES呢就是你页面的回显数据,就说你给对方回血什么是吧,这个呢就是说回旋这个登录页面啊,这个呢就是说回旋这个渲染的这个,SQL文件的代码,对不对,两种啊都可以。

那么现在呢这个是首页文件,让它渲染这个登录页面,然后这个呢就是说用来接收数据的,所以我这里那就不再渲染这个回写页面了,我就直接怎么样呢,写一个什么接收数据的,如何数据如何接收呢。

就是自己呢先创建一个变量来接收,比如说U等于什么REQ点,什么QERY点它的参数名的值就是username,就这面的username没name值好,就接受这个值好,然后呢再来接收什么cost,是吧。

等于REQ点QY它提交过来的password值,就那个参数的东西嘛对吧,就这个呢这参数名节定好,接收完之后啊,进行一个简单的判断是吧,如果这个U呢它等于等于A米是吧,并且P等于等于,123456对吧。

然后呢就进行一个提示输出login啊,先呢提示U接收到了U,在调试框里面去把调试一下,并且呢RES给一个回血,给个什么回形呢,就是如果等于等于的话,就是什么好滑影,进入后台管理页面,对不对。

就是给他提示这个东西,欢迎进入后台管理页面好,然后else就是说不相等的话,就直接提示什么呢,登录密码,用户或密码错误对吧,是这这样就可以啦,来接收这个结提交过来的UZO,然后呢这个是接受他输入的密码。

进行一个账号密码的一个判断啊,然后呢并且在这里调试一下好,我们来运行起来,已启动好,我们打开一下,刷新好页面啊,大家看一下啊,我们输入admin,然后再输入错误密码,点击提交好哦。

这里呢他说是post请求不对,为什么,因为我这改成的get吧,是不是要再改一下,改成什么post rule,所以这里就把get改成什么post就完了呗是吧,i b cos哎消息啊,host对不对,好。

来重新再清一下啊,加入刷新,在页面好,那看下提交,两个都输AD的密提交,你看用户密码错误,那用户密码错误,看到没,在这里,用户密码错误啊,你看因为我都输错了嘛,我要艾德米和123456来输入正确。

123456点提交,哎,这啥情况啊,这个怎么回事,你看这个怎么又是这个错误密码呢,我们来先确定一下,把这两个呢在他解释完之后呢,就在这里调试一下啊,在这里调试一下,看一下这里接收到的是不是对的啊。

先确定一下啊,看是哪里有问题来刷新下载了启动嗯,那里哎,哎这怎么报错了呀,代码哪里写的有问题啊,哦这里少了一个括号,妈的什么鬼东西啊,老是这样搞好嘞,看一下啊,我们现在发送一下啊,来看一下。

确定他能不能接收到提示,那你看啊,这里出现什么呢,n default啥意思啊,是他接收到的这两个U和P不对呀,来啥情况,这是required use name这个password,这咋不对呢。

其实呢是这样的啊。

我们可以看一下他的一个官方文档啊,呃这是他RES呢,呃IQ的那个对象呢,IQ里面不是有这个叫Q2,为了获取余额的查询主串是吧,就是呢IQL然后加上的参数名,对不对,但是我刚才是获取余额的。

我刚才是以post发送的,那就不是这个QRY了,能不能理解啊,get参数呢,get提交就是获取啊哈我刚才是post提交。

所以说你如果说把这个ATM这里呢,提交方式改成get的话,好get了,get之后我们再来试一下,看一下这样子对不对呢,啊改成东西啊,我们再提交,好这里就要换成那个这个地方有没有改,改成get好。

重新来启动一下,好提交,那你看他是接收到了艾特米和特米啊,你看这样子它就对了是吧,然后呢你再去判断你在复制去哪,那是不是接到这个盾了呀,对不对,然后我再输入正确账密码,123456提交。

那是不是就欢迎进入后台页面,你看连价格也接收到了,这里就判断逻辑是正确了是吧好,那如果是post提交,那这个东西该怎么解除它值呢。

对不对,刚才我写的get啊,原因就是说出错和出在哪里,那么如果是post提交该怎么办呢,好可以看一下下面的这个情况呢,这是get方法,然后post方法呢就需要用到一个库,用到什么库呢。

用这个东西呢创建它的值啊,这个就是要用用用到这个东西了啊,就用这个东西了,该怎么操作啊,给大家看一下,首先呢去调用一下这个哭啊。

先这个调用这个库好,这个是以get去接收好,我们把代码呢再给大家多写一个好,再用app点post的来去写这个post请求方法的,好那这里呢加上这个库名呢,把这个呢也改成cost,按上去高端一点是吧。

那加这个库,然后呢在加热库之前呢,呃你如果不去安装的话,它会有win7运行起来它会有问题啊,所以我们需要安装一下这个库,这个库怎么安装啊,其实也非常简单,就是NPMI加上这个库名诶,打错了,安装一下好。

现在正常安装好,安装好了,就这个提示了,添加两个应用,就像刚才一样,安装这个东西也是一样啊,和那个p Python几乎是差不多的。

把它安装好,安装好之后呢,再利用这台代码呢,思密个变量创建来解锁这个类型的这啥类型呢。

后面uni code为什么是UNICODE呢。

我们的提交数据类型呢,是看你这个本身代码的一个提交类型。

我们可以看一下刚才那个提交类型啊,他提交数据时候。

我们把它改成post,它其实就是一个规矩的一个字符串类型。

把它改成post啊,那get类型的就和那个post是一模一样的啊。

没什么太大区别,我们可以自己呢给大家看一下。

那把这个录文件打开开,先看一下啊,哎你看这个页面啊,他的提交数据类型大家可以看一下,随便先写点到密码,他就是个UNICODE,那提交的类型呢,还有这个东西呢,它不是JSN,也不是那些格式类型的一些数据。

就是数据呢不会以就是个纯USMM加一,然后连上这个字符,很好理解啊,JSON就是我们说的兼名和兼职,就有那种东西,对不对啊,这个呢他也不是啊,不是我们就就怎么办呢。

就在这里,那就按照他规矩嘛一样的道理啊,在这里呢就是那去请求获取这个值,就用这个东西就完了哈。

然后再把UNICODE呢写到这个post路由里面去,就把这个东西复制,复制完之后呢,再改成js post post,然后呢再再加上这个参数,加上这个变量,写这个地方,后面呢再写这个后面的东西。

好那这个该怎么写呢,就结束这个值啊,他的截图值呢就变了啊,有同样道理,我们来也是把这两个呢要放过来,但是这里变了啊,就变成什么接收body,点username和password,啊接收B码打印好。

那么这里呢,我们先来确定一下能不能正常运行啊,先来看他能不能正常运行,运行好之后呢,我们再来说这个事情啊,对不对,先看能不能上运行啊,这是接受post,我这里也改了啊。

这个server文件呢也改成post,现在这里那就以它来为准,我们看他们能不能正确接收,能均接收,那么后面基本一样的哈。

好启动起来之后刷新页面来看一下啊。

能不能正常接收提交,下面能正常结束了,来能这样结束了,现在是以post提交数据嘛,对不对,所以呢那这里就简单了吧,就直接把这个东西呢就让你复制到这来,不就给判决了吗,是不是这个就是以post去接收。

就说如果你是post提交,我就用这个呢来去请求接到路径,如果这改成get,那就是删除这个代码来接收,无非就是说post里面的多了一个,对数据进行一个转换,就因为他提交的数据呢是那个格式。

所以你就必须要用这个边栏呢来接收它,来去把解疑他啊,因为这个REQERY,那是接收那个URL上面的数据,而如果post提交,就需要用到这个啊,专门来body post。

就是来专门来处理这个提交数据的,这里呢我们库里面呢,也给大家做了一个简单的讲解,你看用来处理这个什么JSONRWTST,这些数据就是用来post提交的一些数据,就是这种类似其他的格式数据。

因为get数据呢一般就是我们在浏览器这里是吧,这样去写,对不对,那这个呢就完整的,就用那个REQQRY来接收,而post呢它的格式数据有很多。

就像什么JSON数据,rw test数据等等一些数据。

那么他就需要用到这个库呢,来对这个数据呢进行处理,先把它编码编码之后呢,再用这个IQ点body,这个函数呢来接收参数名的值是这个情况啊。

啧所以这个就是post提交的这么一个情况。

那么第二个讲完了,那么现在呢我们就用这个load js的联动,这个数据库来进行查询,因为正常来讲,别人的这个正确账号密码,不可能是在这里去让你写好,知道吧,判断肯定这个账号密码呢是放在数据库里面的。

所以现在呢我们就利用node js呢来联动数据库,联通数据库,它最常联通的就是两种类型数据库,就是哪两种呢,一个是MYSQL,还有个呢就是MONDB,那MONDB用的最多啊,来我给他一下啊。

那node js联动MYSQL联动MONDB两个数据库,我们这里呢演示是用MYSQL,因为我们本地的有MYSQL环境,MONTB呢没有装啊啊如何联动呢,首先呢自己安装一个MYSQL库,安装好之后呢。

就按照这个使用方式去联动,那么现在呢我们就在它的原有基础上面呢。

去写这个联动的操作啊,我们先把这个讲完。

讲完之后呢,就马上进入到下一个了啊,先把辅助图开起来,两排之后开起来好。

开起来之后啊,接下来了就来做这个事情啊。

我们就搞快一点啊,好这里呢首先在这里,那就也是一样的道理啊,cost mysql等于包含这个库名字是,对吧,然后呢在这里下面呢安装一下MYSQL这个库,专门来用来node js来连接数据库。

连接MYSQL这个库好安装好,安装好之后啊。

这个呢也引用上去了,接下来的话就创建一个连接,那么直接用这个代码来给它粘贴复制。

那么这里呢就是它的连接操作啊,这里写上目标地址和账密码,好连接了数据库明demo01。

下去啊,连上好之后呢,它有个创建连接,我们先把它分割啊,先把这个东西呢把它分割下来,连上数据库,再用这个东西呢去创建SQL语句对吧。

然后呢我可以定义一下SQL语句,host circle等于snack查询for艾德米,对不对,我查询这个库,然后呢再利用这个东西呢来执行,就是我们说的这个console。

yes t点QRY执行这个SQL语句,In circle,然后呢出现的错误啊,进行一个显示。

那这里呢就按照这个逻辑来啊,然后这个是取它的错误,这个是取它结果。

这个取它的这个调出,我们在那就直接把它那个一下啊,比如说error,然后呢再就是这个结果,给个data,来执行这个SQL语句之后呢,如果它报错,我们就提示是吧,就说如果这个error出现错误是吧。

我就给他提示提示什么呢,CTRL点logo。

那就像这里啊,他判断这个里面有错误的话,就提示啊,但这里呢我判断的不是这个语法,这个语法就是有有这个错误产生。

就提示我这里呢是直接判断这个是不是错误,所以我认为就是说数据库什么呢,连接成功的意思啊,如果加上后面这个东西,那就是判断他有没有错误,这个呢是没有错的情况下,就是如果这个SS从那里面没有问题。

就提示数据库连接成功,好,我们来实验一下啊,先来确定一下它能够连接成功,我们再来试试其他的在做这个实验时候呢,我们先把这个上面东西呢先给它注释掉,防止它有一些影响是吧,现在创建下。

用这个NO js呢去连接数据库来操作是吧,连接当地的路程,路程到node0在里面去执行一个SQL语句,先来看一下连接操作,再来看执行的结果,取出结果,这个操作运行起来,是吧。

你看现在呢它没有任何的一个显示对吧,没有任何显示啊,好那么现在让我尝试去,他为什么没有提示这个啊,加个C看下是我这个判断有问题好了,连接成功没有错误好,那现在呢就取这个data数据。

这个data数据呢我们可以把它进行一个打印先啊,进行打印,CONSO点logo打印一下这个data,这个data呢就是执行这个SQL语句之后的结果,把回忆出来好看一下。

那打印出来你看是有USM等于ADD me pass,五等于1356,id为一啊对吧,这个数据库呢给大家看一下啊,他执行的是normal01的执行这个select for admin,我们看一下呢。

当地的DMO01的admin,那里面就是ADD in123456和一嘛是吧,能取出来的,对不对,能够执行结果吗,没有问题啊,如果这里有错误,我就提示数据库连接失败啊,刚才这个判断逻辑还有问题是吧。

然后现在再去这个数据的也取到了,然后如何取出里面的username和password这两个值呢,来大家看一下啊,它因为这里呢是一个对象,它是一个对象的东西,我们这里那里要怎么取呢,这是在一个列表里面。

所以我们先取零再来取它的编号,兼职username就是取这个ADM的值,这个是取ADM的值,然后呢我分别打印,这个是去password值,这是第零个列表,就是里面的只有一行数据,所以它是把它归行的。

知道吧,就是如果说你这有多行数据话,那么零代表第一行数据,一代表第二行数据,你比如说像现在啊我可以来加一个数据里面去,名字叫小迪,密码呢叫小BSCID为R,你看现在啊现在之后呢,我们就把这个东西去掉啊。

那个注释一下,好运行一下,看一下现在的一个结果,那你看是不是有两行数据啊,那第一行数据小于离的第二第一行数据,阿德米的第二行呢小迪,所以你要取它的这个值的话,他的第一个就是它的零代表这个第一行。

第二个这个password就代表第一行的这个兼职为间,名为password,然后取它的U123456,所以我现在呢就这样写啊,去第零行第一行的password和取第一行的这个username。

把进行这个调试,看一下,看一下是不是会打印ADD in和123456,那么现在再来运行一下,你看是不是取出了艾德米和1350啊,这里我们再进行这个逻辑,怎么个逻辑呢,把这个地方衣服这里把它加上那个判断。

把这个U艾米替换成这个,不就可以进行判断了吗,对不对,是个意思吧,大家能不能理解啊,这个操作我就不做了啊,因为没必要呢再把它扣上去了,这个理解就可以了啊,就是无非就是说把这个结果呢把它写上去。

那么同样道理啊,它这个地方呢也会有SQL注入的产生,也会有SQL注入产生,啥意思啊,呃就是说我们接收完之后呢,会把这个SQL语句呢进行重定义,对不对,然后呢他也会有SQL语句产生啊。

就是也会有SQL注入,这里如果用到JS,那你写的话也会有四个出入,它的安全写法是怎么样的呢。

我这里给大家看一个项目啊,这个项目呢是腾讯的一个人写的一个安全开发。

里面有C加加go JavaScript,java Python来这里有个JASCODE安全啊。

我也给看一下啊,在那用node js呢去开发这个源码,你看啊他如果哪样写就有四个注入。

哪样写就没有,我们可以看一下,你可以把它组建一下啊。

我告诉大家是个什么情况啊,就是你这样写的话才有四个字母来看一下啊,就是这里呢进行一个while,条件是username等于一个值是吧,等于一个变量,比如说我们加上那个变量叫U。

然后再加上这个这种拼接的写法,拼接的写法就会有啊,我给大家演示一下吧,还是啊还是演示一下啊,来这是第一种啊,U加上这个这是那个接上U的值,然后呢后面呢再加上这个pass5and的password。

就判断正确账密码,就是这个字嘛,等于后面呢再加上这个P好,就是呢USM等于你接收过来的U,就是你发送的这个U可怕是过来去查询这个值,对不对,然后再加上这个东西,然后再执行是吧。

我们这边可以再定义好这个语句之后呢,把这个SQL语句呢进行一个打印显示啊,就是进行一个窗口的一个判断啊,解释这个U,然后后面呢在N的password再加上这个P,然后这个U和P从哪里来呢。

就是从这个地方来的嘛,从这个地方来的,所以我可以把这个写好的代码呢,给他copy到那个地方取这个post路由这里去是吧,那我写哪里呢,他不是要这里判断吗,他不接受这两个值吗,接受值之前啊。

我把这个判断呢就写到这来,或者先写个函数也是OK的啊,这你怎么写就怎么那个啊,这个呢就把注释掉,那么你看啊,现在呢就是接受这个U和P,然后呢定义SQL语句,再执行这个SQL语句是吧,然后取出这个值,好。

我们呢可以运行一下,看一下啊,把这两个人要起动起来,好来看一下啊,其中先来看一下。

好来看一下啊,我输入admin,然后输入123456。

提交好,他报错了,报错原因是什么,数据库连接成功,这里呢也哎等一下啊,接收到啦,你看这个语句里面是呢也接收到了,那为什么报错,那他数据库连接失败是什么原因呢,因为这个语句呢有字符串。

这个语句这样写有问题,他需要加上个单引号,加个双引号,加双引号,加个双引号啊,就是这个值呢,因为它是字符串,你不能说直接拼接上去,所以在这个地方呢都要注意。

好这样子写,我们再来看一下。

你看现在就正常了,你看是不是接收到了,你看那艾德米啊,password等于颜色物流,那判断呢接收到的是艾德米和颜色物流打赢了,那这里呢执行我们就进行判断嘛,进行判断,这里那就进行一个if判断嘛是吧。

就判断什么呢,低辅前面的U等于等于这里面的值对吧,并且,并且P等于等于这里面的值就怎么样呢,好就按照这个逻辑来嘛是吧,就这样一个操作,是不是,好同样道理啊,Else,把这个注释去掉不对。

这样就应该就可以了啊,来试一下。

看着啊,这面刷新一下,输入123456提交,欢迎进入界面,然后呢这是他执行的四个语句,好输入个错的提交。

哎报错了报错了,这个页面直接崩了,那说明逻辑哪里有问题哪里有问题啊,呃为什么刚才这个东西一旦报错之后呢,你不行呢,这个要做容错处理,就是因为你发送的这个账号密码呢,在他执行SQL语句的时候。

没有正确的进入这个逻辑,啥意思啊,就说你执行那个语句没有任何返回,结果你在这里呢还在判断,所以他有个错误,所以我就需要用那个try尝试,然后呢,这里有关于他的try的一个使用。

就是说就和那个Python语言呢啊几乎是一致的啊,来try,然后呢如果报错,嗯这个try可以查一下他那个使用的东西啊。

看一下啊,容错,报错妈的那直接看上节课我写好代码。

我都搞忘记了,这是try和什么呀,卡齐啊,哈齐吧,嗯来这里,那就,直接提这个错误吧,就是说如果正确逻辑,然后再试一下看,对不对啊,我也不知道对不对,那错误提交了,看到没好,我们再看正确的哎。

什么情况正确的哦,正确密码输错过了123456。

那看到没,这就正确了好吧,哎你让他解锁这个语句是吧,就全部丢了对吧,而如果说你要注入,那也是OK的呀。

那你要注入也是OK的,你看啊,我在这里如果写个写个什么,and under一个永真语句,是要写个永真语,怎么写呢,呐这个SQL这是讲着讲SQL注入原理了对吧,你这讲那里面的也讲到安全上面去了。

哎写个永真语句,那就是说你拼接这个语句吗。

就怎么写的呀,就在这个后面这样写啊。

怎么写呢。

看一下啊,来呃这是原有语句是吧,你在说的米我怎么写啊,我这样写啊,看着啊,这啥情况,那我唉这个要讲就是和那蛇口猪一样了。

哎我给给他执行一下,看见没,这是原有的那个语句,你看我在那写个这个东西,井号就把后面屏蔽掉,就让后面的不不再判断了,所以他就只判断USERUM是不是等于2米,然后一等于一是吧,这里还可以写个and的。

或写个OR更标标准OR就是或语句前面,那你不管enemy有没有乙等于乙是真的,真和一个假就是一个真条件,所以说这个前面的无论你是啥,执行之后呢,哎啥情况。

你的ADD米,好出来了啊,不知道啥情况,刚才不知道是什么鬼,你看是吧,这样写上去,你看下对了呀,是不是,那这样写,那就有返回条件,有两个值了嘛对吧,所以我就可以直接怎么样呢,写这个东西就完了。

前面你对不对,都无所谓,那就随便怎么写,他还是有值,为什么,因为前面这个条件不为它,不为真和假都无所谓,因为这个O或于一是真,前面是假真,它都返回真,真的就有结果,所以这写不写的B都无所谓。

我拉我主语句就这样写了嘛,我的用户名我就在这里写这个东西嘛是吧,看着啊,我用户名就写这个东西。

那随便写,那写这个东西哎,等一下没法启动。

那我这用户名我就写这个东西,密码我随便写,对不对,你看啊,它会提示什么呢,点击登录,那他就是接收到这个数据了,你看但这里没有提示。

那题是因为他在这里判断你接受的值,它是这个逻辑,因为他判断的是结束的值,和这个数据库里面值对比,但是这里已经产生了这个数组,正常来讲的话,他判断就是判断这个有没有返回的这个行数,能理解吧。

是我这个判断自己写的有问题啊,知道吧,所以呢他没有进入这个欢迎登录后台,因为我判断的是值,所以他接受的值是这个和这个U对应不上,如果这样写的话,就是无法进入正常逻辑。

正常来讲它是判断这个指引结果里面有行数。

因为如果说你这里密码不对的话啊,你就像我们这样啊,我搞个密码不对的,这密码错误的这种东西,那么它就没有行数,安德了,password等于随便写个东西,这个不对嘛,然后他就空行。

你写对了之后呢,他就行数,所以说如果他判断函数,那这里就有问题啊,就可以进入到这个逻辑,如果说他判断的是这个值的一个判断,那这里我这个注入呢只是执行这个SQL语句,但没有进入这个逻辑。

但这里SQL注入还是有还是有产生的。

那么安全的写法呢,大家可以看一下这个这个地方的啊,他和那个java的有点类似,来应该采用预编译,这里面又说到预编译的写法,预编译写法是怎么写的,你看一下啊呢这是不安全的写法,就是这种拼接写法啊。

然后呢预编一些吧,你看啊加个什么问号,看到没,预编译是什么鬼呢,还有这种呢利用这个白名单去擦拭来,就放四个组的啊,原意啊,这个呢在我们后面要讲这个猪漏洞的时候,会给他说啊,这是属于代码升级的一个操作。

像java里面的通常都是像这种搞法来,就这个语编译的这个SQL语句的写法啊,node js呢也支持,pp呢也支持,但是pp呢很少人用啊,这个楼JS也支持,你看vb写法,如果用这样写法的话,就是安全的。

啊如果像我们这种写法就是不安全的啊。

这种写法直接拼接来就不安全哎,啊这个怎么是预编译呢,我们现在呢还不不不讲到啊,你们不要操一些侠心啊,这个是我们现在还是说开发里面,一些判断有没有安全问题的逻辑啊,这个鱼BA应该在讲设个租屋的时候呢。

我们会说啊,它是一种代码中防护设个植物的一个手段,在java node js pp里面都有。

但是pp很少见,java里面居多,好这个是SQL组文件功能的啊,那么现在呢我们再来说他的文件管理功能的。

一些操作也是不是会造成一些问题呢,啊一样的道理啊,我们就创建一个这个文件名字叫file,点JS来做文件操作类的操作啊,那么现在让我们再来写文件操作类的这个操作,circle这个呢我们就把它关了啊。

来做文件这边的开发。

那么这个file呢我们就来做文件管理的,他的漏JS作为文件管理的该怎么操作它呢,我们可以搜一下它的一个大概,文件操作类的函数,那文件系统里面呢有类似的文件的写入,和文件的读取,那这里有很多这个东西呢。

这文件读取的还有文件夹的读取,那里很多啊,你可以往下面翻读取文件,那读取文件它用到的是什么函数啊,啊读取文件函数呢这里有很多啊,那可以看一下,下面呢直接放到下面啊,有个文件啊。

这是创建目录的这个MKDR的一些函数,包括下面删除目录啊是吧,还有文件模块了,你看这里呢就应该有那个文件读取目录的,但这是所有的函数,是吧,那我们来看一下啊,在哪个是文件读取目录呢。

你可以从这个字面上理解,这个应该是写入文件啊,读取目录的,读取目录下面的列表的,那么就是控制东西的啊,嗯这里没看到啊,应该就是V的DR那种类似的一些名字了,没写cos d r make dr删除。

哎呀还找不到啊,哎,找不到啊,找不到,昨天我都看到了,想翻啊,我要找的啊,不要让大家这个找不到由来,找不到由来就尴尬了,昨天我都翻到了在哪里呀,是在这个是web模块,那个应该是做文件上传那里。

我看到的文件系统是不是在这里面,应该是在这里面啊,这里应该有了啊啊这里有,嗯这个是做他的一些操作的,然后下面有这些东西啊。

我给大家直接看一下啊,呐这个代码呢就这样的嗯,怎么写呢,你看啊就是呢,文件那个便利呀,那read dr fs fs上模块啊,就是专门来源文件操作的,为DR读取这个DR路径啊,然后呢获取这个files。

这个files呢声明一个变量啊,在这里,然后读取它好给大家演示一下啊,如果写了,首先呢REQRYAR1导入这个FS模块,FSS呢是专门专门做的啊,然后声明一个变量CONST就叫FS等于这个值好。

我这里呢准备好安装一下FSNPMIFS,安装下这个文件模块,好安装好,然后呢呃这里怎么操作呢呢,啊我们这里让你看一下啊,这个用vs dr来读取,那我给看下啊,FS点V的DR。

呃这里还有个SYC来我看一下啊,我读取这个点当前目录是吧,读取完之后,后面呢写成一个方形啊,有个错误,接受错误和接收文件内容的就叫files,好就接收这两个东西嘛哈,对吧。

然后这里呢进行一个简单的一个判断呢,哎妈的斜的有毛病啊,这里还,哎这咋多了个括号,这搞得真是方格形里面这个是括号,这个号,好可以了呃,你这里呢就结束了,判断这个错误没有的话,就进行files。

我可以把它进行一个FS的输出给他看一下啊,console点这个情况,那直接获取当前目录的一个结果,就这样简单啊,来看一下啊,来运行一下,看一下,常识node js这样你看他就是获取出来了嘛。

你看这是我当前这个路径下面的文件嘛,对吧,那所有东西了,然后这下有目录的就显示目录嘛,这是目录的,然后这个有文件的是文件后缀啊,第二个判断再判断目录啊,再把它锁编辑出来,这都行的,那这就这么简单。

对不对,然后呢如果说介绍web应用的话啊,也很简单了,介绍web应用的话,那就无非把这个web应用的给他拿出来,那怎么写呢,我直接粘贴复制吗,来看这web应用的是吧啊,搞个web应用的呢,搞过来看一下。

玩一下的,web应用刚才已经讲完了,创建web应用,当你去请求这个files的时候啊,然后呢你看这web应用的啊,启动web应用,点logo提示这个web应用,三前端口已启动。

那那里这里那就是请求路由地址,get为failed,然后接受值呢I块如果接受DRDR了之后,那就调试一下电压的值,然后用这个file manager去执行这个电压值。

所以我这边就创建函数function,点R好名字,创建这个叫function,然后fast match这个函数,然后参数给它传DR,对不对,好把括起来,对不对,就这样写的,玩的没对吧,就调用这个函数。

函数呢传DR2DR呢,就这里呢变量替换到这来,那获取个第二值,然后呢这里把它进行显示来我们看一下,就是用web应用呢去哪里访问来,我们要运行起来node js访问1270001,默认是为空。

因为他要请求这个file路径,请求files这个路由file,然后后面加上参数DL,他接受第二了一个值嘛,第二了给他一个点点斜杠获取,你看他就获取这个值,然后呢如果是两点斜杠,就商移加了上一级的路径。

那么如果是C盘或者C盘,那这是C盘路径,看是吧,获取C版呢,这里输出这个DR的路径,那这个呢是显示这个csol files路径嗯,同样道理啊,这是一个简单的一个文件管理操作啊。

就说这里呢就用node js呢,来实现一个文件的编辑操作啊,同样道理啊,再便利不好的话,权限控制不当也会造成这种目录编辑漏洞,这个是最简单的实现啊,这个是用node js来实现这个文件类似操作啊。

就是我们常说的文件编译啊,那些东西啊,同样道理啊,如果说是文读文件读取,那也是一样道理啊,就是通过全参呢来改变读取的文件,和读取的目录,导致的一些泄漏和读取漏洞等等啊,这个很简单啊,没什么说的。

就是大家呢熟练一下这个node js的一些常见的函,数和代码就可以了啊,因为我们主要是呢要说他的安全问题,这其他的就不说了,这个是他的文件操作的一些操作啊,然后呢还有一种就是我们说的命令执行。

命令执行呢分两种,一种是代码执行和命令执行,我们来分别解释,首先它创建一个文件名字叫RC一点JS。

如何进行命令执行呢,在他的这个里面也有啊,就属于叫操作,这个叫京城的啊,紫金城,那这个呢就是执行命令的两个,一个是库,就叫check pose,然后呢如何包含它来大家演示一下啊。

G命令的函数给大家简单介绍一下。

REQUYICER1包含这个库名啊,发这个户名啊,同样道理呢也声明一个变量呢接收cost,声明一个叫RC1等于插件,然后呢看RC1啊,RC一点,一个是EXEC,这个是干嘛的呢,给大家说一下啊。

LADC就是执行命令的,执行一个什么CRACCLAC是干嘛的,来我先给大家演示一下,我们在电脑上面执行CLAC就是计算器,啊这是计算器嘛,命令命令执行cl AC。

你现在呢用node js js文件拿去调用这个库,然后呢去执行一个CLAC,看他是不是能把计算器给它弹出来,好,我先在这里呢先把这个啊库安装好,NPM哎,我怕库没安装好导致失败啊,先把库安装好。

都要安装库的啊,提前都要把库安装好之后呢,我们再来执行RC一点JS执行,你看计算器弹出来了,看到没来执行呐,调用这样系,那比如说我执行note pad node part。

就是我们说的什么记事本来执行呐,看到没自动打开即时的,看到没,所以这个呢就是利用node js呢,来调用系统命令执行,这个呢是我们说的啊,嗯这个loader js啊,调用系统命令执行的一个操作。

那么这种呢是我们说的系统命令执行,还有一种呢就是代码命令执行,就是称之为代码执行,一个是命令执行,一个是代码执行,还有一种呢就是我们说的这种代码命令执行,那就是用到这个什么EXC函数执行什么呢。

大家看着啊,我执行一个什么东西啊,比如说我执行一个console,点logo,咦这是个啥东西啊,大家看一下啊,这个是写到了这个什么,这个是写到了这个什么字符串里面,而字符串里面呢是这个什么一个值。

这个值呢是一个JAVASCRIPT代码,这个就是说把字符串,当做这个什么代码解析是这么个意思,这是代码执行命令,执行的是调用系统命令执行,用到的是EXC这个函数,它也可以用到这个函数啊。

这个函数我也忘记给他讲了。

就是里面还有一个函数,就是这个啊笔记的写的啊。

那对两个EIC和这个spin s y c,也是可以调用这个值的,先把这个注释一下,先把这个注释一下,先给他运行一下哦,刚才忘记把这个函数就说他有多个函数哎,这个咋不行啊,这个人看上这个代码啊。

应该是哪里少了一个参数,他这个参数有点不是不一样好吃,打开文件,参数有的不一样啊,那就这个CLAC可以,那奇怪了啊,这个load帕加加怎么不行啊,这这莫名其妙怎么不可以啊,它提示一个没有定义这个函数。

装哭的时候没装好吗,难道是SP,这有个啥东西啊,什么情况哎,可以了,这不知道啥情况啊,刚才这就可以了啊,说这也是一种函数啊,那么接下来呢我们再说这种呐,调用命令执行的,你看这是个命令嘛,对不对。

这个JAVASCRIPT的这个JAVASCRIPT命令啊,JAVASCRIPT代码这是写到字符串里面去了,用excel呢把它包含,然后你看是个什么效果啊,把执行你看调试框里面输出一啥情况。

就是把这个字符串的当做代码解析了,对不对,那么同样的道理,我是不是可以这样去写呢,写个什么,你看啊,那我可以这样写的,我包含一个东西,然后再执行这个SLAC,这是一个字符串。

但是呢他为调用下来是这个操作呢,就是就利用这个字符串呢解析成代码,代码呢由于执行呢又调就命令,执行呢调到了命令啊,密代码执行呢调到命令执行,看一下啊,来看计算机闪出来是不是。

你看这个就是关于他的一些RC1。

那RCE上面呢也是有相关的过滤的。

这个操作的啊,就是它上面呢如果用到这些函数和代码呢,也会造成一些RCE漏洞,RCE呢分为两种,一种呢是命令执行,还有一种呢是代码执行,简单来说,命令执行呢就是利用脚本呢去调用系统,命令执行。

而代码执行呢啊它的函数呢就1fl,然后呢这里呢有两个这个命令执行函数呃,这个node js里面呢,代码执行呢就是把后续的字符串呢,当做node js代码去执行,这个就是我们说的啊,后期呢再讲了。

这个漏洞石呢我们会再详细讲啊。

现在呢不需要刻多了解,那么这两个之后呢,我们就要讲啊,常见node js里面的安全问题有哪些,我们刚才看到了有SQL注入文件操作的人,目录编辑的一些演示,包括刚才的RCA执行。

还有个它比较有特点的那种叫原系列污染,这也是前面几节课大家有人提到过的,但是说实话啊,讲不讲都没什么关系,因为你碰不到,只有在CTF的提醒里面才会才可以碰到,在常规的一些这种实战中很难碰到CCTF。

他喜欢考这东西,所以说你不关注这个CCTF,你不吸,你也不打这个比赛的,你仔细想强调实战技能,那这个圆形的污染你懂不懂都没什么关系,因为你碰不到圆形的污染呢,它一般在CTF题型里面需要考。

那么这个圆形的污染是个什么鬼东西呢,我给大家说一下啊,然后刚才我刚才也说了啊,这个node js呢它是黑盒无代码分析的,啥意思呢,就说呀我们打开这个网站之后呢,看到代码呢。

就我刚才说的那个和那个原生态不一样是吧,这个代码呢是在服务端的,node js呢是个服务端的一个程序是吧,在客户端是看不到代码的,所以如果说你在实战中呢,去打这种node js的网站的话。

一般都是两种情况啊,就是常规的那种测试,再就是我们说的代码的分析,就是百合啊,黑盒里面可能操作。

包括我们类似的识别插件啊,我给大家看一下啊。

像刚才我们创建下来,它不创建网站吗,我们在这里识别的时候,它也能识别出来的啦,你看这里的框架里面呢是吧。

编程语言node js呢框架呢是不能识别出来,没问题啊。

刚才我已经说了啊,好这个来现在来到这个东西啊,这里是思路啊,就说关于这个load js它的安全问题,一般是怎么分析到的呢,在黑盒中的话,那没什么好说的啊,就是看它的参数,通过参数呢修改来测试有没有漏洞。

白盒中就是看代码,就是我们像现在我们写代码一样,就是看他代码中的写法有没有问题,有没有过滤啊,有没有按按照按照一些安全条件去写,就这个意思啊。

所以它的实战意义呢,我给大家简单写一下啊,这白盒,这是他的思路啊,然后包括怎么去判断是不是logs s呢,我刚才也说了啊,判断呢就是参考我们说的前期的这个行程,日集呀,对不对。

那个茶几呢刚才也判断出来了啊。

除了这个插件,如果判断不出来,你还可以看其他的,看什么,其他的呢,因为这个诺JS呢它有个特点啊。

他有个什么特点呢,这个数据包里面也能判断出来给大家看一下啊,其实前期都讲过了,我是不想讲,有些人老要讲讲讲,你看这里呢这个数据包里面都有,你看来我粘贴一下,你看数据包里面哈,不讲呢就会有人问,哎。

烦得很啊,前期课算是白上了,哎这网络跑哪去了,网络东西呢,你妹的网络咋没有了,他带一个那个数据包啊。

哎呀,哎本地调试好像看不到网络的东西。

来看下来,你看到返回包里面啊,你看这个仿包里面都有特点的,你看这插播版了,是不是看到没了,这就是low js的框架,他很多这个特点啊,就这些特点。

那你都是可以判定标准的啊,只是我们说的实战意义,就讲它的实战意义啊,好那么现在呢我们就来说这个圆形的污染,原形污染是个什么情况呢,就如果攻击人的控制并修改了个对象的圆形,什么叫圆形粘啊,就是在代码中。

程序开发中呢会有一个东西叫做继承的关系,就是什么父类啊,子类这种东西,就我们要面向对象的一些开发人,都会有这种继承的这种说法是吧,那么在node js里面呢,有个类似的东西叫PROTO。

那这里呢我给大家看一下一个例子。

这个例子呢就能很好解释,这个燃性硫污染是什么东西了啊,它其实就是开发中的一种啊,这个基层的概念所造成的一种东西,然后呢刚好这个语言呢有这个问题,就叫Y杠啊,C1吧,他因为一般呢也会用到它啊。

我们给大家看一下啊,啦比如说现在呢我创建一个这个变量A呢,就等于这个ABC是吧,然后呢我在这里呢把它进行一个打印,打印这个logo a,嗯然后你看一下啊,我在A这里呢,我点点P。

我直接看那个把那个例子拿出来吧,我懒得一个个写了啊,这个代码也非常好懂,也不复杂,哎我说我商开发呀,我不想扯到安全的问题上面去,不扯不行,不扯呢,有人就说这上了有什么用,你扯了。

那就和这个开发的有没关系啦,哎呀尴尬的事情来看一下,来看下上面这个东西啊,那这个就是来形成污染啊,大家看一下啊,来这里声明一个,这个logo呢它是个JASCRI的,然后里面的值呢为一,我们打印它好。

先把这两个注释掉,大家看一下啊,我先把打印,哦这里没注释掉,我说怎么回事呢,这样他就大于一,那这个点个打法呢,你看啊,那创建一个变量ert constant VR都是一样的啊。

来创建一个它BAR的值位移,那么它就打印这个,这里调试FO呢位移,那这里就位移了,是不是好,那接下来看着啊,我再把这个东西把启用起来,修改它的类型,看用它内置的一个东西,叫这类类似我们说的继承的东西。

把这个DR呢改成R,然后呢我们再打印它,你看着啊还S1啥情况呢,因为这个呢是说顺序原因呢,它还有一,然后呢按照正常为二了,但是你看啊,现在当我们在获取一个新的东西,他以前的未知他已经复制为一了。

所以你再写上去呢,写二他打印的时候还是为一,他已经位置被占了,但是现在啊如果我声明一个ZO变量,当我去打zoo里面,ZO里面的BAR,你可以看到zoo的BR是没有四,之前是没有设置值的。

但现在你看它的值变成什么,变成了好,为什么,因为他有个基层,比如说我这里呢为小为叉因数,那它的电子差,我明明设置的是FO,怎么影响到ZOO呢,只有我这里压根就没有设置啊。

就比如说我把之前这个代码注释掉之后,你看这里打印它就会有问题,没有定义,因为你这里没有定义BOR值啊,所以也就是说这个东西是从哪里来的,是由于你修改了FO这个变量,这里面的这个PRO继承关系。

导致上面的ZOO呢受到影响,他的BR呢就复制成了X,你可能说我为什么不等于移呢,因为你这里呢是十只搞了一个,所以说它的顺序就是相当于顺序一就等于一好,然后呢你设置这个东西。

那么这个东西呢就相当是二或说零啊,它是等于这个一的对吧,等于NNX的,等于X的,然后呢你答应他的时候呢,他顺序还是一,就等于一,他这里就没有改变,但是是个新的东西,这个里面它是为空的时候。

所以它的零呢就相当于他的这个什么这个地方,你可以说我12S的明明是FO变量啊,这个是个语言特性啊,他的一个继承关系就是一些这种对象的时候啊,利用这个生命对象的时候呢,他有个继承关系。

这个是内置的魔术方法,就和我们说的那个pp的一些东西一样,就是脚本呢他有些内置的东西啊,通过这个内置东西呢可以进行进行操作好,那么现在啊我们就看这个例子,这里呢就会利用这个圆形的污染呢。

把原有的变量值呢给它污染,那么大家可以看一下,现在这个例子就非常好理解了,来看着啊,这个例子呢先把上面注释掉,是个什么例子,大家看了啊,FO等于一打印它等于一,现在我把FO这个值呢线上给命令执行。

执行个C2AC对吧,然后呢我用这个执行这个BARBR,明明这里是为空的,但是由于这里的设置这个值,所以导致呢,他执行出命令,这个圆形的污染呢,说实话讲不讲啊,无关紧要,有些人他就喜欢听,你也没办法的呀。

CTF里面才会考,实战中哪有这些乱七八糟的东西呀,哪有那么多条件满足你呀,你代码都没有,你你搞个啥子呀,你搞其实这个有代码和没代码是蛮逗,蛮重要的,有代码蛮好分析漏洞,没代码自己压根就是乱扯一通。

你哪知道是个什么逻辑,那车都很很难测的,这个有代码才好分析啊,实战中你有没有代码都不知道是吧,那CCTF里面是给那些代码给你参考,让你去考这个知识点,所以说这个东西只有打CCTF有用。

不打CCTF的没用,这个原型的未来就这么回事,你说有啥难度,那讲讲讲,讲个毛啊,不想讲啊,讲的也没什么卵用,但是不讲呢,就说低端那个没办法的事情,你讲了之后,你看这东西就是个啥东西,就是个概念。

这个圆形的污染说得神乎其微,条件特别多,条件是什么呢,条件是别人首先要用到这个东西好,用到了之后呢,还要有新的变量呢,是这么一个生命方式,这是第二个条件,第三个条件。

那就是我们说的用到一些这种类似的一些函数,那所造成的漏洞,假如他不用这个函数,1fl你也没什么用,没什么用,你就无非改变一下另外一个变量值有啥用呢,啊他除非又用那个微型函数,刚好呢又调用这个变量。

三个条件,你觉得在实战中出现的可能性大吗,不大呀,嗯只有CCTF,他搞这种设计,就是让你知道这个语言漏洞啊,考一下你知识点,实战中你碰都碰不到,本来这个都JS网站就少,这个就是圆形的无氧啊。

打CCTF有用,实战中没有半点用处,学也不用学,所以你听到了就当没看到一样。

他就这么个东西啊,你说这哪是开发的事情。

那是哦,那那那我们哪是讲开发的,讲漏洞去了,要停吗,只能给你安排上了,哎还是我挨呀,对不对,我压根就可以不用讲,我是真是把这个开发也讲完是吧,就完了,我后面我再讲的漏JS安全时候。

那我再给你讲这个软性结构,那没办法啊,这个现在逼成这样子了,你有些东西呢你不讲一下安全带没问题呀,好我们再来看一下啊。

把这个漏JS讲完之后呢,我们就思考几个问题啊,那我们来看一下这个顺序,刚才说到环境搭建,包括安装它的这个解析环境,然后包括它上面的这个代码的库环境安装啊,这个也该写了啊,直接安装解析环境。

就下载这个ESE直接一步执行,然后重启电脑好就可以了,然后安装库呢,就是在这个命令行里面去输入这个东西是吧,在你当前这个项目里面呢去输这个东西,安装库再来看一下,这个在里面呢去实现了这个数据库的操作。

文件的操作,包括命令执行代码执行的操作,然后呢这几个对应到他几个漏洞,对不对,那么一般node js有哪些常见漏洞呢,那它有哪些常见漏洞呢,对不对,就是其实就是我刚才说的那几个啊,然后那个特有漏洞。

就是圆形的污染派的一个特异漏洞,这个圆形的污染呢在其他语言里面的没有,像PPT里面就没有这个东西啊,虽然有,但是很少,然后呢再看一下它的应用加字,一般学这个load js呢有两个应用加字。

CTF里面有这个题型,再就是有些源码里面有这个题型,那么现在我们就来看一下这两个项目啊,首先CTF的题型。

就说我们学这个东西有什么作用是吧,要给他解释清楚,免得有些人学完之后呢。

都不知道这个学了有什么作用,你比如说像这个CDF的啊。

我给他看一下。

还有这个题型啊,我们会给他说的啊,你看这个CDF修里面啊,这个入门知识,这里呢有专门一个打CDF的一个题型,我们看一下啊,这里有个load js,有个专栏,我们看了之后再加个今天的开发学。

看打它就有没有效果了,你看了第一步了,这个34334关的来,这里有个文件是吧,压缩包好,这是提示文件,然后这里有个这个flag好。

先把压缩包下下来啊,看这个什么东西,哎这怎么没后缀啊,没后缀,我打开看一下是什么鬼啊,妈的要注册了。

还要没破,破解这个1。101啊,pk的文件头。

那就是这个zip格式嘛,那直接用这个party打开,哎,果然那里面有两个JS文件。

那打开看一下吧,是什么东西。

啊这里面有个JS文件啊,把打开看一下,看看是什么鬼。

来一个load js,一个这个user js这个文件啊,我们先按load js来这load js的一个代码,我们今天教你大家了,你看这个罗杰斯能不能明白了,这个C点F放在你面前你就能搭了呀。

你代码看得明白了呀,你没学过,你咋看得明白呢,把这个题型放到你面前,你咋答呀,这都不知道是啥玩意呀,那今天刚好学到的呐,XP呐这路径一看就知道了嘛,post all请求这个路径哦,是这个情况。

那flag他说flag在这里好,我们看一下它只是一个怎么个判断呢,这个登录啊,这里提示什么这个登录成功的失败,然后还有一个user js new js,他说的是啥呀。

哦username等于c t f show,password等于123456,然后这里有个提示啊,但他说是这个啊,这是路由关系吗,路由呢post请求当前路径r e q r e s nest好。

你看那接收变量FAUSER呢是当r u q body呀,是我刚好讲过的呀,post提交body,username和password,提交就这两个值判断啊判断,然后他说这个flag flag在这。

我看下flag在在在哪里出现,那说UZUZ等于之后呢,嗯啊这里也是GOOB的值都写清楚了,CCTF修和password,我试登录试一下就完了嘛,flag呢在这里啊,我看一下页面渲染哈,登录400好。

登录成功,那你看登录成功之后呢,就看什么呢,RT的就等于flag,他就把那个flag输出来嘛,来flag输出来,那就是登录成功,如果登录成功呢,他是给固定好的CCTF修个密码呀。

那就打开那个页面啦,直接登录啊,看明白了吧,哎怎么还没打开啊,我知道什么情况了啊,呃有人在用这个CCTF秀啊,他在打卡带,打卡了,在通关了啊,唉这呀这我就真尴尬了啊,他这通关我这用不了啊。

你们说这尴不尴尬,还把我提出来了,谢谢你啊,我的号我都不能用了啊,现在,我教你们不要用这个C点F写,用了也没用啊,你用了之后,你妹的天天和你抢灯,你刚开个环境,他把你关掉,刚开个环境把你关掉,你咋办呢。

刚刚打到一半哎,他把提出去哎。

那184关正在做啊,小伙子还在努力学习,没有听课,还在做实验呢,真是爱学习的好孩子呀。

搞不好还是内鬼是吧。

什么情况,刚买的号,怎么一直有人跟我抢灯呀,来输入一下呗,啊CTF修,密码123456哎,提示密码错误诶,什么情况,打错了吗,我。

这个怎不对啊,哦应该是还是还是有个验证的啊。

好密码错误,你看一下啊。

他这里应该还有个验证,我刚才忘说了,那,呃登录成功嗯,判断user uuser有值,User,是这里呢有个这个这个这个这个东西叫find the user,User,这个东西呢你看啊有个因子呢。

如果不等于CCTV修,然后密码呢有个什么这个鬼东西,to up公西。

那这个东西是啥呢,我也来看一下啊,这个东西可以参考下,这个其实不是我现在要讲的啊,真的是有时候没办法哎。

这是后面要讲的啊,我只是现在给你提一下。

关于这个CDF学的一些语言特性都通啊,有个文章啊,文章呢给大家放到这来,什么文章呢。

看一下啊。

关于CDF修的logo js的小知识,就是关于上面那些绕过,你看大小写,绕过呢,是不是刚好用到这个函数啊,嗯怎么绕过呢,直接可以用过这东西呢,一一处理就完事了,比如说这个资产这个东西就用这个东西是吧。

I东西一处理就可以了。

呃你可试一下,然给试一下。

这都是我们讲的,这全部是关于CDF的一些技巧,关于load js的啊。

嗯还不对。

呃字符串A经过特殊的为I,这个为SCTF修CT,麻fish,那他就是这个脑瓜啊,这个是哪里是怎么捞的哦,我倒还搞忘记了,求SS换小写。

换小写就可以是吧,哎这个不是说打不打他都行啊。

直接看个答案吧,fob334的,你看这个啊,那他这个提交结果呢,换小写就可以了啊。

他妈的真是搞得莫名其妙,换个小写就可以了啊,嗯这我还真的是那出来了呢,结果来这个叫flag额。

其实那就是说你通过这个案例呢,你就可以明白呀。

这个东西就这么简单,有啥难度呢,CDF就你看清楚这个代码。

你就好分析了呀,你包括他的下一关的这个代码都写这么清楚,逻辑,那就搞明白了呀,是不是你没有学过low js,你哪知道这是啥意思,都看都看不懂,学过就好,明白了呀。

这是学它意义啊,打CCTF有用啊,对不对,好这CCTF的。

那么他的第二关我们就不演示了啊,因为这几个关卡呢说实话啊,我们后面讲的这个js NO总是全部会打的,就包括这个窝web这个入门这里啊,这里面些场景漏洞啊,我们讲的漏洞都会把它打一遍。

就是这里面的都会打啊,大部分都会打啊,七八十%都会把打一遍,打完之后,基本上你在打CDF的这个外部体形,就没什么问题。

包括打的时候呢,我们也学到了一些各种漏洞利用啊,这是我们的说的这个情况,就是web漏洞呢,我们以这个实战的cm s的漏洞呢。

和这个CCTF的题型呢为准,去讲这个漏洞原理和理解嘶啊。

增加大家对打CCTF的这个技能,也同时呢增加对漏洞理解啊。

这是我们的这个web课程的一些设计啊,然后呢这是CDF提醒,那在实战中有没有用呢,你比如说啊这里就有这个平台,叫y a pi这个平台啊,y a pa平台我们可看下文章啊。

给他讲一下使用价值i yi pi的个token注漏洞,它是一个什么呢,这是在网站的这个地方啊,在网站一个地方我们来看一下这个地方,就是他那是一个可视化的一个接口平台,源码就是web源码。

然后呢他的这个设计呢就用node js的好,然后呢node js里面有个猪漏洞啊,这是他一个分析啊,就是在这里呢,他没有打过那个对函数呢进行便利,导致的一个注漏洞,在后面一个测试。

也就是说网上的有些这种源码呢,也是用node js写的,它也是用node js写的。

所以你要针对这个漏JS呢也可以分析到啊,这个什么YAPA这个源码。

这有点卡啊,妈的太卡了,打都打不开,直接看那个介绍就可以了吧,这个是那个一个本地部署的一个,web可视化的接口管理平台啊,是一个low js开发的一套程序,那么它在它里面呢出现过代码。

执行漏洞和注入漏洞,然后呢如果说你不懂node js的开发的话,简单的不能看的话,那么这套程序你就无法发现漏洞,假如说这个程序呢在你互网中呢是一个目标,而这个程序呢网上没有公开漏洞啊。

你刚好有懂lots,你刚好省了这个漏洞,拿到手上,碰到这个目标就直接打下了,你不就是护网中最靓的仔了吗,与此类推,就这个意思,那也说一些源码呢用各种语言来去实现,你学各种语言的。

去开发什么PPP的录入JS的呀是吧,包括java的哪种语言,你最擅长搞哪种语言的一些分析,能挖到一些漏洞之后呢,手握在里面是吧,打的时候呢有这种未公开漏洞。

那么就一打一个准嘛,所以这也是我们学它的意义啊。

学到了两个意义的那个load js p p我就不说了,因为P1P呢,不管是CTF还是网站实战中的源码中都有,java也是一样,这个low js呢比较冷门一些,但是呢同样道理。

在CCTF的题型和这个实战中,也同样也有漏JS开发的程序源码,所以他和pp java是等同,加之它也属于JS中的一种开发的框架吧是吧,那么还有几种像什么VUE1啊,那些我们说真的是有点不想讲。

因为没有什么安全漏洞,你即使知道他是VV的,你也审不出来,漏洞很难像这个logo js呢,还有一些其他东西还可以省一下,啧在前段漏洞比较少啊,一般主要就是通过源码分析。

再次在里面去找一些这种泄露的什么K呀,再是一些JS里面的一些这种逻辑上面的问题,一般逻辑漏洞比较多一点,像那个什么出现什么猪肉啊,那些男说实话还是比较少的,好这个就是我们说的意义啊。

我们可以看一下这个章节点啊,让大家明白,我们在讲pp开发的时候,从开发里面体现出来了,原生开发里面的安全问题,造成了什么,SQL注入文件,上传文件下载文件读取,然后利用模板呢造成了这个模板注入是吧。

然后呢用到了这种U1edit编辑器,编程呢有安全问题,也同样会影响这个源码安全问题,模板的引用也是一样的道理,当时呢最后一次课讲了这个sync pp开发,对不对,然后呢在pp的版本上面啊出现安全问题。

所以造成这个程序呢也有安全问题,这是在讲pp的时候,那么再来看JSJS呢讲过原生开发,用JAVASCRIPT呢原生开发了个AJX一个请求,然后里面些逻辑安全问题是吧。

然后呢今天又讲了这个load js啊,涉及到什么数据库查询啊,文件操作也会造成这样的安全问题,包括漏JS的特有安全问题,原型链污染,那么同样道理,像后面我说的什么非U1,还有这个JS的这个打包器。

就是让打包这个JS项目的web pick,还有第三方库,就是引用一些第三方库,从各个方向给大家展示出来的,这个开发中面临的安全问题,pp的JS的最后面就是java的。

这就是我们整个开发课程给大家提到的知识点,一定要关注到啊,我们讲课是为了告诉你哪些面临安全问题,有什么特点,把这个搞清楚,后面呢在学到完完全漏洞的时候呢,我们再一一对应上。

那么这个web课程呢就完美了啊,包括后面的代码升级也是这个意思,他对于后面的这个web漏洞的理解,包括代码审计是有非常大的帮助的,因为你就知道这个漏洞产生在哪个层面啊,他是是源码的问题,还是插件的问题。

还是模板的问题,还是框架的问题,还是注解的问题等等一系列把它归类好,那么我们在做代码分析的时候,那就不仅仅是看代码的,还要看很多东西的,因为有这个思路在你的脑海中,那么你才能是吧挖到漏洞。

或者说比别人挖到漏洞的机会就会更大,而不是说就指挥是吧,看懂不会想咳好,今天的课就说这么多了啊,内容就讲这么多了,我们下节课呢就来讲关于这个打包器,web pick和第三方库的安全问题。

就是呢在JS中呢引用了打包器这种拓展,打包器是干嘛的呢,就是更方便于程序员来对这个项目打包,他是一个辅助类,但是你用到它呢就会面临他的安全问题,包括你用的些第三方库,就像我们说的什么JQUY。

他也会有安全问题,下节课就是讲这个知识点嗯,好那么现在呢我们就说了这么多了啊,今天就讲这么多了,大家有问题就问。

没问题,我们就抛了啊。

哦这个还有个东西是吧,这个项目我也给他提过来,这个项目就是我刚才给他演示讲过的这个项目。

就有这个东西呀,就给你打包的嘛。

你就看一下这个索密码对不对,直接一个啥搜呢,再就是个安全开发,就是说常见的一些安全,那我们讲了JAVASCRIPT的,他就提到了啊,JAVASCRIPT可能会面临这些安全问题呢。

然后呢他也告诉你如何修复了,他是给这个程序员看的,也是给我们做代码分析人员看的。

啊这里有JAVASCRIPT和java,还有Python啊,pp没有,还有这种其他的是吧。

就是这种安全开发指南,等下我给打包的啊,这没什么说的啊,自己看这个资料,主要是看一下别人的安全代码怎么写的,然后呢你自己在分析的时候呢,就看一下这个安全,这个代码写的安不安全,就这个意思。

你们说的这些东西没有什么安全问题,我讲他干嘛,你像这个你说的这个V1还是个什么东西,走你我给你看一下那个飞一的啊。

你给我搜一下来,来安全漏洞,这里面的安全漏洞都看不到,连个漏洞都看不到。

这什么漏洞呢。

什么什么什么东西,啊啊这哪是什么威慑权,这压根就不是飞鱼造成的,就是他自己写代码的问题,还有包括在这个E的一些什么安全动作,这网上看不到啊,安全漏洞太少了,你讲太没有意义,知道吧。

还有你刚才你说的这几个,啊他说什么常见漏洞啊,什么控制不当啊,模板租了什么,这个还有点漏洞,这个可以讲一下啊,这个VU的实实在是没有什么漏洞,这其实这个和那个low js差不多。

也是那么几个几个常见漏洞,自己写写的不好,但非一直是牙根漏洞,没有这里讲的话,你讲这种东西呢,你是要有它有漏洞,你才讲,那漏洞都没有,你讲它干嘛,我难道是真的教你开发吗,啊你学开发。

你看别人的课程比我讲的更好更全更美,那你要看我的课程干嘛呢,我们是结合安全在在讲课,就他有安全问题,那我们把它拿出来讲一讲,这个安全问题都没有,妈的碰到了就只能放弃的,你咋办呢,他有安全问题。

你可以看一下,就是他写这个代码,但写的不好哎,造成安全问题哎,可以看一下,但在VUE里面它有自带检测,你修改一下,很难出安全漏洞,你在网上看一下那个VU的那个漏洞,在怎么去搜收的,都是些乱七八糟的。

压根就不是那个漏洞。

要明白啊,NO js如果叉S这个注入会导致RC1吗,肯定不会导致啊,这怎么会导致RCE呢,是什么漏洞,就什么漏洞,啧VVVU里面现在出现最高的一种漏洞,就是那个模板的一些引用的问题,但是那个很鸡肋。

你网上查一下资料很鸡肋,讲个不讲,你都碰不到啊,说实话,就那个有点那个其他的基本没有,不会导致RC1,怎么会导致RC1呢,RCE是由那几个函数导致的,那几个函数在什么SQL注入XSS里面实现。

这个功能压根就用不到,怎么会导致RC呢,除非是他一些起一些其他漏洞联动在一起,导致的,直接的导致不可能,唉说实话我这课程难怪说讲的广的啊,你们提这要求,我讲的就是讲的广的,网上都没有人这样讲。

哪他妈都是讲什么开发的,讲这你刚说的这几个都是开发里面讲,你看哪个讲安全的,讲这个东西要打,他不讲是有原因的,就是因为这个东西本来就不是很常见,他出安全的问题几率也低啊,即使你碰到了,你也不会。

就算有漏洞,你也找不到,因为你没有源码,很多条件决定的啊,你们说退钱包,安约你去包啊,你看安岳他讲不讲啊,这个LOLJS开发都都没有讲的,你不是说什么非抑郁那些东西的,我就没看到网上那个讲过。

你找一个给我看一下。

不知足啊。

posted @ 2024-09-29 15:12  绝不原创的飞龙  阅读(50)  评论(0)    收藏  举报