小迪安全课程笔记-2024-十二-

小迪安全课程笔记 2024(十二)

P37:第37天:JavaEE应用&JNDI注入&RMI服务&LDAP服务&JDK绕过&调用链类 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

今天呢是讲这个37天的那个java的课程呢,已经上了六次直播了啊,这个还有三次啊,呃今天讲这个JDJN啊,JJNDDI的一个注入啊,其实这个呢啊,我们主要讲的是健康DI里面那个东西啊,就是讲几方便。

就什么是这个接近底I,然后接底I里面的这个MI,和这个奥迪AP这个服务的一些相关知识点,然后呢他的一些利用的讲解啊,就是说把一些漏洞利用的,为什么那样利用,为什么那样玩啊,为什么是那样个配load。

把这些东西呢讲实清楚啊,开发的一些代码呢不是很多啊,就这几个啊,我们讲的主要这几个,那为什么讲它啊,呃其实很简单,就是在java里面呢,很多情况下在利用一些反需要漏洞的时候呢,都会有这个什么IM呀。

奥迪AP的一些协议的这个使用,如果说大家不了解的话,那你可能就只能对着搞了,如果说了解的话,你就大概知道啊是个什么情况,在面试题里面,或者说在这个深入java的安全里面呢,这个东西是不得不学的,好啦。

说了这么多了,我们就直接给他看一下啊,首先呢我们思考几个问题啊,什么是这个JNDI啊,这个猪又是个啥东西,猪呢是我们自己呢把它写上去的,就是其实就是什么是JNDI注入呢,就是我们常见安全攻击的。

把它称之为叫J根底底尖跟抵押猪入啊,然后这个为什么会有这个东西呢是吧,然后呢他有什么安全问题啊,最后呢就是说啊你要使用它的话,它有些条件啊需要满足,那这里呢有个参考的网址给大家看一下啊。

先来简单的了解一下,来这个呢说说何为经典安呢,他说全称为叫java,那什么Levi and decoy是吧,就是一个java的一个命名和目录接口啊,他是一个干嘛的呢,他说里面有哪些服务呢。

就是什么这个arm2啊啊DAP呀,CCROBA啊,DNSS啊是吧,这些都是它的一些服务,那么这个东西是干嘛的呢,简单来说啊,它就是一个内置的接口,这个接口呢可以来实现对象和服务的一些调用。

然后这张是张图片,JNDI是一个接口,统称为JNDI,其中在下面呢有LDAP和,这个今天要学的LDADAP和这个RMI,还有这几个,这几个呢不是很重要,出现的不多,主要是这两个IMI和LADP。

那么这个全称叫什么名字啊,我们呢可以看一下这个一个介绍。

这个介绍呢会直白一些啊,他说的是这个一个东西啊,然后呢你可以看一下啊,他说的是什么意思呢,他说呀比如说我们上面那有个打印机服务,就我们电脑上面有个打印机服务,它就可以通过这个java的这个ZNDI。

这个接口呢来实现去远程,或者说本地去调用这个打印机服务,能理解了吗,其实也就是说它其实就是一个接口服务,来实现了一些服务的调用,比如说像类似的什么电脑上面安装打印服务,他都可以调用,除此之外呢。

我们最主要用它来去调用的,就是远程的一个代码,对象就是类对象,啥意思呢,就我可以利用这个GNDI技术来实现,远程调用一个文件,那么其实就是远程区执行这个文件,这个文件是谁呢,就是java的代码文件。

就是我们常说的java的这个执行文件,class class文件,它可以在远程去执行一个class文件,而这个class文件呢是可以由你来去写的,那么class里面的代码是什么东西,就是会执行什么东西。

就是我们安全的,主要就是用它做这个事情,就是一个远程调用。

那么其中呢名次交法啊,这个mi呢称之为叫远程方法调用注册表,而DP呢叫轻量级目录访问协议,就是一个呢是对目录的一个访问,还有一个呢是对远程的注册表操作,那咋个情况之后。

联系到了调用远程的一个java文件呢,啊,这个呢是根据他自身的这个协议里面支撑关的,就说他的其实呢它的作用本身设计,它一个是调用注册表的,还个呢是调用一个目录的,但是在它的功能里面呢。

能够实现调用一个文件代码好,这是他的一个解释啊,那么在解释之前呢,我们来先来看一下一个简单的介绍啊,在java的这个类之中呢,有个这个类叫做java level。

然后intel contest look up这个方法是干嘛的呢,这个方法就是专门来去实现这个JDNL额,ZNDL的一个组的,我们呢可以用一个代码呢给大家去看一下。

好在这里呢我们就新建一个代码端哈,名字呢就叫这个ZNDI杠demo啊,我我这里那就搞一个web服务的吧,哈这个其实你不搞web服务的也是OK的啊,搞个这个叫jdi injection inject。

然后demo是吧好,然后呢这里呢我们就选取这个类型啊,然后下一步1。8版本的是吧啊,新新窗口,此窗口啊啊创建好了啊。

这是一个这是一个东西,然后呢我们在这个下面呢去写一些代码啊,我们在这里呢就写一个这个文件啊,名字就叫做这个CNDIN吗,好那写好之后呢,我们来看一下第一个啊,就这个东西啊,啥东西呢,来看一下。

就这个啊这个是啥呢,来看一下啊,然后呢这里有个INI点look up一个地址啊,来大家看一下啊,这里呢有这个代码啊,我们先不写这里啊,这是这个文件啊,然后这里呢是一个什么这个东西是啥啊。

就这个new AI const,然后这里有一个解释啊,这个代码呢是干嘛的呢,它是在这个类里面,它是干嘛的,就说java呢如果说要调用一个对象的话,那么它就可以使用这个类里面的这个look up方法。

来实现调用,好我们来给大家看一下啊,实现调用,然后它的调用呢是支持IMI和LD,AP这个协议的,也就是说调用的话不是说按照我们这样写。

就说我写个class文件是吧,就假如我写个什么test点class,然后呢还去调用这个class test class,不是这样的啊,这里呢要写的就是我们说的啊,这个就是前面一二。

创建一个什么这个r mi和DAP等服务,调用好,这个呢就是创建,然后这个呢就是我们说的啊啊调用这个,然后呢这个就写进去,但这里呢要记住啊,是要以这个服务服务来写啊,然后这里呢怎么写呢,大家看一下啊。

我们来给大家写一下啊,首先呢我们这里在写这个地方啊,漏洞呢也是产生在这个地方,就是这个JDR呢,我们先了解它是怎么个调用方式啊,我们一起搞一个mi和LDAP的啊。

你看啊,我们这里呢就可先用工具呢。

来给大家测试一下啊,来看着啊,我们在这个远程啊。

避免那不要不要等地啊,我们就搞个远程的。

这样子呢就更加的方便啊,这是啥情况,哎呀你这他妈的什么鬼啊。

真是。

花屏了啊,我你妈的真是服了,稍等一下啊,我把这个分辨率调一下。

分辨率调一下它就好了,先把它调回来,调回来之后呢,再把它运行,好那现在再把它还原啊。

好可以了啊,他老要这样搞一下,也真的是服了,屏幕分享一下啊,避免有些问题,大家看到了啊,然后啊大家看一下啊,嘶我们先来用这个上期讲过的这个东西呢,你看啊我生成一个啦杠C执行一个这个冰冰。

比如说我就搞个像七的是吧,最简单的啊这个咖位绑定一个IP地址的啊,就这个0。000也行啊,啊搞个这个IP地吧,还是这两层的IP地址啊,搞个啊,然后呢把它搞上去执行啊,嗯他这里呢就生成了这个举个例子啊。

然后呢这个是接近1。8的啊,这个什么几点七的,我们就选择这个1。8的,那里有这个mi协议的是吧,还有这个奥迪AP的,那我这里呢就把这个东西呢给它写进去,对不对。

把它放到这里面来啊,看一下啊,是不是能够调用呢,那些来啊,就让它怎么样,这个就是让他去远程调用吗,哈远程的标准这个服务吧。

调用这个文件好看一下啊,先运行起来看一下啊。

是不是啊。

好你看啊,这边呢也收到了啦,看到没收到了,logo request来一个请求,然后呢他这个访问的是这个地址的是吧,然后呢,你可以看到他这里有个什么一个什么class文件,然后在那计算器弹的。

就说明现在呢很简单的道理,代码的远程去调用这个地址的一个文件,那这个文件呢就相当于是一个什么。

这个呢就相当于是一个class文件啊,它就等于什么这个远程那个什么IP上面的这个,90公西啊,所以说这个有看到了啊,刚才这样去谈的啊。

然后这个是使用的是刚才的LDAP,我们看一下啊,我用这个IMI的是不是也可以呢。

嗯继续来啊,哥,搞个阿麦的,把这个注释一下,对不对,再来运行看一下啊。

运之后呢观察一下这边下面。

嗯报了个错误哦,后面没写个封号。

哎计算机也弹了,然后你看是不是也出现了个访问情况啊,你看而且这个呢情况更加的这个多,B哥看一下啦,他说啦这个哈字有个链接啊,然后呢什么一直IMI的look up。

请求他啊去发送一个远程的class login啊,到目标,然后呢关闭链接,哎这是他执行的过程,对不对,过程的都写得一清二楚,刚才那是这个嘛。

这个那就下面这几个,那ARMI和ROARDAP都可以好,那这个搞完之后呢。

这是一个很简单的一个什么,一个调用的一个情况,那么产生的安全问题呢。

是这个东西的实例化之后呢,把它实例化了一个这个什么调用对象啊,对不对,然后呢去远程去请求这两个东西,是不是去请请求这两个东西啊。

好我把暂停出来,那这里呢我们再做个实验,换一款工具。

换个什么工具,大家看着啊,这样工具会更加的好理解。

好把它整个过程分析的更细好,大家看一下啊,我们再换个什么东西。

我再换一缓工具,刚才是用ZNDI这个脚本,这个脚本做了个什么事情,其实呢他做的事情我们等下再来分析啊,先把这东西解说完,这个啊,然后呢他这里呢有个参数。

那就是运行这个地方之后呢,它有个参数,有个什么参数呢,看一下啊,有个这个叫DI。

一个叫LDP的啊,有个参数,然后后面呢再加上一个IP地址,就是我们0。0就是所有网卡啊,当然了你也可以写了,IP地址也是OK的,后面一个叫西井号test好。

我们在这里呢我先再创建个文件啊,文件的名字叫在这个test z n d i点class,然后我这里写个啥东西啊,大家看着啊,呃我们就写一个这个也是个他是这个。

嗯如route点get long time neec哈,写个这个执行命令的执行,这个cl c啊,也是个加七吧哈,嗯这里那就把它进行一个一层添加上去好,那这个呢大家都知道啊,这个test呃。

j n d i java呢就是这个代码,这个代码呢就是执行一条命令呢去啊,弹出计算器啊,然后呢我们这里呢来到他这个终端这里啊,点击终端啊,把它进行一个编译,java c编译这个文件啊。

然后呢先来到这个目录啊,Cd,嗯好吃,加个目录,然后呢在这个SRC目录下面的这个mail下面的java,点com这个目录下面,INPORT下面的这个ZNDI这个下面,然后呢是在这个目录。

在这个目录呢有一个这个test接点java文件哈,然后呢把它进行一个编译,java c啊,test ja啊,编出来之后呢,你可以看一下啊,它下面就是一个java的class文件了。

JAA点它就一个class文件,这个class文件就就这样子嘛,他要反编译才能看出源码的啊,就是一个我们说的执行文件,因为你一旦执行之后呢,这个文件出来了啊,然后呢我把这个test直接用DI呢。

怎么样放到这个网站目录下面去。

放到一个网站目录下面去啊,看我要做什么事情啊,大家看一下,我来到这个目录下面去啊,放到这个下面啊,名字呢,那这个叫test jdi点class文件是吧,有这个啊,我们试着呢去尝试访问一下啊。

看一下能不能访问到啊。

test z n d i点class可以看到啊,能访问到这里呢,自动下载了啊,对不对,没问题啊,好啦,这个地址呢知道之后啊。

我们在这里呢写上一个这个叫test z n d i,来写这个地址,这个地址0。0是我所有接口,我写个这个井号就代表后面那个这个东西了啊,不用写了啊啊这样写好之后呢,有访问地址,并且在这里生成一个。

然后你看啊它会默认有个什么11389端口,这个1389端口是啥呢,就是默认这个LDAP的这个默认端口,如果是IMI就是1099,这个是默认端口,这个端口是可以改的,那么这个1389是干嘛的呢。

就是它默认开放一个1389,然后指向这个地址的这个地方好,我把这个东西呢给他对应看一下,然然后呢我们再来分析一下啊,先把结果搞出来点。

看现在啊我们在这里呢换到这边啊,然后这个文件编译出来了啊,为了不让它起到任何这个冲突啊,你看这里啊。

我打到这里,我把这个地址一改,改成一个什么,刚才这个调用的是呃。

这边是呃哪个写呀,A l a l d a p,所以这里改成啊LDAP是吧,奥迪AP,然后呢加上远离子,这里要改成什么1389,然后呢后面写上一个什么,直接用点这个大小写要注意啊,来写这个例子啊。

好我把这个例子写上去,大家看一下啊,这个呢是我们放到这个网站上面去的,放网上面是八零端口,然后呢这里是访问的LDAP好,我们先来看一下啊,然后这个test j n d i呢文件是什么。

是一个执行计算器的,我们看他能不能执行啊。

并且看这边有没有数据回写,那他请求那个呢0。0。0的class文件。

请求个0。0,对不对。

但这里呢并没有执行成功,啥意情况,是不是我这个0。0写错了呀,嗯那test j n d i class,对的二哎啥情况。

那换一个,把IP地址换一下,把这个地址看一下好,再来试一下两边形,嗯报错了,诶这哪里个小问题啊,哦我知道了啊,稍等一下,看一下啊,刚才应该是对的,这个咋咋不行啊,这。

看一下啊,看哪里搞错了,Cn4000。

我搞个test试一下啊,然后下面有个test的,这面呢重新生成一下啊,他这里呢已经发送这个请求,换一下啊,我先搞个test啊,test下面也有这个文件,test试一下。

哎这是哪里出了小问题啊,这,1099test,我试一下这个先试下这个协议的啊。

现在这个arm协议的,看是不是协议问题,把这里改成,改成这个,二没看这个啊,先。

是我放错了。

第一方这class文件在这里啊,好这边一直没有反应啊,等一下稍等一下啊,我重新重新再运行一下。

接收到了发送东西过去,啊这个是有接收信息的啊。

1099,这个哎这怎么一直没反应呢,要加端口啊,等一下啊,我看一下是哪里的。

有没有反应,我看是不是这个两个文件问题啊,我把这个东西还一下啊。

move对文件换下,好这个呢是运行一个load part的,我用这个生成吧,那这个是运行一个load part啊,等下刚才用计算器嘛,我换一个啊,我再生成一个啊,我怀疑是不是生存的问题,重新身份证啊。

C然后test,随身这个test啊,好把这个test给拿出来。

放下来啊,我玩那个test试一下好。

这个test呢有这个地址之后呢,这种放上去了啊,这个呢就是有个两层地址可以下载到了。

我们来试一下线,确定它能够访问到好。

能够下载啊,没有问题,那么现在呢我们重新再生成一下啊,用mi协议请求这个test生成一个1099端口,RMI协议的好。

那现在呢再来调用一下,好把这个地址啊,这刚才那个代码一致的啊,和他一模一样的啊,没什么区别,On my right,然后这个地址写上去。

然后是他的1099端口是吧,1099,然后呢是这个test好,我看一下啊,这里面新一下。

看那边的回血有没有。

看到没记事本弹出来了啊,这个刚才为什么出问题,这个我把它放那边再试一下啊,来,在我的刚才代码嘛,我要再放这来试一下啊,啊这一模一样的啊,代码基本是一模一样,我再来用一下看一下啊,运行。

啧你说这样这个有些尴尬了啊,啧感觉卡着不动了。

又。

这是啥情况,这他那边卡着不动了啊,我怀疑是IDE1的问题,我重新把它开打开一下吧,好吧,重新打开一下。

应该是那个京城有些冲突啊。

重把打开一下啊。

i id1的问题应该是。

重新关一下,打开一下。

好来重新来这个代码再分析一下啊,那先启动起来啊,1099的啊,这个是按钮,是r mi协议是吧,运行起来啊,重新运行,啧这不是很尴尬吗,这这他妈的就不动,你说这样他一直卡着你呢,这没反应,他也没结束啊。

也没啥,我把这个把这个呢按照那个原生代码用一下吧,哎呀这真是尴尬了,写个变量说好理解一下呀,他这个就不行,看偏要这样搞,哎呀,啊他这里一直卡着不动啊,这次有点真尴尬啊,完全不清楚,来卡这里不动啊。

这不知道啥情况啊,代码一模一样的,那我还是我画到这边来试一下啊,来重新来试一下啊,DOM随便搞个名字吧,就叫这名字的啊,我把它画到这个上面,无法不放到包里面去了,不放这个上面好吧,代码一模一样啊。

不原封不动的把它弄下来行吗,唉这他妈的真是奇怪了,原封不动的啊,来在这里扔好吧,呃这个就不行了,刚才测这个就好,这个就不行,那这还是有些尴尬的啊,那我只能把那个拿出来那个代码端讲了啊。

呃现在不清楚是什么情况,我怀疑是那个里面一些冲突啊,或者是这个包的问题,重新再创一个项目吧,重新再下个项目啊,先把这个粘贴复制一下,我先不搞web项目好吧,先不搞web项目叫空项目啊,server嗯。

就叫这个名字吧,好来重新搞个项目啊,创建个文件,好那这里写上去啊,重新搞了个嗯,看这里啊还没问题。

看这个。

还是不行啊,这真不知道是什么情况呢,一直卡在这里,卡着不动啊,必须要按我那个搞,必须要按我那个搞啊,那我是真没办法了啊,那就只能看这个了啊,那从这里开始看吧,把这个代码呢这一模一样的啊,没有什么差异来。

那只能用这个搞了吧,大家看着啊,刚才那是这个M的,对不对,然后呢我这不是上传个特斯class嘛,特斯克拉斯是执行这个呃load party加加的arm的。

然后呢我这里呢可以把它砍一下啊,我来换一下呢,这arm的再会换成什么啊,DP的对不对。

找1389,然后点AP,然后这里改成什么,然后DAP1389的,对不对,把改成这个协议就可以了啊,端口换一下默认端口1389,这个端口呢是可以更改的啊,端口是可以加参数更改的,那test啊。

去这里请求啊,两个嘛,一个是这个RDP,一个是这个RRM的啊,这个刚才RDP的,所以呢这个东西,然后这个呢是哪来的,他的1099,然后看下这个执行啊,看下能不能执行出记记事本在这个id的啊。

那你看他就出来了,对不对,那这个就出来了,你看来出来了吧,那这个是一个什么原理呢,远程调用这个class它的过程我们可以分析一下啊。

你看一下啊,刚才呢是用这个JNDI这个工具呢,来实现调用,它呢是利用工具来生成调用地址对吧,然后呢直接执行命令,然后这个节点呢有几步,直接先编译你要调用的对象,把它变成class文件。

把它上传到网站的目录,然后呢,再用这个工具来生成一个呢,这个网站目录的下载地址的一个那个路径,这个一定要上传到网站目录啊,然后呢这里是hp的是吧,访问那个地址,访问那0。

0就是默认的所有端口访问这个test,这里加井号test啊,不是test点class啊,加井号test它会识别,识别之后呢,再把这个放到路径里面,其实就是说这个ZNDI呢。

他就省略了这个第二步和第四步就是编译,就是应该编译为什么呢,这个工具呢其实就省略第二步,就是说你这里要执行cl c,它就会自动呢啊自动生成一个什么e class文件。

就好比的我们刚才用它的时候呢,大家也看到呢啊用这个JNDI的时候,当你去远程访问这个地址路径的时候呢,它自动有个什么叫EIEC什么这个啊,模板的一个JDK8的class。

这个呢其实就是呢利用命令杠CCLAC呢。

它自动的取命去生成一个class文件,这个class文件就是干嘛的,就是执行这个shell AC的,然后绑你这来个地址,对不对,就是这个意思啊,所以呢它其实呢就是比这个这个解压包了。

这也是个利用工具嘛啊,省略了这个第二步的思路,就是不用你自己去写,而这个呢就是你自己写一个,你要执行的java文件里面的执行一个命令,对不对,把编程class上传到网站包里面,让他去。

那个他呢就是可以根据协议呢生成一个RMI的,和LDP的,所以说没有太大区别,主要就是说一个工具多做了一件事情,一个工具呢少做的事情,那我们了解它有什么意义,大家看到了啊,这那就能够理解了。

这个JDI是它的全称,里面有两个服务,叫做IMRIMI和这个奥迪AP两个服务,然后两个呢有个默认端口,一个是1389,一个是1099,这个端口呢是可以自行更改的啊,默认是这个端口。

那么那就可以利用这两个工具呢,来实现一个接收对吧,就可以远程的去运行的工具,让对方呢去调用这个远程地址,但是这个协议一定要加上去,好这个就是我们说的这个它的底点好,那么现在呢给大家看一下一个情况。

什么情况啊,大家看着啊,现在我运行的这个脚本呢是一个java1。8的,1。8的是吧,好你看着啊,现在呢我把这个执行环境,构造环境呢给他改一下,我改成这个什么11或者改成17。

java的这个什么JDK这个版本啊,改成11或者17好。

我们就来一个来司马显示17,去运行这个软子的LDP这个服务,刚才那是能够弹窗的啊,就我现在它还在运行过程中嘛是吧。

刚才是能够弹的好的,那我运行它能不能弹呢,运行,哎没保存吗,保存的呀,还弹了啊,那17版本弹呐,我把两个都试一下,试一下这个RI协议。

再试一下这个mi协议,把它先退出来,换成这个RI协议。

对不对,好,来1099了啊,再运行,看前面的运行这个啊,这里的47好,运行之后,这边没有了,弹不了了啊,IMI弹不了了,那,17版本,好这是这个是arm的,好再来换一下,这里换成二比AP。

好换成LDP啊。

看下这面上别人在启动下啊,做一下再来做一个实验。

好来看一下这边啊,再执行啊,保存一下代码,哎弹了,你看这啥情况啊,你看呐哎这个,同样都是JDK这个时期的呢,这个什么无法调用它,但实际这个呢调用什么奥迪AP是可以是吧,对不对,好,这十齐了啊。

接下来继续测啊,继续测测什么JDK死移的,这个是我自己上班的,有这些版本,所以我就这样测一下啊,你说没有的话,那这个也无所谓的啦,啊不不用改这个东西了啊,这11版本的啊,这个我就直接在这里呢。

呃呃不不用不用不用加下面了啊。

我直接在上面改吧,现在是阿M阿维的,然后呢换到上面呢,那RY的这个server啊,不要搞错了啊,两个要同时改变。

重新启动一下1099的,这边呢就把这个编辑器这里呀,把它改成啥十十一版本对吧,改11版本啊,点确定提交,然后呢我们再运行,先确定一下啊,运行,那这是11版本的那java11的那个路径的啊。

运行了之后没反应,11也是什么无法调用。

对不对,RMI啊,好再来看11的这个什么C1的奥迪迪,对不对,看11版本啊,能不能调用。

换成LJAP的,注意不要搞错了啊,再运行,哎又可以,你看C版本的这个也可以是吧,好,那么接下来啊我们再来看这个呃,这个1。8版本的是1。8呢,这有两个啊,一个叫1。80362,一个叫1。8011啊。

两个啊,来这两个就是他后面那个那就这个词,大家就是这可爱,先搞个这个1。8的362的啊,就是八版本的,来把把的先运行一下,这个,要3UWORD执行,可以是吧,8U3U啊,可以好,再来看,一测完啊。

再看这个是吧,112的,再看112的啊,看路径前面的执行那个JDK文件,你看又可以执行成功,那112的WU11也可以啊,都可以啊,就我所有版本都行啊,好把注释掉。

来到这里啊,测一下这里啊,换到这个R买协议的来扯他的啊。

现在是哪个版本啊,先看下现在执行环境是哪个版本啊,注意一下,80112执行成功,8012执行成功,arm的啊,都可以是吧,好来看这里啊,8U112可以,我把它换个行吧,免得这个这个这个这个不知道啊。

嘶好,那这里呢8月2号可以啊,我们再看这个8038362的啊,我们先做,做完之后呢,我们再说啊,再看这个版本的,改成这个啦,36号的版本确定确定再来执行,那这个编的啊,那执行不成功不可以好。

那这里呢已经给大家做完了这个对比是吧,做完对比。

那为什么会造成这个原因呢,来看一下啊,再有一张图片。

嗯呐这个r my和这个LDAP在租的时候呢,他有个版本限制在高版本上面,如果这个r mi你看r mi呢,他到这里就结了,你看那8U113,这就截了。

这个箭头都到这里截止了,我们这个版本是什么8U112是不可以啊,啊812可以,上面全部不行。

因为362大于了这个什么8U123。

然后这个六奇就是JDK6和奇的意思,那你可能说是吧。

这个就没了,然后你看这个奥迪APADP到哪里啊,到了什么11。0。1这里,所以说那还有个8U191诶,那有的不同啊,我这个8U361也可以啊,11也可以啊,17也行啊,你这里不是8U191,11。0。

1,我就算11,我40100101好吧。

也执行,然后这个8月191这个362是大于他的,咋也行嘞。

啥星光呢是吧,好这是这个工具的啊。

那么现在呢我换一下,我换到之前那个JDJNI的,那换这个啊,换这个让他注入,那这是JDK1。8的啊,1。8的,你看啊,我用这个1。8的,或者说我用这个1。7的,还有这个嘛,两几个都有是吧。

之前都是能够运行成功的是吧。

我先用它来试一下啊,换这个项目的,来看一下啊,呃这个是这个就不。

我就是这个他只是那个阿麦写R麦的啊。

那些是阿麦的,还LDADB的,不是阿瞒的,把注释下啊,来把这个启用,换这个例子啊,大家看着啊,之前这个是可以的是吧,然后现在这个版本的编了板,编之后呢,我们运行这个版本的,这个是1。8的。

然后就是八版本的自己没有反应。

看到没没有反应啥情况,这边呢也结束到了,你看但是没有反应。

为什么,看着啊,这个版本是哪个362的,换成112的,再试一下,换成112的再试一下,再运行,那计算器弹出来了,来812的,这个是不是符合了呀,是符合,然后你再换,你看啊,我再换到11版本或17版本。

换11版本再运行,没反应,死七版本,没反应啥情况,这个呐这是用的。

那个是。

呃跑哪去了,JDI的这个injection的这个什么工具测试的。

哎呦哇这个搞错了啊,这个是用这个。

测的啊,这个是用它测的对吧,结果这结果啊,然后呢我们现在换了个结果,测换了个什么JNDI的杠N结型的这个工序,测测出来的结果和这个一样,和这个一样,唯独用它的时候呢,它有差异,那我就不测这个r mi了。

那r mi也也是一样的结果啊,这arm也是一样,结果我们都不用测了啊,这不用测了,因为这个重复操作呢就不给他测了啊,那重复操作我就不给测了啊,这个测mi的来这个JDIN呢,为什么和这个有差异呢。

其实就是说这两个项目里面呢,有内置的一些绕过思路在里面,就是这个呢它已经内置到股的。

其实就是说本身胎的时候啊。

他是不行的,正过来讲这个真恩底癌呢,你这个8月191呢在此之前倒是可以是吧,但是这个八版本之后的就不行啊,这个呢是11版本的,0。1之前的版本都可以,但是0。2之后的版本也不行啊。

直接用这个LDAP呢会受到这个限制,用这个RM呢就会受到这个限制,对不对。

当绕过的话,你看啊这个用这个JNDI的这个解压包呢,去生成那个攻击工具呢,啊他就直接和这个图片对应上。

然后用这个master呢,他还能捞,大家也刚才看到了啊,我用这个master去搞这个RDAP的时候呢,都可以,看到了吧,你可以呢自己呢也可以把两工具呢分析一下,这个倒不是我们主要的。

我主要就是告诉你一个意思,什么意思呢。

就是说呀这个ZNDI诸如它是有条件的。

什么条件呢,就是这张图的条件,你用RRMI在这个版本之前,就是这个版本呢把版本小于它啊,大于这个靶板门,那就没有了,然后用RDAP呢会多一些是吧,他版本多一些,但是也到一一版本之后呢,也不行了是吧。

也不行啊,那具体为什么不行,我给大家看一下啊,这里有个简单的介绍,他说了啊,在哪个版本之后呢,就生成了一个什么鬼东西,禁用了这个什么鬼协议,也就是说啊在这个版本之后呢。

然后呢这里有两个文章是关于这个高版文,绕过文章,然后这个高版文文章那一部分的知识点呢,就整合到了这个什么这个项目里面去,就是个arm a r3SEC这个项目里面去,能理解了吧,所以说为什么。

我为什么要把这两个项目都给你讲一下,其实他们两个是有差异的,虽然说他们实现的功能是一致,都差不多,打这个呢,对不对,弓他有一些不一样的地方。

能够绕过这版本,但是他也是捞不了这个r mi,他捞的是这个奥迪AP服务的好,那么具体为什么这个他能行,那个不行,这个呢是我们后续再分析的啊,现在不需要懂,现在不太懂啊。

所以说截止到目前我们就学习到哪些东西呢。

啊这里可以把简单写一下啊。

低点啊,这是我们目前学习的东西,第一点啊,就是我们说的这个JNDI,里面有类似的ARMI和奥迪AP服务啊,然后第二点这个r mi和奥迪AP呢,一个呢是这个简单来说啊,都可以呢进行这个远程调用对象。

就是那可以执行这个什么,java代码嗯,对不对,然后呢一般在攻击方面啊,在这个,恭喜你用中啊,就用到了这个什么一个GNDI的inject型,这个什么项目和这个什么master这个项目啊。

其中呢利用过程中啊,啊发泄啊什么啊,这个JDK版本会影响什么,这个r mi和RDAP的U对不对,这个版本呢会影响这个东西啊,会有修复,那么其中这个master呢,针对这个什么,还有DAAP,有绕过。

对不对,这是我们刚才讲的一个总结点,好学到这里呢,大家还是很疑惑,讲了半天呐,这怎么和实际结合呢是吧,好像和实际没什么关系啊,这里面的讲了半天,我都是就听了一个是什么东西啊,这么代码我都不知道。

我咋知道这个怎么用的是吧,实际有什么关系呢,好大家了,我们就来看一下啊,我们上节课不是讲过一个Faker啊,fast js文的那个足尖吗,组件里面绘制建设是有个漏洞诶,之前包的是吧,好那么我们看一下啊。

这个漏洞会和今天这个什么RMILDAP,这个这个服务啊,它有没有什么关系好。

我们来现在给大家背景交代一下啊,交完了之后,我们把项目代码意思搞出来,然后再给他讲,大家看一下啊,首先我们交代一下背景啊,来背景java11中啊,啊涉及到一个网站,这个网站呢对用户提交的JSON数据呢。

要进行一个转换啊,然后呢他用到的是FISKJSN,这个组件呢做的转换好,那么刚好呢在fix jo4里面呢啊有这个漏洞,漏洞呢有个原因呢,就是啊这个对结束的对象来进行转换的时候呢,产生了反虚化漏洞。

好现在呢我们就来利用它,对不对,就来设计一下这个东西。

好,来我们把上节课的那个项目呢重新做一个设,计个java11的,就是设计个网站,这个网站呢就是用来,就是说我要实现几个功能啊,功能呢给大家简单先写一下,先写出来。

我们再把项目移开开除啊。

来看一下这里啊。

来看一下啊,就说我要怎呢,就用java呢,什么情况啊,咋埋呀,我麦克风不洗了吗,那你妹的什么鬼情况啊,我说里面的,我前一阵子我花了花了两三百买的麦克风,就用了一两个月,咋回事啊,开发一个这个是吧。

这个JSON转换的一个这个功能是吧啊,这个功能,然后呢这个呢是利用的是这个FISK杰森的这个,组间段是吧,来实现它,用它来实现的啊,好那么现在呢我们就来来写一下啊,这个叫1web的R是一个web应用。

好我们先把这个功能实现啊,我们再到它上面那些去呢,和今天的这个什么GNDI注入,嘶看联通啊,连关一起啊,好我们现在先把这个项目呢给他先创建一个啊,加一的啊,名字就叫这个fax j s o n。

然后一个叫,叫什么名字呢,就叫这个,JNDI是吧,这个web就这个项目名吧,好然后这里呢就取名应用程序嗯,下一步,好创建R,好按照上节课的事来讲的话啊。

把上节课的笔记呢给大家拿出来一下啊,萨里克不是有个那个包的那个东西吗,是吧,那个包的地址。

上一个那个薄的底子嗯,就是先引用包嘛,先把那个菲斯克救生那个包呢给他搞进去啊,搞进去啊,有点麻烦啊,在那个保底上,然后再要重新写一个这个文件嘛,起个名字叫做,fast杰森吧。

哎我直接把之前那个东西把它抄一下吧,那妈懒得在里面搜搜,搜半天了。

就那个包的那个东西,哎呀写下吧,写反了,怕有些人又说你没的是吧,又懒得看上节课那个东西哦,就还是用三杰克那个板吧,啊这个1。2。24的粘贴复制一下。

把包拉下来啊,更新一下,哎什么情况,哎,搞错了搞错了,多写了一个妈的,写哪去了,多写个啊,因为这里有这个这个标了啊,我写字来了,难得快说的,先把去掉再写下面去,他有一个这个倒带啊,写下来写最下面吧。

嗯好保存了,好看一下这里啊,其实这个我说实话,这个东西我们前期有这个给他讲过啊,啊我都不应该做这个事情的,说白了后面呢,不讲了也不行,唉也是尴尬,把那个东西,哎这哪里写错了,又,哎这改的妈的改改坏了。

唉这真是烦啊,这个重新重新重新创建一个,重新创一个,他改坏了啊,就叫随便取个名字吧,去他妈的,改坏了,不想搞这个啊,我还是说要尽量给大家搞个那个,从无到有的过程呢会好一些是吧,所以呢写了下更新一下。

有了啊,来先进去了啊,刚才不知道啥情况啊,我估计是刚才那个回车回车回车,搞那些乱七八糟字符进去了,懒得管他了啊,重新搞了个好,那就先进去啊,这个包有了有了之后呢,我们来做啊,来做这个实验啊。

那首先这里呢就按照,按照刚才昨天那个事来讲啊,我其实呢就可以把上节课那个笔记拿出来了吗,呃上节课呢就是在这里呢。

做这两个事情的时候呢,做了这个安全漏洞嘛,是吧,那就用这个JSP的时候呢。

转化一个对象的时候呢,就有个东西哈,创建个文件啊,要继承一下,好,那这里呢我们就写个丢,get方法或DEPOST方法都行吧,这个就就就就post吧,更加符合一些啊,这里呢有这个东西把库导入一下啊。

EXP呢我们就叫名字吧,就叫个string9生数据嘛,data等于REQ点get解释过来的这个值名字,那就叫FTR吧是吧,然后这里呢去把它进行一个运行啊,然后呢这里呢可以搞一个这个全局变量,把结束一下。

然后再打印一下,输出一下啊,好这是上节课调漏洞一个地方,然后这里呢给他一个出进,第一次啊,访问触发第一次,这个叫做杠杠JS文吧,好然后呢这是他的出发地址啊,pose呢去结束这个值值之后呢。

把它进行一个转换转换的这个操作,然后在我们那个web页面中呢,我就写个RTL代码的页面嘛,就这里写吧是吧,写个什么呢,写个这个可TM代码页面吗,播表单的嗯,然后AXY指向路径地址是当前目录的JC。

然后呢提交方法是post,对不对,给个这个put的标签,在写前端页面嘛,给个前端页面啊,就是给他一个这个转换工具是吧,名字就叫这个类型test嗯,这个name呢就等于tr和它对应上啊,得来个提示是吧。

这里就输入please啊,输入请输入是吧,这个j sn data啊,数据给他号控制好啊,写个这个也要分先,然后下面就是一个提交按钮了,搞个提交按钮啊,input的提交按钮,好这样可以了啊。

来我们来运行一下啊,来把java运行起来啊,看一下。

你们说是ping铺的那个太高端了啊,我的写都写不好啊,那这是那个地址啊,我们点一一来提交。

那他就会请求这个JSN嘛是吧,然后地址呢我们来搞上面去吧,免得等下又出问题啦,那就请求这个JSN地址嘛,JSN地址呢接收到这个SSTR提交过来的数据,给这个变量,然后呢我为了确保起见呢。

我先把这个变量给他输出一下,确保它是没问题的啊,重新来一下,就说我其实呢现在就是在模拟这个漏洞,复现整个漏洞啊。

就涉及这个JSN的一个漏洞的网站,然后呢实现的功能呢一个这操作是吧。

来这里有,然后呢再解药哎。

什么鬼,怎么提交之后还是这个两毛四星呀,访问一下啊,用花歌浏览器访问一下,不用这个鸟毛谷歌浏览器了啊,改一下啊,来我看一下这里改没改啊。

提交地址呢改成这个路径地址啊,注意已提交了,这的确是改了,改了之后呢,还是提交错了地址。

妈的真是尴尬,还不能这样写。

直接把路径写实吧。

这把路径写实吧,免得又出问题。

这把路径写死,选这个JSN路径,那JS路径呢来到这边提交呢,以post提交嘛,它方法呢也是post提交的方法嘛,是不是叠方法了,我也改了吗,重新运行一下啊。

这个都懂的懂,你们还得说那个其他的东西一旦提交。

那的确提交了啊,我们来确定一下是不是post提交啊,看这边有没有数据回显呢,截止到一了,的确是有截止到一是不是好,我们来看下啊,现在就开始要真实的说了,那他截止到路径一了。

对不对,按照我们上节课那个攻击思路来讲,我们当时是怎么攻击的呀,包括我们的漏洞原因啊。

我看漏洞原因啊,这是网上一个浮现漏洞,它是怎么浮现呢,它是这样加的,这样去加,对不对,这样去加这个路径是不是好,我们试想一下啊,我们按照他这个思路来讲,我们来先看一下啊,这是他一个提交路径地址是吧。

好把他拉拉下来。

这是他的攻击漏洞啊,我们先把它浮现出来,然后呢我们再讲原因。

他为什么是这么个东西,这是他提交的这个工序漏洞啊,我们来看一下啊,把这个写好,好这里是一个东西,好这里有个DMI路径地址啊。

好我们注意了,我们在这边生成一个,就就拿这个来先测试一下吧,就把这个试一下哈,来把这个地址改一下,改成I呀。

那个这个东西都行啊,我先改这个吧,先改一下DP的,把改这个是吧。

好我要复制上去啊,看一下啊,放出来重新来提交一下哈。

看一下啊,就说我尝试呢让他去转换这个JSN数据啊,我输入这个东西之后啊,输入这个东西之后,我点提交,看看出现什么情况,哎没反应。

这面呢接收到数据的也没反应。

五月九号20。58分,正面呢哎呀重写一下吧。

那他也没反应啊,数据这里我们来看一下,重新来这边啊,把数据重新加热,再来这里追好车的话。

还是要用那个用那个叫啥呀。

用我们那个哎怎么回事啊。

哎呀我真是服了,这怎么改半天,怎么还是这个鸟毛思想,我把这个去掉,妈的这鬼鸟毛,私心把它去掉,嗯哦NAI没改,哎呀这呀真是烦死呀。

现在不会错了吧。

再说我就那你没了啊,现在正常了啊,这里面数据也接收到了,好,我把那个刚才那个payload数据呢写过来看一下啊,提交好。

那这边呢他也确实啊来这是他提交的数据,这边是地址,对不对。

也确实呢接收到了,你看我们这里呢是有输出的啊,是有输出的。

但为什么没成功呢,因为这个地址换了啊,我再重新把那个地址换一下,换RMI啊。

IDP都行啊,这个看你自己需要换这个地址啊,刚才没有把他及时换过来。

好再来啊,再来把这个payload呢去在这边输一下啊。

来返回来啊,看一下啊,这个是执行一个命令的,点击执行来计算器弹了,看到没这样弹了啊。

然后呢再看这边把这个换成这个R埋的啊,R埋的对不对,或者R埋的,那再试一下啊,还行不行啊。

好再来刷新一下提交,报错了也谈了好也谈了啊,好那么现在呢这个实验已复现,漏洞已经复现完成,我们来思考几个问题啊。

我来做几个实验,首先第一点我做个实验,做个什么实验呢。

看着啊,这已经成功了啊,首先第一点啊,如从黑盒角度来说,黑盒你怎么知道是FISKJSN,这第一点好,白盒里面分析,因为你知道是建什么,所以你才利用那个什么,利用那个漏洞,那个是POC嘛是吧。

好好现在就说我白盒,我知道是这个face fisk健身是吧,那为什么呢,为什么把这个PLC为什么那样写好,这是我们先说第一点啊,怎么知道菲斯根是在几时也简单啊,报错页面啊。

那些东西已经显出来,你这一报错他就提示你了,你看那com阿里巴巴FACEBOOKJSON,这里面的不告诉你有个face用吗,就说这功能用到face jn,你在想face book是干嘛的啊。

它这个功能是让你输这个数据,然后把它转换JSN数据,那实战中呢你看这个这个利用过程,别人都说的很清楚了。

这个代码利用过程,你看别人怎么利用的这网站呢,这里设计个登录,哎,他在提交的时候呢,那发送的数据就是这个什么JSON数据,然后呢他就发出了错误的啊,这里就包了一个fake结构层出来,然后呢。

他就想到配变成分成一个那个什么黑盒的,一个测试的配漏的漏洞,这个东西来去测。

这个好理解了吧,黑盒的角度我应该讲清楚了啊,我其实不该讲这个黑客角度,因为这压根就不是我们现在也该讲的事情,但是有些人他就会老去这样想,他就会问你知道吧,所以说我必须要讲外条件。

那时候搞一个网站出来,让你明白下,这是那个实际应用,实际应用其实就是说对方网站是java开发的,然后呢用到数据转换的时候,用到这个fake JSON,那么有一些数据在用这个JSN传递的时候。

如果你知道他是用fake js n呢,来做这个数据处理,你就可以在黑河中测试这个漏洞,好这是黑色角度,已经讲完了啊,等一下不要再问了啊,我怕等下又有人问啊。

那么现在我们再来看啊,那么白和我们知道是被接收的,但是这个PLOAD他为什么要这样去写呢,是吧,我们前期我们来到上一课,我们做的那个笔记来看上节课我们讲的时候,我当时没有讲他这个东西是吧。

我们来上节课那个demo呐,这是我们上节课的那个讲的那个东西,然后呢大家可以关注一下,来,我把代码呢给大家复制一下啊,这上节课讲的那个笔记啊,就上节课讲那个fake jn,不知道大家有没有印象呢。

就是我们说它的漏洞原因呢,就是在这里这个top里面呢来指定对象嘛是吧,就是如果这里让你改成这个user,那么它就是基于这个包下面的user,就对这个东西呢进行这个下面的数据转换,那么如果是这个run。

那么它就会运行这个run,而run里面呢刚好是执行命令,所以导致命令执行,这是当时我们这样去写的是吧,好我一运行呢他就执行命令嘛,是不是一运行呢他就把这个run方法来运行啊,他就转换。

那个时候那人刚好的把long8法运起来,就弹出计算器嘛,是不是先问一下大家啊,这个上节课有没有积起来的啊,积起来的就问下来呀,我怕把他有些人不记下来,不记下来,我不好讲的啊,哎这三节课讲的啊。

就说之前上节课讲的啊,那这里呢你改成user,那么他就会对user呢,下面呢这个这个什么改成user呢,它就会转换这个user的嘛,你看就这个就这个包里面的吧,那在com小李下面。

user嘛就对它进行转换,所以呢他就原生态,它本来就是转换user的,只是说呢我们把这个地方改成run之后呢,他就会调用R的,那你看改user,那就正常user那个事情是吧啊,已改装呢。

他就是调用这个run这个class文件那个地方是吧,好那么现在很简单的道理啊,这是上节课讲的嗯,我们把那个东西拿出来啊,我们这个地方呢,这其实就是一个什么这个执行命令的一个类,而这个类呢是我们自己写的。

比实战中,那不可能是你写的,你写吧,不可能你能写吧,自己写不了啊,在实战中你不能写,就是说你不能写,对不对,实际上这里不能写,那你怎么执行命令呢,对不对,你怎么执行命令呢,所以他就把调用对象这个地方啊。

指向了什么,指向这个地方哎,那指向这个地方,我们今天呢学习的是这个什么LDAP和r mi,那怎么就和这个东西联系上了呢,对不对,你看一下啊,那我要搞的话,也是搞这个这个dpi。

我们实现的代码是怎么实现的啊,我们看下上我们那个这个内容代码呢跑哪去了,哎呦还要开搞啊,在我们当时实现那个代码段呢,就是用这个东西嘛是吧,用这个东西,而这个东西呢是来源这个类,对不对。

我把它全部写出来啊,对吧,我们实验的时候呢,去去调用这个什么LDAP和这个arm的时候,那是用的这个类里面的都look,up方法是吧,来实现这个什么调用,对不对,那我不应该这样去写吗,那是我要这样写啊。

是我要要要要要要要要这样这样写,应该才对呀,就我把它换成这个对象啊,它才能调用这个RMI呀,是按这个意思,就是我们是要这样写,大家能不能理解啊啊那为什么要这样写啊,写写的com,这是什么鬼啊。

那不应该是这样写吗,我写这个地方是吧,把这个写上去,那我才能用这个mi这个东西啊,不然的话你怎么用呢是吧,因为我们用的时候是用它来实现的嘛。

来现在再来看一下啊,笔记里面啊,嗯我这伤几个笔记,翻了半天来看一下这里啊,那,在arm服务调用中有一个方法呢叫做什么com sum,那就在今天这个地方呢,也就是说呀这几个类啊,这几个类。

那spring的框架类里面,还有我们那个HIBIA那个框组件类里面,还有我们原生自带的这个什么,这两个里面都有刁用这个东西,所以他就用到了这个东西来去调用它,其实就是说这个地方呢。

你用它它也能实现这个方法,能理解了吗,这就是原因,知不知道这我只写了部分,这是网查的,还有很多啊,这需要你分析代码才能搜到的啊,这不好搞的,这网上查到的,所以为什么他是用这个东西。

其实就是因为呢简单来说啊。

就是因为这个方法呀,也在这个什么这个类里面呢,用到,所以呢也就是说你用这个类呢啊,就可以实现这个方法,那就可以调用这个RMI,那你起来吧,好这是理解这个原因,那么现在再来看一下,我把版本再换一下。

看着啊,现在是17,哎,这个现在是19多少版本,咦哈呃这个是17,我在华南边那个那个那个这个地方,你看现在我运行的这个JDK环境,就我这个启动这个项目的web环境的,是用的是,用的是这个啦,1。

80112,是不是我用它啊,看着啊,把那一换换成1。8362,换这个高版本的确定应用,重启一下,看着啊,现在换了版本啊,把项目里面的这个版本的换了,那现在用到这个1。8362了,刚才用的是这个嘛。

要好的,不换完它换了之后,我们再打再看一下能不能成功,好来看一下啊,再把刚才配load呢放进去,这还是刚才那个啊没有任何改变,哪个能成功,那这个也成功。

我这边的也没有动它,来提交没反应了啊,计算器不弹呢,你看然后呢。

你看这里应该还会有报错信息,那有提示,但是没有成功,啥情况,版本高了呀,对不对,所以答不出来了哇,这个arm被收鲜美啊,是不是,那你换个LDP也是一样的道理啊。

也也会受限,那你告诉我这个该怎么办呢。

啊如果你要答的话,你这个时候你该怎么办呢,是不是欢呐,换哪一个,换那个RMA的那个东西的。

来了的,那是换这个呀是吧,换这个啊。

这个对不对,1099的啊,来把payload再写一下,test是吧,对不对,就改这个地方就行了呗,其他的不用改了啊。

来试一下看行不行,先刷新一下啊,哎,哎啥情况。

这也不行啊,啊啥情况。

啥情况。

怎么咋也还不下,好再换个协议,好买2D皮,刚才只要DP嘛,那个DP的。

1389,换一下。

哎也不行,看到没结束这里,那他没问题,那结束这里,那你看看这是输的是吧,这都没有写错的啊,这是没有错误问题的啊,用钢丝能行。

这个不行,那这里就不行了,那他也收到了,但是他就不行,这又是什么情况。

刚才为什么那个可以,其实也非常简单呐,好理解了,因为这个漏洞它是法式的解释,我们刚才测的是它原生态的那两个写法,他捞的是原生态的,你发这个杰克森里面的油不一样,你说这个东西复不复杂啊,刚才测的时候能弄。

但为什么这画的这个小米信号又不能呢,漏洞不一样啊。

服不复杂呢,这里还有这个关于绕过的文章啊。

我都没给他看啊,我怕看了之后呢影响你们,那这里有绕过文章呢啊8月之前的绕过手段呐,怎么8月之后的绕过手段呐,然后呢他能绕过手的,那是针对一部分,就是说有些是原生态的,还有一些是logo的,那就很多呢。

啧这太复杂了啊,你这个后面分析呢太多了太多了啊,说白了你这个能读懂它这个利用原理和,为什么那样利用那个代码,我POC都来写,其实都已经很好了,你要说是吧,把他为什么那样搞,为什么搞。

那说实话你这个家伙不学好啊,不学清楚呢,像这个分析你看看都投入是个大的啊,不过我们后期呢,后面课程在讲到那个web安漏洞的时候呢,讲那个java安全的时候呢,会有一次直播呢给大家简单的分析一下的啊。

但是我们分析的是分析一个案例啊,不可能说很多这个绕过这个JDN东西,我们都要分析,因为每个logo你看我用这个原生态的这个东西呢,去这里NN组的时候呢,他能绕是吧,用到这个什么鬼。

fast JSON里面的,因为fast jackson那就不是用原生态这个动作是吧,他就不行了,所以说啊这个80JSN呢,那个楼里应该也是有一些限制,就关于这个JDK的啧,很复杂啊。

我只是给大家说一下这个醒啊,大家知道就可以了啊,好吧,这几个内容呢我又讲完了啊,讲完了,简单来说呢,就是说给大家讲了那几个比较重要的点啊,就是代码中我们写的那几个点啊,在这一个啊这个东西。

然后呢还写到第四点,我把这个东西呢给他写上去,很多话都是要自己说的啊,就是这个还有一点就是我们说的啊,这个利用时候啊,要知道这个其他类也能调用,这个ZNDI注入方法,那么这里呢我们举个例子啊。

也要知道其他类能调用,就是我们刚才这里呢写的那些东西。

那就写的这几个了,这是常规的啊,spring框架里面的和这个数据库,这个HIBIL的这个地方有啊,还有一些这个在渲染一些什么页面的都有,还有这个会用到这个方法啊,他的内。

所以呢你就可以在这里面呢实现这个r pi,也就是说对方如果引用这个类呢,用这些方法的话,那么呢其实等同于在这里啊。

如果参数可空的话,那么你就可以把RML写进去,啊这里呢和实际上面,那还是有些东西都没有讲清楚,但是我们在后期在讲java那个漏洞的时候啊,就专门讲漏洞,不在讲代码的时候呢,啊那个时候在庸庸的时候呢。

那就会豁然开朗,现在那就是先只要搞清楚今天讲的啊,这四点什么是JNJI它是干嘛用的,然后这个IM和RDB它有什么作用,它是内置的服务,然后呢他们是干嘛的呢,可以远程调用对象。

其次呢就是远程的去执行java代码,那么呢在这个过程中呢,对不对,哎就是一个涉及到方法呢,能够实现实际和他使用,就是我们说的这个了这个方法啊,不能直接用到这个r mi,支持RMI和这个RDP的这个东西。

然后呢JDK的版本也会有影响啊,JDK版本高的话,就是这个项目它是用JDK版本编译的高版本,那么就会有一些影响啊,它就会有一些东西呢注入不了啊,低板门就可以随便租,对不对,然后呢其实我们也知道了啊。

FA克斯JS文里面的反序R漏洞,为什么会用到这个LDI和r mi,就很简单吧,这个项目里面是吧是吧,fast给积分,明明这里呢没有用到那个漏洞,是因为这个fast积分呢有这个漏洞。

然后呢我们在利用这个漏洞的时候呢,刚好啊去提交这个东西的时候呢是吧,他能去调用这个这个类里面的东西是吧,而这个类里面呢就能支持这个LDA,P和r mi协议,所以呢我们在这个payload里面呢。

就让它呢去对这个对象呢进行序列化操作,然后呢去远程触发这个什么地址的这个java代码,然后实现这个命令执行和代码执行,这就是那个漏洞的情况,所以说这个奥DP和RM,经常在反虚化漏洞中出现的原因。

就是因为啊就是让这个反旋化漏洞呢,引申出来这个JDIZZNDI和RMI,还有这个奥迪AP这个服务下面的这个调用,那么就是执行任意的这个什么代码文件,那么这个代码文件是你指定的,那么就是你想执行代码。

想执行命令就由你来制定,就这个意思只是说在利用的上面的时候呢,就会收到这个JDK的版本限制,那么不同漏洞还不一样,所以说这是个非常复杂的一个问题啊,一说大家如果说那个思路理清楚就能知道。

我们还只是讲了一些这个前进的东西,那像后面什么分析啊,那就不用说了啊,其实如果说你后期能分析的话,对不对,那你也可以尝试去挖这个java代码审计漏洞了,哎好,我们这里呢今天就说到这里了啊。

看看大家有没有什么问题,有问题就问啊,没问题就瞎啊。

你相信我还是会讲的,我这其实不想讲。

太难了,说实话我这里没得讲,哎,不知道怎么讲的,很基础的东西,你不能讲讲呢,那里面的话太多,时间不基础不讲,那也完全怕听不懂,我自己都一窍不通,一窍不通是吧,有些东西呢我自己都不是很清楚。

你这咋跟你讲啊,妈的真是神经病啊。

要讲这个东西,网上加java安全的呢,他就只天天搞java安全,我这里面的又要转java呀,又要转什么鬼什么鬼,这个内网的什么面纱的呀,还有一些红队方面那些东西,哎啧太难了啊。

这是真是逼自己成为一个全能选手。

是吧,所以为什么网上老去评价说,为什么这个课程呀啊这个多,但是不深,我也知道啊,那怎么深入都深入不了啊,这他妈的天天研究那个研究这个,深交只能自己做,我们就说给大家开个头,能讲多深。

就是靠靠我自己能讲多深啊,这个我没办法保证知道吧,其实我教这个东西呢,主要大家就是以后呢大家去分析漏洞,对java有点了解,然后呢java去利用的时候能知道个嘴巴,同样呢。

后期大家如果有想往这个java安全深入的话,起个这个开头,也是为大家以后在面试你的时候,别人问到的东西,至少你那呢还能回答几个,上别的说里面的java啥都不懂,蛮尴尬,我主要是为了这个事情,你知道吧。

看一下test class是啥看的就这个代码就这个东西啊,执行个命令的,这有啥看的,没看到啊,在java特斯java。

你做class class是啥都没有,class打不开的啊,class是个乱码文件,编译文件啊,要反编译才能开的嗯,这class你打开啥都不是啊,来。

我们ID是自带反编译。

所以打开能看到真实代码。

哎呀不讲了不讲了啊,java审计讲这个spring的code,现在网上没有一家讲java代神机,还讲你说的这个视频扣的我可以讲,但是你要跟我保证我讲了,你出去你就说我是高端number one。

行不行行,我就讲行,我你妹的,我花时间学,我也要跟你讲。

人都要笑死。

我们不能违背初心,对不对,今天还有个人说说现在的课越讲越听不懂了呀,弟总违背了初心呀,唉不再是基础number one啦,说的我这他妈的都不知道咋回答了。

好不扯淡了啊,大家看有没有问题啊,有问题就问啊,刚才有人问说什么鬼。

两个工具打不打包,唉说实在话啊,我每节课都在打包,你问这话就是老没听课的人,我就不说这个听没听课了,你如果学这个东西,你网上也能找到那两个文件,那两个文件不是什么神器,网上都能下载到,对不对。

我即使不打爆,你也能找到,唉你问这个问题就说明一点,说明什么呢,你学这个东西会很吃力的,所以你才会问这个问题啊,懂得都懂啊,我只是开个玩笑话啊,就我意思就是很我的反面意思就是说啊,能学懂的,不会要东西。

学不懂的他就会咬东西,所以说你要不要东西不是,关键是你能不能学懂。

P38:第38天:avaEE应用&SpringBoot框架&MyBatis注入&Thymeleaf模版注入 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

今天呢讲这个java的这个框架啊,也是现在主流的一个框架是拼的boot,这个呢其实我们今天要讲两次直播啊,就这一次讲完之后呢,还有下次啊,就主要研究下这个框架上面,那些常见的安全问题和他的一些简单使用。

这是我们一个这两科的一个主要点啊,嘶嗯然后呢今天主要是讲他的一个数据库应用,这个买BIOS买别买B啊,my bmy babies啊,然后这个还有个这个模板的一个东西啊,里面呢有两个安全问题。

同时呢也给大家顺便入门一下,这个spring boot的一些简单使用,这是我们今天这个点啊,那么现在呢我们也不多废话了啊,先给大家说一下这个spring boot是一个什么东西啊。

这个spring boot呢它是一个java的web开发框架,那为什么要学习它呢,很简单啊,它是目前为止啊,在java这个web开发中呢使用最多的啊,不是使用最多,就使用最简洁的。

也是目前的一个主流框架,就是现在目前的大部分用java开发的这web应用呢,稍微这个写的好一点的,都是采用这个spring booder呢开发的原因,就是因为它开发起来更加的智能,更加的快捷。

更加的效率,然后呢也符合当前的一个技术潮流,像前期网上还有些什么这个视ping啊,spring f AC呀,那个呢在早几年呢还比较流行,现在呢逐渐的被这个视频布的呢取代了。

所以呢我们就来这个目前主流的spring boot学习spring boot,那目前也分为这个R版本和三版本,但是也无所谓的啦,你二版本三版本呢目前都是主流啊。

我们呢这里呢就给他锁一下这个spring boot啊,这是他一个接受啊,呃我们等一下呢用它来去写这个代码的时候,大家就会发现它比我们前面讲解的,用那个是script呀。

就是那个就那个原生态的那个web开发的,要简洁很多,而且要更加的智能,很多东西呢就按照他的需求来做就非常快了啊,所以说这也是它流行的原因啊,更加的好了啊,嘶那么现在呢我们就来给大家演示一下啊。

那么这节课讲这两个啊,下节课我们继续讲啊,还有他的一节课讲完之后呢,我们把这项目呢发布到网上给大家看一下,用java搭建出来,这个就我们自己写的这个东西呢发到网上去,把它答案起来,看来这个搭建之后啊。

会和常规的什么pp呀,这个JS呢那种项目搭建起来,在网上运行,包括它的架构和显示会有哪些差异啊,把那个最后结合的就讲这个啊,讲完之后呢,我们就开发就讲完了啊,就还有两次直播嘛,是不是好。

那么现在呢我们就来看一下这个spring boot啊,它的一个使用呢我们先给大家看一下啊。

来直接撸啊,直接开始打开我们的IDE1啊。

嘶每一次打开都要把先。

哎。

好这里呢我们就创建一个demo啊,创建一个项目啊,这里呢也注意啊,来额采用这个之前呢是在这里是吧,选择这个web服务,在之前的,那么现在呢用这个SPINDER,那就用这个了啊,然后这里呢有个服务器地址。

这个服务地址呢默认的是这个叫start,start spin点IO,这个是官方的一个地址,这个是什么呢,这个其实就是他从这个软件上面呢,去获取这个加固啊,你也可以把它。

如果说你这里获取不了这网络差的话啊,你可以把它改成阿里云的国内的啊,这两个都可以啊,改成这个start spring点IO,或者start这个阿里零点com也行啊,都可以啊,这个问题要答案。

我们就用这个原生态的吧,就不改吧,然后呢在这里呢就有几个东西是吧,我们就选择java,然后类型呢就搞成这个参股MAFEN的啊,这个使用最多呃,版本的JDK1。8,这个java呢也选择八版打包类型的J2。

然后再取个名字啊,名字呢就叫spin bot,然后呢test对吧,这名字取这个名字啊,然后呢这个组呢改一下,就叫这个CN点小迪SECA吧,是吧好,我们再点一下下一步,这边呢就是它的版本号啊。

这个目前最新版本的是个3。0的对,但是呢你这个也无所谓的啦,你也可以选择这个其他版本啊,你比如说这里呢我们把这里的地址一改,你看阿里云这边啊,阿里云点com的这个架构确定,然后再点下一步,你看他这个2。

0的,默认呢让你是截取的是2。6。13,其实就是说在阿里云这边的一个仓库呢,他认为这几个版本的比较稳定啊,这个都无所谓的啊,我们学的2。613,然后这里呢有一些这个常见的一些服务啊,这就是他支持的。

你比如说我做web开发,我就选择web的啊,对当然呢你看这里呢还有很多啊,对像下面一些高端的什么这个人啊,coo的一些服务啊,还有这种其他的你还可以写其他的啊,很多东西都能写。

我们这里呢呃像现在呢我们用到的最多的是吧,这个circle里面呢也有呢很多呢勾选了JDBC的,还有这个今天马上要讲的这个my BIOS,买b my babies啊,这个东西啊,这个里面都有是吧。

来对不对,就说你可以选择这几个东西啊,然后呢进行这个操作啊,他在里面很多东西都有啊,然后你像这个server里面的一些服务是吧,那包括安全的一些东西啊,还有这个很多东西啊,都可以自己呢。

根据自己的需要呢去把它写上去哈,你比如这个买BISS,买babies吧,然后那还买SQL啊,我这里就不选了啊,我先做第一个啊,这WEBB的就只是选择web来把它选中了,就选择这个就可以了啊。

其他的呢我们暂时用不到,好吧,下一步啊创建啊,然后这边呢会有一个时间啊,这里呢你看一下啊,他就会下载一些这个常见包到这个里面去啊,你看下这么多啊,这里面全部在外部库,你看它就自动集成了什么JSJS文达。

JKSN的,还有像什么那个log4J的,那也有里面自带的,还有我们这个什么鬼拼布达的很多啊,就这些常用的啊,他都帮你把它积累进去,其实就是说他的框架里面呢,把我们些常见那些要用的。

一些常见组件的都加进去,而且他这里呢不需要你再配置什么tom cut,那些服务器,它自带有啊,嘶好这里搞好之后呢,呃我们来点击这里地方啊,看一下啊,等它啊,一般我初次启动呢需要个12分钟啊。

我们这里呢由于我之前拉取过,所以这个仓库金香呢都在啊,GL包的都在这个里面啊,这是我们那个情况啊,然后呢我们把这个不要的这个多么,我把它把它删掉吧,因为这个无所谓,要不要他啊删掉。

就是这个呢有个这个叫spring boot test application。

这个就是他入门的这个系统的这个地方好,然后这里呢我们就给大家看一下啊,他的几个常见的东西。

就是他初次使用的一些路由映射啊,窗口传递啊,数据响应该怎么写,前期我们用那个script的那个ADP呃,呃是不是就school的那个东西啊。

写的话,那有些那个写法,那现在呢我们就在这里写一个吧,我们就创建一个console啊,console对象的啊,就创建console,嗯名字那就叫这个,Industy,好守吧。

好这里呢就自动上那个这个console这个包,然后呢这里呢index console在这里面啊,写好之后呢,哎这个时候啊他该怎么去操作啊,它是非常简单的,首先第一步呢在这里写一个这个它的一个。

把它当做一个控制器啊,写个console前期,然后啊大家看着啊,他怎么去接下来写他的一些其他东西啊,你看啊,我们给自己的创建一个创建个这个变量啊,创建个这个方法,我们就默认把它当成手游。

把index的一个方法啊,好这里呢return返回返回一个东西是吧,比如说返回这个小迪是吧,那返回这个小黎,然后这个时候怎么办呢,以前呢我们之前是怎么写这个呢,就把它带到空气。

然后这里呢路由是怎么写的呢,是这样写啊,request comply啊,这样写啊,然后后面呢是写他的这个路径好来,比如说我这里可以随便写个路径啊,比如说写个这个访问这个小离路径来触发。

这个地方大把写上去保存了,然后这里呢我们直接运行它,你看啊运行运行这个finder application这个地方啊,不是运行这里啊,并在里之后呢,它就会自动启动一个这个服务。

你看啊它会自动启动tomcat,就说我这里压根就没有配置啊,压根就没有配置,它默认启动8080,然后如果说你这个bin monk被占用的话,你在哪里修改呢,可以在这个地方呢。

它有个这个配置文件叫application这个文件,然后这里你看有个叫8080是吧,你把它改,那么端口就会自动改啊,如果说端口占用的话,可以在这里改啊,它就会自动在这里配置。

就是基于这里啊啊启动好之后呢。

我们来访问一下啊,这个8080啊,看一下啊,哎打错了,那访问呢看一下啊,我触发这个当小迪,你看啊,那就是不是小题就显示出来了,Return,那返回这个小题就出来了,对不对,那么同样道理啊。

除了这种写法之外,它还可以写什么呢,你比如说啊他可以指定我把写写啊,tag指定方法来request点get,这个是什么意思啊,再写一下嗯,指定这个什么get请求方法,访问路由来绑你这个地方。

然后这里呢把它浓缩一下,哎打错了,W啊,来就是get方法呢去请求这个地方,对不对,然后你看啊,我们把它再重启一下,对,那其实和这个一样啊,和这个一样,你直接访问也是一样好,这里包了个错啊。

这个错了就这样写,这次访问路径啊写上去,然后呢我们再访问,好可以了啊,显示了呃,然后这里呢这是get是吧,然后你看啊,如果说我是post的话,该怎么写啊,把这改成什么点post就完了呀,对不对。

好名字再改一下是吧,这个叫get post的一个值参数名,改一下,这个叫get invest get test,对不对,我改一下这个名字都可以改,随便改的啊,你看啊。

这里就返回这个post test显示是吧,再改成这个get test,好重启一下哈,好这个要改一下啊,对对对,差点忘记了呃,然后你看啊,他这边呢还可以直接通过这个插件啊,就是我们这里不是插件啊。

叫的功能呢应该选择这个地方呢有个叫什么呢,显示这个模块的属于端点,你看这里就可以看到了,我写两个了,一个post提交小迪,一个这个地方,小黎对不对,我这个呢就写个小d post。

然后这个呢就写成小迪get访问这个地址嘛,你这里可以看到啊,体型像,好现在启动之后呢,你看啊我方问小迪拿错误页面没有东西,这是默认的那个spring boot的错误页面啊。

你学过就知道这实际是默认错误页面,然后呢我们看一下啊,访问这个get之后,那显示get test,然后我再访问这个效率,post哎又错误了,为什么呀,因为这是post提交。

所以你这个时候呢就要把这个地址信息呢。

以post去提交,那我这里还可以使用这个postman in呐。

后期我们经常可能在API安全里面呢,经常会用到这个postman这个接口提交工具啊。

去在这里来构造一个什么post请求啊,把这个写下来,写这个呢以post去提交啊,勾一下来发送,那它就显示post test对吧。

对不对,这个呢就是我们的这个啊两个提交,那么这种呢是无参数的是吧,这种呢就是无参数的,没有参数,就说我只访问呢没有参数,那么其实这个呢它也可以写成这种模式,还有一种模式叫什么,看到啊。

叫get manner,这种写的也是可以的啊,这种写也是可以的哈,这种写法也是可以的啊,这种写法它也可以能理解吗,来这里有个叫get my name,也是属于get,那么同样道理啊。

他这里呢还有这个什么post mein,那么呢也是和他一四同理的啊,就是说你这样写也是可以的啊,能不能理解啊,能不能理解,这个我不说,应该都都都知道吧,就说这两个写法呢都是支持的,都是属于这种写法。

能理解吧,但post怎么和这个地方这样写,也是的,这个就直接告诉他是get访问行为,而这个呢就是POS行为啊,你用这样写,那就直接在后面写,告诉他行为,两个都行啊,那这里呢写好之后呢啊这是五参数的是吧。

那么还有一种呢就是说有参数的,有参数该怎么操作呢,那我复制一份啊,那这里呢再写上一个这个有参数的,加个杠P访问路径的加个杠皮,加法线皮,然后在这里怎么写啊,然后在这个地方呢,比如我再写个什么艾特。

显示参数,嗯这个是港批的,我。

来写个这个名字啊,就结束这个雷姆啊,打印的时候呢就加个雷姆,这有参数的啊,这是get的行为,搞个G吧,都写个G的名字啊,G代表get,这个是有参数行为,然后呢我们再写一个啊,这个是点poster。

然后这里那就小d ghost下这个get,嗯嗯这里呢就显示十吹也是这个值啊,也不打印下名字就叫杠P的这个方法比啊,这里也不冲突啊,那么大家看一下啊,就这样写好之后呢,一个以post提交。

一个以这个东西提交啊,那写上去啊,结束这个类目,把类目打印好,我们来运行一下啊,嗯这两个呢就是,get请求,然后呢访问路由,那by这个参数命名啊,这个呢就是我们说的这个post请求,带参数名呢。

Name,好我们这里呢来访问一下,试一下啊,来访问这个地址,首先呢我们访问这个地址啊,来请求这个地方,后面加上参数名,name等于123呐,看到没get test123是不是这里啊。

然后post呢也是一样道理,这里发包请求get什么也是杠机。

也是请求这个杠机路径地址,然后呢以post去发送,直这里写上命令显示值123456。

行不行,勾,那get test12356改一下啊,叫post test,对不对嗯,那大家看了这个过程应该就知道,这个是spring BO的呢,要比我们之前上过的那个东西要简单很多了吧,是吧。

就是说直接在上面定义这个访问路由,和定义请求方法,然后呢后面呢这个输入接收值是不是都可以啊,没问题吧。

这个就是它的一个最基本的一个操作啊。

然后呢有个东西,这里呢有的地方呢会显示这个叫response,Console,有的地方呢会这样写啊,这个其实不该我强啊,但是呢我看有的人呢会问,在其专业开发里面讲过,那这里呢有两个啊。

就一个叫叫这个LREST的,还有个叫这个CONSOL两个啊,这是一个有哪些区别呢。

在这两个啊,这两个都可以,就是你写这个呢也行,写个它们的一个区别,那就是很简单,就是如果说你用这个的话,它就相当于呢啊加了这个返回里面啥意思啊。

就是我们在这里呢不是这里是属于接收吗,那这里接收参数值吗,对不对,那么如果说你要返回的话,他一般都会在这里面写上个response bully,写这个东西进去,然后呢后面再去把那个页面再进行返回。

就是我们那个前端看到页面返回呀,会这样写,然后呢你如果说使用这个这个东西的话,那就不用写了,所以说我为什么说写这个的原因啊。

就是他比较多一个这个东西啊,没有什么太大区别啊。

一般呢用这个好一点啊,当然你可以用这个也无所谓的啦,用哪个呢就多写个这个东西嘛,写个respond boy就可以了。

好这个就是我们说的第一个啊,它的一个基本的web应用的一个路由响应啊,就说怎么看他的请求路由地址,然后呢它的响应内容包括这其他的事情啊,对不对嗯,看困了是吧,看困了去休息呀。

好这个是我们说的这几个地方啊,那么接下来呢,我们就看一下这个他的一个应用啊,应用这个spring booder呢联动一下这个数据库应用,my babies啊,啊呸比斯啊,然后呢这个啊BS呢。

网上呢你可以先来看一下这几个数据应用啊,不是说我们讲的,都是按照这个现在主流的东西讲啊,base啊,JDBC啊,还有这个HI什么BT什么鬼单词的啊,有只要这三个是用的比较多的。

这三个呢都是在java这个web中呢,做这个数据库的一个操作的,那么原生态的JDBC啊,还有我们这里呢说这个买BBS,还有这个啊都有各自的优点,但是用的最多的呢就是个my babies,四。

就是为什么要讲他啊,我给大家说个例子啊,首先啊如果说在java中去分析SQL注入的话啊,这个注入呢你采用的是什么东西,去查询的数据库或是什么东西呢,去这个数据驱动,数据库驱动呢去查询的数据。

那么呢就像我刚才说的有什么JDBC啊,还有这个my babs啊,还有刚才那个hi的那个东西对,有三个,那么他们在使用的时候呢,方法不同,同时呢里面的这个安全问题呢也不同。

那么我们就拿这个使用最多的这个MYBABB式的,来去讲,那个JDBC呢在前期课程已经讲过了哈,那么现在我们说这个MYBATIS啊,然后他是怎么用的啊,它的过程有点小复杂,但是我们公能实现啊。

至于为什么要这样做啊,你可以专业的看一下专业的开发课程啊,他有一些各种的讲究,就是说哪些文件放在什么实体层,放在什么dollar层,放在什么控制层啊,各种都有讲究的,这些呢我们不关心。

我们只关心呢看懂代码,知道怎么分析,那就足够了啊,嘶啧你看啊,这个他的一个过程呢是第一步呢,先数据库创建数据,这个呢很简单,前期呢我们有演示数据已经给他创建了,讲PPP应用的时候就已经创建了一些数据。

还是用到MYSQL,你家这个sting boot呢还可以联动什么release啊,各种各样的乱七八糟的数据有一大堆,但是呢都差不多,那数据库不同而已啊,啊第二步呢就是这个创建的时候呢。

添加这个my babs和数据库驱动啊,当然了你也可以不添加,不添加的话,就直接在他的这个pom xm的配置文件里面,再去添加它的这个架包啊,然后呢第三步呢就是我们说的啊,这个配置它的数据库连接信息。

就说我们直接的把数据分析,写到这个配置文件里面去,写好之后呢,它就会自动调用,就不用你呢啊去修改了,对不对,不用你自自己呢,就相当于这个数据配置文件可以写到这里面去,很多文件都可以写到这个文件里去啊。

第四第三步呢就是啊自己呢创建一个这个类,这个类呢是干嘛的呢,就用来操作这个数据库的,因为数据库取到数据之后呢,要把数据都存放到一些这个变量里面去嘛,所以呢就创建这个类了来存储这个数据啊。

之后呢就用这个呃,这个EMERSON这个东西是干嘛的呢,就它叫动态结构代理,它是干嘛的啊,其实呢它就是一个写好的一个类似的一个,我们可以把理解为一个代理啊,理解为一个这个路由,就说他把这个东西写好了。

固定好这个SQL语句,然后呢他就按照这个方式去执行,也就是说定义好了一些常见的模型啊,你就直接执行啊,最后面呢就是用这个控制器呢,来实现这个访问啊,并且呢解锁这个用户数据,并把数据呢进行数据库查询。

并且呢代入到这个显示页面中,就是一个用,就和pp一样是吧,先这个建立数据库连接啊,然后怎么接收用户提交的数据,然后呢去执行SQL语句啊,最终把SQL语句执行的结果呢给它显示到页面中,是这么一个过程是吧。

java的也是这么个过程,只是他这个过程呢和批评的有点不同,就是他写文件,包括一些这个架构呢都不一样,这个spring boot啊,那么现在呢我们就来做这个事情啊,来实现这个事情啊。

那么大家呢就把刚才我说的这几部呢给砍一下,然后我们现在呢就开始给大家去这个。

用这个sting bot联动一下这个my bias呢,babies呢,来实现一个这个数据的一个查询和显示操作啊,好那么现在呢我们就重新创建一个项目了啊,也是一样啊,名字呢就叫这个spin。

啊讲到这里的时候呢,之前还有一些有疑问,就说你现在呢是在这个IDE里面呢去去写代码,并且web服务呢也是从这个IDT里面呢,去启动的,那么如果是真实情况,下面是个什么情况呢,对不对。

不可能说你用id去打开源代码启动网站吧是吧,这个大家都知道,所以说我们呢在这个java开发的最后一讲呢,就是把这个前期小的一些项目呢把它封装出来,封门收到之后呢,商先到这个县商区呃。

上线呢第一个是了解这个过程,第二步呢就是让大家能够明白,这个java类型的应用网站,他那个源码体系架构,和我们常规的这个什么PPRJS呢有多大区别,看到这个区别之后,你就知道某一些的这个安全渗透手段。

和这个java的就没有没有关系,就像我们说的,像类似什么源码获取,它可能针对一些java应用,那就不再有效果,原因就是因为java它这个语言特性,他那个在网上启动之后的那个文件,那个class属性。

包括一些其他的属性呢,造成了他的源码呢也拿不到啊,会有些这种情况啊,所以说呢为什么要把它拿出来,第一个呢是把解答大家疑问,也同时呢给大家说一下,这个java和其他语言,这种网站应用的一些不同之处啊。

所以有些安全渗透手的呢都会失效啊,它是不一样的啊,这也是我们为什么呢,一直辛苦的给大家去讲这个讲这个讲。

就说为什么一直辛苦的去给他讲这个软音。

因为啊这个东西你不讲,我光说没有用,你毕竟要看到了诶,你就知道这个他的一些不同支出啊,印象就会深刻一些啊,那这里呢同样道理啊,我们呢先勾选这个web应用的now spring boot。

然后呢由于现在呢要做这个数据库操作的,MYBABY死了,然后呢我们选这个啊,SQL里面呢选择这个啦,My babies,然后for work好了,我们现在呢要用它的框架呢来实现和MYSQL。

数据库的通讯,所以我们就选择了MYSQL,如果说你选择oracle,就oracle选择sexy,有sexy呢,这里很多数据库啊都可以自己选的啊,那你看很多啊,那就选择这个什么mysql drive。

就是MYSQL的驱动,三个啊嘞web的,然后my babis框架,这个框架呢是专门做这个数据库驱动啊,数据库连接操作的,然后这个mysql driven呢就是来连接啊,管理的,点击创建好,建。

嗯好这里呢就把这个东西呢给大家搞上来了啊,然后呢我们这里呢由于要用到MYSQL。

所以我先要把这个MYSQL的数据和数据库呢,启动起来,并且准备好,那这里呢我们用这个是个pp study,内置的这个pp这个MYSQL啊,这个版本的来去给他演示,当然了,你如果说没有装的话。

你自己装个MYSQL呢,在里面导入导点数据进去也是OK的,但我启动了啊,我确保一下啊,用这个前期我们用这个东西讲过的嘛哈。

用这个数据连接工具呢啊连一下啊,看一下是不是有并且能够连接上啊,那选择这个多么零一啊,然后呢等下再去查一下这个表啊。

就可以了啊,好这个准备好了啊,这东西都是正常的,数据库呢也通讯了,就是完成了第一步。

那么第二步呢就是用项目呢去添加这个东西,那这个东西呢由于我在这里项目创建了,所以在这个包里面呢,哎妈的选错了,的选的这个仓库了,删掉删掉,选择错了仓库,重新创建个,那选这个在仓库选的这个东西,选。

打确定一下啊,当然又搞错了,三个选中嗯,好那这里呢我们看一下啊,那他在导向这个东西呢,他从网上去下啊,这些全部下好了啊,我这么快是因为我前期搞过啊,瞎过你第一次呢他有点慢,可能需要12分钟打开这里呢。

你看啊他这个地方呢就自动帮你导航了,你看挖挖机my baby,那SPINPUT的,那这里那就我帮你写好了啊,MYSQL的那也跟你搞好了是吧,就你不用,那自己呢在在上面配了啊。

他直接帮你自动的把这个里面管理上去了。

你就不用管了啊,不用管了,所以这个东西呢不用管了啊,这是其实就是第二步,如果说你在其他项目里面啊没有选中的话,那么你要开发的话,就把那个选上去就完了呗。

是不是这个也大家都知道了啊,就前期我们也是给他添加过,从那个MOVMVN它那个网站上面去呢是吧。

去自己呢去在上面找,然后来添加就完了啊,之前讲过啊,这不说了,那么现在第第三步啊,那创建这个数据库连接信息,其实这个呢就等同于在PPT里面呢。

去创建一个数据库配置文件一样,那么就是在这里创建了,那就这里,然后这个呢默认的是这个PROPRTSES,就这个配置的加我的啊,如果说你用这个配置的话,那么它的配置呢是这样写的,My babies。

然后嘞,然后啊点哎,然后呢他下面的有这么多是吧,那有这么多,啊这个是这个语法,我们呢这里呢用的是另外一种。

用这是一种就换成这个YML,这个东西呢不需要大家理解啊,就是它有三种,一个是YAML,一个是YMYM。

还有一个是这个,这个是默认的,默认的写的话是这么个写法,我现在给他换一下名字啊,I名字换个这名字啊,用这种写法,因为在专业开发中呢一般用YM多的一点啊,因为它写法会更加的直观一些。

当然了你可以用这种写法,现在写法呢它它的配置呢有点不太一样,聪明明压啊,改成这个Y阳,那写好之后呢。

把这个配置好之后呢,打开它,然后呢把这个写进去,那这个是怎么写的。

其实我可以把自己的给他看一下啊,那你直接写上去之后啊,来自动取出来啊,把乱码也去掉,然后你看啊data它自动帮你补的啊,就是你这里呢就直接这样写是吧,现在写个SPING,然后呢这个马BB死了。

那so的哈,还有这几个东西,那余out的他都可以啊,来啊写了的,还有这个什么鬼UR路径呀,username啊呢啊,password呀,是吧,一般的配置几码账号密码,还有我们说的这个数据库名名字。

还有这个class文件录像。

那就这几个嘛呢,JDBC啊,连接本地的3306的DOM01代表数据库名。

是把它写上去啊,然后账密码root密码呢也是root。

还有一个呢就是我们说的这个driver class name。

就是我们说的class name名啊。

直接把整体复制吧。

然后呢是我们那个呃,就是我们那个包的那个地址是吧。

就是包里呢com mysql cg g BBC就这东西啊,那你这里的写它也是能够帮你把它弄上去的啊。

我直接粘贴复制吧,好配置好,这是我们那个账号密码,PC和这个路径地址包的这个路径,那我驱动加好了,配置好了啊,就是你的数据库的这个账密码,包括你要操作的数据库的名字多么零一,配置好之后。

第三步呢就是来创建这个数据的存储,数据库的用户数据。

所以我们在这里来这里啊,把这个燃油的吧删掉,避免它有些冲突,然后这里呢可以创建一个目录,创建一个class名字,名字就叫ENTITY哈,为什么取这个名字呢,就是我们往说的什么实体化层。

就是一些实体化的一些东西啊,你可以不写,但是呢专业性的就这样写是吧,想上去点user,就是呢把一些这种数据存放的就放到这个目录,还有什么刀层是吧,持久层啊,各种各样一大大堆的东西。

那个呢就是专业开发里面,就是各种文件来处理各种的业务逻辑啊,如果是搞专业开发呢,你就按照这个逻辑写,我这里写呢,无非就是告诉你有这么个东西以后呢,你再碰上一些专业的源码分析的时候。

那你就知道哎这个目录下面可能是哪些文件,哪些文件会在这个目录下面就有这种意思啊,不是说我要教你搞专业,而是因为你以后要要看专业代码,你不可能说自己天天写个demo升级是吧。

你肯定是要面对这个成品的源码的,那成品源码的话大部分都是很专业的。

都是放到那种单独目录是吧,表示它是什么哪个层面的文件。

那么写进去啊,写进去之后呢,我们这就创建哈,来创建几个东西呢,嗯嗯string类型的啊,先写个int类型的,就存储那个id嘛是吧,id的名字有id,然后呢这个还有string类型的是吧。

存储这个USAM的,因为我查这个马上要查哪个表啊,啧哎这里呢你可以在这里配置啊,这里有个这个数据库的东西呢,你可以直接点击添加了数据库源,选择MYSQL啊,一开始这里呢配置啊能连接它。

这里呢也可以直接连接数据库操作啊,我这里呢不增加大家的这个难度了啊,我就不搞了啊,你是专业搞开发的话,就要搞这个东西在里面呢去看啊。

更加明显,那么这个demo01呢我们就操作UNAME哈。

sword嘛三个,那就写三个东西呢,来结束这个三个值嘛哈写上去,想知之后呢,把这个get和C的方法呢把它搂上去啊,就是我们的这个alter加inside安新区,由这个叫get和set全部选中。

网上呢还用到那个什么鬼local啊,那个am l a m l k那个那个架包呢来实现,就是前面写个ADD,那就能把这个东西写进去啊,当然了,我不加重大家的这个开发任务,我就讲这个老本方法啊,填进去。

再把这个TOSTRING呢也写进去,是吧好写好了账号了,那大家可能会为什么要写这个东西呢,因为呢等一下不是这里有什么得到id是吧,返回id还有什么,如果说你要设置值,那这个值呢会更改。

是不是就写个东西啊,好写好之后呢。

这个就完成了,这个呢就是用来干嘛的呢,呀我们这可以写写啊,它就是用来这个存储数据的啊,我们的数据库取出数据之后呢,肯定是有一些变量接收啊,啊568封装到这个类里面啊,对不对,好。

第四步呢就是创建这个妈妈,对于同样对于零的来实现啊,那这里面就创建一个吧。

对不对,一样道理啊,也是显得专业一些,说这个包一直叫MPP啊,然后呢这里取名叫什么叫user,那么。

放到这里来,那这里呢是它是干嘛的呢,它这个地方呢就是动态接口啊,你可能会问这干嘛的啊,我们把它写出来就可以了啊,其实呢我们不需要特别了解他的干嘛的呢,其实就是它固定好的一些动态接口好。

这里呢创建错了啊,他是个接口,我们刚才创建的是内删掉,那他这里呢创建的时候呢是一个接口啊,选择接口。

好来到这里显示区啊,这是接口了哪个接口,然后呢。

现在怎么办呢,固定好这个地方,它和那个sting boot一样啊,前面那个web可以用一样,消耗嗯,然后呢在那就来了,他是来源于这个地方的啊,买BBS的一个路由啊,然后呢我们来写了snack。

snack那个代表什么意思啊,这个什么意思呢,大写的啊,这个代表什么意思啊,这个代表snack语句,你看下面还有啊,那excite来看到没,excite还有什么,就是说你用哪个语句就用哪个东西去写。

那么它就表示这是执行STINSIGHT,那还有delete,那很多啊,我就不说了啊,我就写个select查询一下就完了,把语句写进去,把snack的simple ADD me是吧,查询ADD me。

然后下面呢就写什么东西呢。

就写一个东西来接受它,来写个这个东西来接受它,是不是写个东西来结束它。

嗯就是我们说要用这个方法呢,去把它进行一个这个操作哈,哎那就写进去啊,其实我粘贴复制呢也可以。

直接粘贴复制吧,我先把它查询一下,给大家看一下啊,好这里呢就有一个这个勒啊勒呢,我们就导入刚才的那个地方,那就这个了,刚创建的就这里嘛,第一个,发现去啊,那这是命好,然后创建一个方法啊,这个是干嘛的啊。

就是list就是一个列表,user user就是刚才,那然后呢这里呃不写参数吧,直接写这里就是FIF了啊,用这个方法呢去查询调用这个select好,那么现在呢我们再来创建一个这个文件。

名字呢就是console,就是刚才啊和刚才一样了,嗯然后点这个叫INDUST吧,也名字,那就叫user,get啊算了就去get get ADD me,点CTRL,创建一个东西。

然后呢刚才的那个方法就可以用下了啊,来,是吧,写这个几东西,名字叫get addin data数据,然后把它搞进去了,这里呢就怎么用它呢,就是我们先把路由地址写上去啊,比如说我这里访问嗯。

就get访问吧,就写个这个东西啊,我们刚才没用,就用它一下吧是吧,就用它一下访问这个对比,get data抓放,get at me去得到它,得到这个例子啊,然后呢这里那就怎么去用它呢是吧。

这里呢就是访问这个地址呢。

去触发这个里面东西嘛哈好,那我这里呢怎么用它呢,是不是刚才我写了个满宝吗,在下面的就用这个东西呢看一下啊,直接用这个什么,把这个东西呢给它进行个调用。

直接调用啊,下面呢就写上那个东西,然后呢是刚才那个名字没批PR啊。

然后取个名字啊,赋值把显示区啊。

刚才呢是这个user里面的东西,名字呢是这个,所以呢名字呢就是user啊,那么重器写进去,然后名字呢我就也叫这个名字吧,先进去,然后这里那就调用这个冒泡啊,调用它点什么fighter out的方法是吧。

把取到取到之后呢,我们不是要接受它的值吗,还要接受它值嘛,对不对,接收值这里呢可以看一下啊,荧幕局部电压来结束这个词哦,然后呢,把这个东西呢给它返回到页面中看一下啊。

return返回一下这个else取名它类型是list类型吗,把选择区他这里说报错报错什么,报错的原因是什么,因为这里是string类型。

他这里不对应上啊,他这不对应上,你要把它改成什么类型呢。

就是把它数据呢改成这个什么,和它的类型一样啊,就OK了,你看就对了是吧,因为他访问实物类型,它的类型是list类型啊,这改成这个类型的一致是吧,因为这个list user类型呢,user是个类嘛。

Z9Z里面的类型嘛,对不对,好在写好之后呢,我们来看一下啊,是不是又实现了一个艾德米的一个查询操作,然后调用这个fire out的方法,这个呢就是这里的啊定义的。

然后就是和这个script a snect呢挂钩的,那么很简单的道理啊,我这里呢也可以给他再写一个啊,那好我再写个早用ab,然后呢条件是while呢i id等于是ID1,然后这里呢名字改一下。

叫finder,id改个方法把它写进去是吧,等于它,然后呢再id,我们这里呢也可以把它进行一个查询是吧,重新呢再创建个信息出来,比如说这个呢就叫get id啊,然后这边名字呢啊。

名字就叫get admin i id1数据好,这里的数据呢调用方法就是get iid1,好两个都写了啊,就一个是查艾米,一个是啊,后面加了个条件,Where vb,然后这里呢就把这个什么启动器呢。

给他启动起来啊,启动起来看一下啊,现在啊嘶嗯。

好启动了,这里怎么还在下东西啊,好他在检查啊,我们等一下,避免它会有些问题,好好了,来谈一下啊,来访问一下啊,来看着啊,这是那个地址是吧,访问的地址啊对了,然后呢我们现在呢你看啊,我要获得到两个数据。

这里写了两个码呢,一个是这个查询艾米,一个查艾米有关id,然后呢我们可以看一下啊,如果查询在这里,让我们先在这里的默认查询下呢,查询他就返回两条,如果是y i id呢,I等于一的话哈,那就返回第一条嘛。

好好两人数据,我看他对不对上哈,访问地址呢是在这个地方,访问地址是get enemy,我们来访问get enemy,看一下啊。

你看是不是就返回信息,你看id等于username,I等幂password,123456。

i id2username小题,password小于IC是不是就查到了,你看就这里面两条数据嘛。

是不是就用my BIOS来查询到来呀,好同样道理啊,这访问get adme啊,访问get id,看下他是不是就查询一个id的执行,你看只显示id等于一的,这不就出来了,而且你会发现它返回的数据呢。

是一个什么类型呢,你看这个数据包里面啊,你看一下。

看网络包里面啊,刷新一下,它的返回数据是什么格式啊,来全部是JSN格式,全部是JS文格式,这是一个比较规范或说用的最多的一种格式,兼明对兼职他不就是不像我们是吧,就是那种那个你看这个数据呢。

格式显示我们没有做任何处理,它自动处理的原因,就是因为这个spring put里面呢自带有什么,JASONJACKSON这个组件,那么这个东西呢会自动处理,把它转换为JS文格式。

就不需要你呢对这个数据呢做什么格式的转换,非常方便,这也是为什么它流行的原因之一,这很多东西呢都为你想到了,所以你要取这个值呢也非常简单,从这个结果里面呢,取这个什么界名就能取到键值,对不对。

很很清晰了,然了啊,就是把一些常见我们一些解压工作啊。

把数据呢提出来,还要对数据的格式呢进行一些整理啊,转换呐是吧,存储到一些规定数据就很多种麻烦事情,但是sting补的呢自带有这个东西,你不用去写了,都帮你搞好了好啦,这个东西讲完之后啊。

可能大家说我听你讲开发干嘛,妈的你讲的也不专业,我不想听是吧,我要听其他的和安全挂钩的,那么安全挂钩的就来了,那么既然是my babies,他的是数据库的一个通讯,我们讲它的原因就是为引出它的安全问题。

那么既然它是数据库通讯,它的安全问题,首要考虑的就是我们的蛇口注入漏洞哦,你可能就说了,你不说java里面的SQL注入漏洞很少吗,怎么里面的有讲四个注入的是这样的啊,他很少的原因呢。

就是大部分程序员只要稍微注意点,就能就能什么考虑到这四个数,但是有些人呢他不注意,或者是写写多了就忘记了,他也可能就是几率较小,我们不说几率小就不学呀,还是要学啊,我们看一下这个mybb is呢。

它的一个SL注入是怎么产生的,那么既然要产生我们刚才写的这个地图,这个里面的里面东西呢是不是要有参数啊,因为你固定死了之后,语句肯定不行啊,它有参数嘞,把这个东西呢我可以参考一下,给大家看一下啊。

有个文章,没没没把文字搞上去啊啊没搞上去再看一下吧,搜一下,他其实呢只有三个,就是其实他的注漏洞呢只有三种方式,就说你在这三种方式的情况下才能产生注入,否则的话就没有注入啊,他就没有注入。

他也是很尴尬的事情啊,快点下这个哎哎这个咋子事情的,找一个好理解的文章都找不到啊,哎呀这写的也是很少,这个还行啊,我看一下吧啦,这个my baby,这个猪呢他说的很清楚。

他说容易产生四个注入的写法有三种,一种是模糊查询,那就这种呢snack的news well tter like一个地址啊,这里是个井号啊,这个井号和一个美元符号呢有两种区别,他说呢井号呢是使用预编译啊。

啊景这个这个东西呢是使用拼接,那你说是井号安全还是美元符号安全呢,对不对,它只有三种方式,一种是模糊查询的时候,还有一种是in里面的东西,还有一种呢就是这个order by里面,就说你只要用到这三种了。

才会产生四个组,你用其他的不行啊,就这个语句呢必须是这种类型的才行,并且呢是这种写法才行,那你告诉我这个四个组产生的可能性高不高呢,就不高了嘛,如果是说你在实战中的话,你没有源码。

你哪知道哪里会使用这种写法呢,你只能盲猜啊,这种几率就很小了呀,那么有源码的话几率就会高一些,因为你能看到他有没有这种写法,就能直接定位到,对不对,而且呢你可以看到啊,他在讲完这个知识点之后呢。

他还来了一个这个真实案例啊,他教你呢,他说怎么去找呢,他是在网上找了套源码是吧,在里面呢哎加载完成之后呢,在这里面全局搜索,搜索这个美元符号,来去寻找这个MYBIS的这个SQL语句,在这里面找这个类型。

是不是他这边还给了个这个代码,是升级了个案例,对不对,但是这里那不是我们关心的啊,因为这个安妮呢是在后面后面再讲单独的代码,审计的时候呢,我会有这个相关的这个真实源码案例呢,去给他去讲。

哎把这个过程呢给他丰富,那么前期的明骚的知识点呢,就需要我们这个前期的课呢去给他讲了哈,嘶那么现在看到这里啊,我们来看一下啊,我们就按照他这种说的这种思路呢,去这么操作一下啊,看是不是有这个安全问题。

对不对,是不是有这个安全问题啊,首先呢我先按照他这种写法去写,那我直接用这个写了,他说井号是预编译嘛,我就用这个写法去写啊,我把刚才那个语句呢,把这个定义语句的写着来啊。

来看啊,就把它改一下啊,那这就是查询ADD me where条件NIKE是吧,一个模糊查询,然后呢百分号代表任意嘛,因为百分号那就是我们说运字符,前面有和没有都行,后面的也是有和没有。

id呢就是我们这个参数id写进去,i id可能问id参数在哪里呀,写到这里了,告诉他的查询这个触发这个方法的时候,触发这个函数的时候,触发函数忘了,就写个id进去嘛,对不对。

类型的规定下integer id,然后他说有个相关问题,这个是我们后面在调用的时候呢,没有引用,先不管它了,先看这里啊,这就写进去了,那么就表示说用到这个fight all的方法的时候呢。

里面的参数id就会取代这里来id,老人家是这样写的,对不对,好,那么现在呢我们就来了个问题所在,问题就是这里嘛,它调用这个F的方法是没有传参是吧,传参该怎么传,是不是在这里呢写上什么,这个什么是啊。

请2D名字GRE参数传进去,就是我们在网站访问的时候呢,是不写去啊,然后这里在调用它的时候,结束的时候就放这个了,那调用函数的YYID传进去啊,出发吧,好写好之后呢,来勾一下啊。

就是按照这种不安全的写法呢,我们来实践一下是不是有这个作用呢,对不对,好打开啊,FS改改的M12的机子,看下啊,放盖拉B啊,他是报错,为什么报错啊,因为呢他这里呢是需要你传参的,问号id等于一。

好等201,你看的确传进去了是吧,ADR就是那显示R2的数据,I等于一,就显示ID1的数据,对不对,那么现在呢我们就怎么样呢,写上一个什么租语,比如说OR等于一的一,那大家可以看一下啊,来我这里租了语。

如果说我这个宇租了对吧,那他不是这个while条件吗,这还没讲这个注入啊,先理解一下吧,啊就是这个条件order就是显示这个数据,如果说有输入的话,就说明这个语句被执行嘛,那加个order1。

1order的语句,那就是全部显示对全部显示了,如果说有注入就会执行显示两个数据,那我看一下O等于零,看一下,哎你看。

没反应呀,啥情况,翻车啦。

嗯没反应啊。

咋没反应啥情况,是这样的啊,你为什么会造成这个四个猪呢,还有部分刚才有人说到了啊,这个有些前因后果呢,我都没有给他交代,你如果说多翻几篇文章呢,你就知道了啊,我想找那篇文章,我知道是看这个电视文章。

没人都找不到了啊,嘶到哪个鸟毛文章里面写的还比较好一些的,哎呀算了算了,懒得看哪啊,我找一下看能不能找到啊,唉这也不是的,马上午看那文章没找到。

对的啊,刚才有人说到了这个类型的问题,刚才那个翻车的原因就是那个类型问题啊,有人意识到了,因为我把规定成了什么int类型,改成string类型,大家看到没order1跟一呢,没有报错,那没有报错。

但是为什么又错我呢,那我显示一它为什么又错我呢,哎写这个东西为什么又错我嘞,拿空的,是吧,这啥情况,这个其实问题也不大啊,我来看一下啊,你得到之后呢,他这个显示那个数据的一些情况啊。

然后这里有各的方式啊,对的都对的啊,哎呀数据重新来启动一下啊,很简单啊,有些人没有上SQL注入,很难说明白,其实就是我写错的原因,我故意的啊,我就是希望大家能够理解,你看我没写错呢,你看这个语句啊。

是耐克百分号啊,你要把这个写进去啊,屏蔽前面的符号啊,那他语句是这样写的呀,对不对,语句是这样写的呀,你租的时候呢,这个仪式写到这儿来啦,你做鱼要怎么办呢,这已写到这里面来了吗,你怎么办啊。

是不是要加上这个东西之后,再加上OR一个一后面的井号平底,这个后面还不是个单引号单引吗,要这样写啊,对不对,要这样写啊,拼接上去,因为他前面能写的这个东西了,你要屏蔽后面的这个东西。

前面东西呢再把它组合上去是吧,这样写嘶,哎啥情况咋不对啊,多了个百分号,哎咋还不对啊,你妹的尴尬了。

是不是写错了,我,符号写错了呀,哦是这个符号哎,搞错了搞错了,是百分号哎,四对的呀,四这符号是百分号单引号啊,没写错啊。

哦这后面怎么没写井号,我等下等下我换个浏览器啊,重新打开一下啊,我来看一下啊,这个单引号百分号我在这里写O1等一型号。

这怎么自动有个百分号在这里来了,哦错了错了,是百分号,单引号一等一,哎这也不对啊,哦我已经是搞混了啊,这我蛇口注入我这里面的都不会了呀,这不是尴尬了吗,啊,尴不尴尬,四个猪都不会了,哎呀。

等一下啊,我把这个项目启动一下,我看我是看他是这边哪个问题啊,把这个项目启动一下和暂停一下,我看是我哪个写错了啊,这SQL语句问题还是我这个真没问题,这个是访问data data加id值,好这个可以啊。

那这个可以进行注入,你看输入安的一阵一之后呢就可以了,那哪里有问题呢,这真是奇葩了啊,我完全不知道哪里出的问题,里面的东西啊,里面有东西啊,写法一样啊,这把一模一样啊,我看是哪里写了个小问题啊。

一模一样,好那个是可以租的啊,这个写法是一模一样的啊,我们先不过于纠结这个问题了啊,我的现在都不不不犯什么情况啊,莫名其妙的,以后啊这个不让这个转弯来来学习了啊,我说实话真的是他妈的蛮气愤的。

有时候你在上课呢,妈的伤着伤着下面就翻车呀,笑起来了,你有什么可笑的呀,啊你认认真上课,帮他准备课程,天天就换来嘲笑。

真不想上,说实话,嗯那个我说一声。

那个隔壁的隔壁的是那个是什么,是那个录播,他为什么翻车少啊,他录像自己实验做好了,你才看到成品失败的,你能看到个啥,不要老说翻车翻车,我又不是录像录像,我翻车,我就不给你上传了,全部是成功的。

有时候有些东西错了,这不很正常吗。

好我们再来说一下这个这个买贝斯呢,就说到这里啊,我们这里呢只讲了他这个一哥演示。

刚才大家看到的啊,这个my babies,对吧,你看啊他这个就说你自己记住啊,我做的也是只只做了一种三种这个注入,我只做了一种啊,只做了一种啊,就说我们呢刚才用这个是吧,那那还有什么这个IN的。

还有这个什么order by的对吧,他下面呢有这个案例,那往这个文章不写不多啊。

这个有几个啊,这个还搞了一个啊,这里有几个啊,你可以看一下啦,嗯就说你要知道啊,他这种写法呢哪种是安全的,哪种不安全的,他知道呢,他说井号井号呢预编译这个my base4个字路,容易产生三情况。

你可能会问了,那我直接写安全就不就不就得了吗,是这样的啊,他有时候呢在用这个SQL语句,用这个my bias呢,babies s呢,这个时候呢它必须要用到这个井号,有时候那就必须要用到这个美元符号。

就是你不用它会报错呀,所以有时候那逼不得已用用的时候呢不注意,那就出现SX主是这个意思啊,不是说对方的不想安全,如果他懂安全呢,他又写出不安全代码呢,可能是这个延误,有时候呢他必须要用到免符号或型号。

那具体为什么哪些情况用什么美元符号,哪些用型号呢,你可以看一下,在专业开发课程里面啊,你多用的多你就知道了,我们这里呢不再累赘,就告诉他有这个实情啊,所以你不要说为什么啊,就不能一直安全啊。

因为有些业务逻辑呢导致他逼不得以前那样啊,逼不得已呢那样去写好啦,这个呢是我们说的这个啊BBS的,然后这个呢我们再来看一下这个模板注入,就是java里面的STI注入,这个呢没有上过这个漏洞。

现在呢还大家还不是很了解,不过在pp那个开发里面呢,我们有初次学过,其实就是我们说的前端的一些渲染页面,由于这个模板呢在java里面。

你在创建项目的时候呢,我们来给它创建一个啊,来创建一个啊,名字就叫这个TMETHYREVAS是吧,Dom,选取这个那个名字,那就叫CN小BISC啊,面板,然后呢打法顺序号啊,来下一步好。

这里呢选择个web,然后呢这里呢还有很多嘛是吧,安全里面就是那个登录相关的权限渗透控制,刚才呢选择的是个SQL里面的MYBS,但现在不讲了啊,我们就换一个讲了,换了个模板的啊。

就说模板技术模板是干嘛的呢。

啊我给他说一下啊,这个模板就是美好的界面,美好的页面,就是有些网站的前端页面的非常漂亮,那就是用模板搞出来的。

而且那模板呢能实现动态的数据的一个传递,就说我们给他演示一下,大家就知道了啊,好在这选择呢,你看这里有什么来TM就是模板引擎,那有四个对吧,那么第一个就是我们今天讲的这个呢,包发过漏洞,把选中啊。

点确定,然后点总终止这个服务,来看下这个啊,那么现在就来说模板这个事情了啊,那模板是什么东西,我们来看一下啊,同样道理啊,这个是这个东西啊,然后呢,先把这个删掉啊,他只带了个东西给删掉。

test是那个测试内啊,那个不用管,那就写这里面,然后再有个资料,这里面有这个东西啊,然后呢你这个配置文件,配置文件里面有个这个东西啊,这个叫什么TM路径对吧,有这个目录好,这个时候就专门放这个什么。

放这个前端页面和一些资源文件的,就放到这个目录下面去,他就是前端的什么TM文件呐,JS文件呐,图片呐他就放到这个里面去啊,然后java的一些核心的java类文件呢,就放到这里面去。

然后我们先来做一个前端的一个操作,就是说很简单的一个事情啊,啊在这里写一个啊,叫就叫INDE吧,好就就就这个名字吧,T h y,加OLER写进去,然后在这里呢按照刚才的四个数来讲啊。

来respond的那个地方啊,写进去,还有呢这个路径地址,Request,这个路由地址写上去对吧,路由那我们就写这个叫index路径,下面来出发吧,同样道理呢,好,然后在这里呢。

我们把刚才那个东西呢把它删去啊,啊直接get方式吧,懒得整那么多东西,这get的方式呢更加简洁一些,你觉得这个index那去触发这个路由,然后返回一下这个值哈,然后在这里呢比如说现在啊返回啊。

你看我写个什么,写个index,我写好之后啊,大家看着啊,我在这里呢写这个东西啊,它返回index啊,然后我们把运起来啊,嗯我们访问一下index啊,这是前期都讲过的啊,来看一下这里访问一下。

看是什么页面啊,然后他就返回一个index,对不对,是这么个情况,大家都知道了,返回页面,那么如果说我要访问这个index的时候,是一个比较美观漂亮的页面,那么它就会有个对应关系。

什么对应关系呢,啊他就可以实现一个什么操作了。

还有个是一个什么操作啊,大家可以关注一下啊。

这里呢我们就让它加载这个啊路径地址。

加了个路径地址,什么录音地址啊,大家看着啊,这个index这里呢,如果说用到了这个shin页面的话啊,那这个刚才那就是说没有这个模板的时候,他是返回这个字符串INDUST,那么一旦有这个模板之后啊。

那么有这个,模板应用的话哈,它就会返回index点v tel,那么这个INASATM文件呢,它又在哪里啊,它又在哪里啊,它在定义的目录下,然后名词的命名命名同,啥意思啊,你看啊他这个定义哪来。

这里有个定义在这个什么这个路径呢,TM路径下面,然后呢是这个东西,这定义好的啊,哎刚才我配置它就自动配置啊,然后这里我没有这个目录啊,怎么办呢,创建一个,创建一个字目录,然后创建之后呢。

我们在这里创建一个文件是吧,这个文件呢可就就就就可以怎么样就引入了。

随便找个文件呢,给他用小哎。

这里没有这个页面啊,我早之前写好的页面搞个出来,看一下啊,那这是那个页面啊,我就用这个了,页面呢给大家弄一下啊,看着啊哎这是刚才的项目,先关掉,好就这里让我把它去掉啊,这个在这里创建一个文件名字。

就是这个index index等于TM把页面写进去啊,好这里面呢等下有事情做的啊,你看这里我还写了个语法,这个语法为什么这样用。

这里呢大家可以参考这个模板的文章,网上有啊,就为这就是我们说那个这里的代入变量的意思。

这个网上查这个模板的具体使用呢,不是我们关心的,我们主要关心就是说他为什么要用到模板,然后这个模板会产生哪些安全问题,这是我们关心的啊,这个模板至于怎么用,就是这个变量和那个java类的文件。

那些变量都怎么传递啊,这不管它把它写进去啊,写好之后呢,你看一下啊,我们现在呢再来重启一下页面,这就是这个目前下面有个index条码,哎在哪在哪还写错了呀,这里,Uh requests,没写这个东西啊。

难道是把model也写上去,model呢是窗对那个值呢进行替换好,我们把它用一下吧,往这里啊,哦先驱啊,那这个意思是什么呢,就从这个model model代表就是呢来源于什么。

那个model来源于这个UI的一个界面,model呢就是对于这个里面这个index,里面的这个什么data啊,它不是后面写个data吗,把替换成hello小梨,它页面中如果说打开这个index文件呢。

就是会显示这个值嘛,那我看一下这里呢,就会不会把这个date呢给它取代取代,这是个变量嘛,在这里重启一下啊,来访问一下,嗯这个又是什么情况,他没有把它渲染进去啊,四从哪里,看一下是不是内引用错了。

好少了个东西get,哎扫好像少了个东西,缓存的事情吗,你们说是,是缓存吗,没有把那个没把那个配置文件里面加缓存是吧,也有可能啊,我试一下你们说的这个删掉,它有时候它有些页面缓存,也有可能,先防一下。

嗯还是这样的啊,那就不是这个原因,这妈的这又是什么问题啊,这代码一模一样。

浏览器,没有没有啊,不是这个事情,不是这个事情,是环节少了一些什么东西啊。

这个三个参考知道看一下。

我把这个前面代码来复制一下,来看一下啊,这个是不是这个情况,我还是不拿,少了个拿个勒,少了一点东西,好请求,这个是请求这个路径啊,我就,这刚才那个源码啊,我看下这边的事情,1万代码,好打开。

好感觉现在是可以了,现在是正常了啊,他妈的不知道哪里出了小问题啊,是这个难道是这个console哦,我知道了,就是这console的问题啊,刚才是用的这个rise。

这个console应该就是CONSOL问题啊,这个地方的console问题,刚才我还往才是材里给他说的,他这个console呢就是他不是自带有这个叫什么。

这个地方,那这个这个东西。

他有这个response body的一个东西啊,你看我还用这个cons,用这个respond console的,i r e s d console的时候,我们看一下是不是就不行。

因为他这个呢就返回就是字符串的,用那个console呢,他就返回这个页面的地址,那我看是不是啊,那果然是的,就这个东西啊,这个注意了啊,这个再三强调了啊,这个地方啊,因为是什么意思呢。

就是说如果你这里呢用这个console的话,它就相当于自带的这个叫什么RESIBILITY在里面,所以呢他就会把这个index呢,当做什么字串显示操作了,而如果说你用这个console的话。

他要是没有这个东西啊,它没有这个,没有这个什么RESPON玻璃,那么呢这个index呢就是当做什么页面零啊,去这个显操作,去这个什么资料文件里面,是去寻找,然后大家可以看一下啊。

这里呢就是去渲染这个index,那你不信的话,我可以再给大家看一下啊,我可以把这个删掉,因为它是渲染的是哪个路径,下面的是这个路径,下面的这个是从这个配置文件中可以看到的啊,来是吧,然后呢你看啊。

我这里不再要创建一个文件名啊,比如说我叫这个test点1TM,然后呢我这里取名标题是小迪,那内容呢就是小迪S1C好,就显示这个内容是吧,然后我就只需要选它,我不不做其他事情是吧。

我就不不不去对这个data更改数据,是吧,我就重新创建一个这个方式,然后这里呢就改成这个叫test啊,去宣传test这个路径的地方,这里面就不用它去掉,然后这个地方呢把它改成cos,并又错了啊。

来启动一下,你看啊他是不是就访问这个test呢,就会渲染这个test这个ATM文件来看一下,访问这个地方,那是hello小迪,那触发这个地方。

把这个date呢换成什么,hello小林,就是我刚才看到的源代码,index源代码中的,你看下源代码了,源码中不是有个阿斯spin的hello和小迪吗,那就这里了,是把这替换掉了是吧好。

然后呢,你看啊这是这个请求的根路径,我们请求什么test。

你看就是返回了小DIC页面代码来看一下,看看源代码是不是那个TM代码。

来是不是就这个问题啊,嗯是吧,所以这个就知道了啊,就是要用这个console啊,渲染的时候用console,不渲染的时候呢,选注他那就用那个这个啊,不要搞错了啊,这里面的踩的坑太多了啊。

不是搞专业搞开发的。

太容易出问题了,好那么安全问题又是什么造成的呢,那我们想象下哈安全问题是什么情况造成的呢,好我们来看一下啊,看下面日常开发中呢,经常会用一些语言切换页面,或者说主题更换啥啥意思啊。

有时候大家都知道有些网站呢,它会有什么英文页面呐,中文页面,大家有没有注意到有些地址是这样写的,那我改开看一下啊,什么long等于UN哎,一访问这个路径呢,它就是一个这个什么呃。

这个录音地址我可以在网上给找一下这种案例,给他看一下嗯,这里面的没有吗,一个NCN的路径地址,就是有些网站呢他有这个路径呢,你一访问后面加上这个东西。

他也会有些英文单词,你看这个就是的,那下面有个问号仍等于ZHCN,就代表说你是中文,那你把改成什么英文啊,或者什么鬼,他就变成英文了,你看是不是变成英文了呀,这什么一个基数呢,就是通过啊。

你自己点了什么中文英文之后呢,他就根据这个值呢来改变是吧,那很简单的道理,那我们这里呢就很稀有,假如说我在给他就搞一个什么,搞个这个呢就搞成这个index,就是我们的中文啊。

然后呢我再换加上一个什么文件名,叫做,NN点天嘛,那我就写这个东西,它写进去,那么如果说我这里,那就再写一个是吧,写个参数值啊,写个什么解释,这个也是解释这个斜杠路径,然后呢加参数加什么参数呢。

Request,然后呢是这个类型,string类型啊,叫long啊,long对吧,然后return是吧,请求这个什么路径,就是INDUST加上什么这个浪是这样写啊,因为它接收long long。

如果说是这个EN,那么就是杠EN,那就加上杠EN,那就接收的是这个就相当于是等于什么long,如果说等于1N,那么这个返回就是index杠1N嘛是吧,这个值就是这样的情况,就请求这个页面嘛。

这代表的英文页面,对不对,这个是中文,那这是一个很简单的一个事情是吧,这里呢有这个参数值去传递,那么啊就是这么一个操作导致了你敢权问题。

什么安全问题啊,来我们看一下啊,呃但是这个安全问题呢在这个环境下面,它浮现不出来,它浮现不出来,哼为什么浮现不出来呢,很尴尬啊,为什么读经封印不传呢。

就是这个漏洞呢,我们可以搜一下啊,它是有一个版本的一个限制,就说不是说啊你用的版本哪个版本都行啊。

不是说用哪个版本都行,那我给搜一下,那java安全之TOMC的模板注入啊,这里有个类似的这个东西,你看如果一里面这里一个或的系统里面呢,就有这个那模板引擎漏洞,唉,这个罗伊呢。

就已经是我们互网里面老打的一个系统对吧,你说把这些讲的是不是和他联系上了呀,是不是感觉离互旺又近了一步啊,对不对,额这个你可以看一下答案,看一下来,他说这个,啊这是在使用啊,使用我没有看了。

你看下面的啊,啊交易怎么整合啊,他说了3。0到3。11版本存在这个东西。

3。0。1R了以后就没有了,呃当然了,你也可以在这个MVN上面来看一下,它这个版本啊,它目前最新版本是多少,当然在2020级版本呢,它也有是吧,但是现在呢他没有啊,我就给他演示一下。

为什么没有啊,来我们下面演示一下,来这个test啊,然后他的payload了,payload了是怎么操作呢,啊你看下啊。

网上有这个文章吗,啊这是他的payload了,就这文章的,去渲染页面的时候呢呢,返回这个页面,然后呢这是他配落后的了,写上这个值,像这个值呢就会执行一个东西,啥意思呢,其实他就是把后面的long值改了。

改成一个java代码,就是说java代码呢要去渲染的时候呢,哎为什么持续这么多种原因,他要渲染这个页面的时候,那会渲染找这个文件,而这个文件呢没找到好执行这个漏洞,这里呢你要跟踪一下啊。

来这个long是吧,我们就直接写这个浪吧,哎呀我懒得搞这个加上不加了,就直接写个浪也是OK的啊,就让他自己把这个拉拉绑定这个index1N就行了,来重启一下,这是我们现在这个版本啊,我们来试一下。

用那个payload去打打这个测试点啊,它没有漏洞,是什么原因,我们嗯哪里报错了哦,哎这哪里报错了,我这个路径重复了,把这个先注释一下,好可以了,那么现在呢我们来到这边啊,我正在请求这个根路径。

然后加上这个问号long是吧,告诉他哎我要加载这个index e n点这个文件是吧,告诉他来一加,一加是吧,那么呢它这里呢就显示这个了1N的,就是个1N的啊,他压在这个页面了嘛呢,就这个页面代码嘛对吧。

他加入这个页面了,啊对不对好,那么现在呢你看啊,如果把这个index1改改成这个了,Payload,Payload,那这里有个什么执行CRACGI7的好,我们来日行访问诶,他不弹,报错了,但是没有弹。

为什么,因为这个版本它没有漏洞,这个版本用的是什么,我是直接从这个网上直接把它。

POPMXM里面呢去把它拖的,知道吧,这个版本呢他用的是哪个版本呢,我们观察一下啊,从这个里面找一下来,包括在这个web库里面的,找一下,你看哈呃他用的这个价包呢找一下啊。

来他的名字叫做那这个呢SPINPUT的start的模板,那么找一下是哪里啊,看一下好,在这里你看到没,他的版本是默认是用的是2。6。13的,这个2。63的,其实就是刚才那个spring BO的版本。

它自带的就把它把它漏进去了,为什么要用阿里云,就是因为用阿里云写出代码都是很多架包呢,它都经过过滤,就是有些安全没有的时候没有漏洞,那他才推荐,刚才我在开发的时候,大家有没有注意到啊。

就我在新建项目的时候呢,我在学阿里云是吧,我下播的时候呢,你看他这几个版本是吧,然后官方的时候呢,我把它改成官方那个例子的,是吧,然后呢,你下播的时候,你看这里就有这呢,这是一版本,对不对。

他为什么阿里面会推荐,还反而推荐九五版本呢,是因为呀它这些版本稳定,或者说有些安全问题呢得到了修复,它是用它自身的一些价包能理解吧,所以说我为什么没复现出来,如果说你用的是这个里面的那版本呢。

是在那个漏洞返回路内,那就会有安全问题能理解吧,很多细节啊,这都是说你在开发里面你就要开发,虽然说别人讲专业开发是要比我好很多,对不对,但是呢他不是站在安全的角度,你不知道是哪里出了问题。

但是我们是专门搞安全的,我们讲呢就偏向安全,所以你看呐,他这2。603的是阿里云上面的2。0的,经过反复的推敲,他认为这个版本呢比较安全稳定,那么在你用这个版本的时候呢,即使这里写到了这个漏洞的出发点。

他依旧呢没有把这个漏洞给他触发出来,但是现在你看啊,当我这个时候我把这个pom文件给它一换是吧。

但这是刚才的啊,记住啊,大家现在看到啊,这刚才的呢2。6。13好,我们现在呢把poo m把它一替换,让他重新加载新的这个仓库包,然后你再先看现在啊,现在我们来把它刷新一下,好我们现在看一下它的版本好。

现在这个版本真的是2。20release版本了是吧,就说我重新呢让它换了个呢2020的read版,继承类的是这个包拿全部变成2020,那么现在我们再来重新把这个服务启动,好启动之后。

我们现在再来观察一下刚才的代码啊,当我回车一下,大家看一下啊。

时不时会弹出计算器。

弹出来了,对不对,这就是一个模板的一个情况,就是说如果你用java开发中,你用到这个模板来渲染页面,而刚好这个版本的有漏洞,那么只要这里呢存在一个控制变量啊,就在这里呢从这个控制变量啊。

空可以把变量一改改成一个payload的执行值,那这个payload呢也很好理解,就是一个来利用java呢这个run time来执行一个e cc,这前期已经敲过很多次的代码了是吧。

就可以让对方的这个服务器呢执行一条命令,那这条命令呢就可以改成我们想执行的,反弹命令,或者是下载后门命令怎么样的啊,后续那就不是我说的是不是,那这个就出来了是吧,嘶那么刚才这个上面呢还有很多这种案例。

就是其实就说为什么要用到这个东西。

我刚说了,实际应用中,像什么这个什么这个模板引擎参数可控,为什么要用到它呢是吧,什么换主题的时候会提交什么参数值是吧。

一换主题,就刚才说的什么语言的那个东西是吧,他就会有那种唱词,那就像这种是吧,访问这个,地址的时候呢,它是中文,然后加上那个鬼东西之后呢。

就变成英文,对不对,那么如果说他刚好也是用来渲染对吧,那是中文改成英文,那变成中文对吧,有时候那这个值呢就可能是一个文件,对应一个文件,就一个英文文件,英文的页面和一个中文页面。

那么它的初衷呢是让你换页面来,去加载这个页面,但是实际上呢这个有漏洞之后呢,就搭进去了。

好这个就是我们今天的这个所有内容啊,已经讲完了。

那么今天讲的这个spring铺的上面的,my babies斯和这个这个框架的啊,这个模板的这个东西,这个模板啊英文单词不好啊,叫try me laugh laf版,对不对,啊不叫川ING啊。

try in是THY啊,TATATA哎,传名是TRY,我有个THY,不知道怎么读啊,不管他了,那这个是那个模板的,那么还有哪些spring做。

我下节课要讲什么好,下节课呢,我们就说这个视频里面的这个,一个是那个内存泄密的那个,日志监控的一个东西,一个组件那个也是经常出现,还有一个就是我们那个接口类的那个双口啊,哎这个单词读不好啊。

这里面只有给他打出来,斯威格是吧,甚至都斯威格唉,乱读啊,不好意思啊,大家见笑了啊,那就这个这个是下节课讲这个接口的东西,也是经常要测的,也会讲,还有个就是我们说的这个这个spring boot。

里面的这个东西对吧,这是关于那个,关于那个内存方面的日志监控的,这个是那个搞日志监控的啊,监控自燃的那个东西啊,我们也我讲一下这两个啊,因为这两个呢在安全里面也经常常见啊,经常总结。

包括我上一期的那个第71,讲那个实战那个什么拿蛇蛇的那套,那个71讲那个拿拿cs什么吧,台服务器那个那个讲课的东西,就是通过这个视频谱的这个东西拿下的,所以说他是有实战意义的啊。

就是有时候呢你用它那配置不好,就导致它这个东西呢泄露一些内存泄露,然后从内存中去提取到这个java的一些配置信息,是这个意思啊,我们下节课就会讲啊,还有那个刚才说的那个接口啊。

接口呢也是和spring boot呢经常联动的一个东西,但经常是一些遗留的一些接口,我们可以从上面的去提取到一些这个web应用啊,一些应用的一些接口来提示调试数据呢,来得到更多敏感信息。

那也是我们下节课要讲的啊,好我们今天呢就说这么多了啊,下节课内容也给大家讲了啊,我们后天再见了啊,啊大家不要问说夏天这个后天上不上课,那肯定上啊,现在不能不上课了,我不上课要被骂死,知道吧。

我不敢真的是不敢,右手是顶不住了是吧。

才不上,顶得住还是伤的啊。

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

P39:第39天:JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

今天呢就说一下这个第39天的内容啊,这个第39天呢,也是我们java的倒数第二次直播了,那下一期直播呢讲完就没了啊,从时时一刻开始呢就讲下一章节了啊,大家也开心了,对不对啊,今天讲什么呢。

今天知识点呢不是很多啊,主要就是给大家说一下这个安全问题,因为他的开发呢代码量是极少的,讲两个东西啊,第一个呢是这个SPRINPUT框架里面,或者说java应用中呢最常见使用的一个东西。

就是一个监控系统叫ACTUATOR,还有一个呢就是一个接口系统叫stronger,对不对,就是WAGGER,那这两个是什么东西啊,啊其实呢就是它的命名这个解释一样的,一个呢用来监控的。

还个呢是用来接口的啊,具体为什么要用到它呢,我们现在从他的解释上面呢去给讲解一下啊,在spring put啊,这个java的这个E1开发框架中呢,这个监控系统啊,他是经常会使用的一个东西。

它是用来干嘛的,他说是用来提供一些这个啊代码的健康检查,审计指标收集,包括访问的路由跟踪,可以监控到应用的一些运行的内存,包括运行的状态等等,简单来说他就是来监控此个项目,就是我们说的这个web应用。

或者说一个应用的一个运行的一个状态,其中呢就包括运行占用的内存呐,运行的调用链呐,有哪些网址啊,访问过多少次呀,包括里面哪些东西出现了这个异常啊,就是搞这些事情的,简单的说它就是一个维护类的项目。

便于呢你对你的项目的一个东台呢,有个实时的监控,所以这个东西呢,就是我们今今天要介绍的第一个啊,好,那么我们呢就给大家说一下,这个第一个的一个使用啊,来我们来看一下它的使用。

那是非常简单的啊,我们来给大家演示一下啊。

首先我们在这里呢新建一个项目啊,这个项目名字呢就叫,Test,A c t,ATOR是吧,然后呢就叫这个名字啊,嗯这里就唉还是搞个demo吧,无所谓的啊,因为帕米明这个有有差异。

然后把这个组的就改成CN是吧,中国小黎,然后呢把门改一下,下面呢改成MAVEN的啊,然后呢圈R1步,然后在这里呢我们来给大家看一下啊,选中这个web的,然后呢接下来啊关键地方来了。

这个地方呢就是OPS啊,这是它的一些东西嘛是吧,那前面呢我们搞数据库的时候呢,还搞过这种数据库的东西,是不是,那么现在呢我还是把这个数据库东西呢,也把它勾选上,因为等一下呢。

我们要进行一个简单的一个测试啊,好我先不勾选吧,先不勾选啊,先把这个搞上去啊,两个选中啊,点创建,我们来先观察一下这两个的一个差异啊,打开之后呢,我们来看一下啊。

这个呢是什么东西啊,它的使用怎么使用呢,也非常简单呃。

应用依赖依赖呢,如果说你在这个包含了嗯,这个代码中呢,它也包含嘛,哎如果说这里已经包含了,就是我项目创建的时候已经把选中了啊。

所以这自动包含了,如果说没有的话啊,你就自己呢在这里呢配置一下就可以了啊,好第二步呢就是配置这个监控,配置监控在哪里配置呢。

就是在这个文件里面啊,就是我们说的一个配置文件里面,在这里啊,打开这个啊,然后这个呢是有两个格式都可以使用是吧,一个是这个东西。

我先把这个去掉啊,把原有的去掉,然后呢他这个配置监控是什么配置的啊。

如果你这里呢什么都不配置的话,那这个是已经有它已经有配置了啊,我先把这个几个东西把珠子掉好吧,注释掉。

如果什么东西都不配置啊,什么东西都不动的话啊。

那么现在我们来看一下啊,去打开运行一下它啊,就说我只导入依赖我,什么东西都没有动啊,我来运行一下它看一下啊,然后他这里报了个错误,我看是什么错误啊,8080端口被使用哦,这个端口的一个占用问题啊。

我不知道是哪里电脑的哪个东西占用了,我就直接搞个另外的端口吧,8001好吧,确定一下,重新启动,好在启动了啊,那现在呢我们来看一下这个情况哈,1921log host嗯,8001,然后他的访问路径啊。

这是他默认首页访问路径呢,你可以在这里看到,来在这里呢ACTUAACR,就这个是他路径,我们来把它进行一个这个访问啊,看一下是什么东西啊。

打开啊,好那这里呢就出现这个东西是啥呢。

来我们可以看一下啊,一个JS文件转换一下这个G而生的数据嘛。

来看一下这什么东西,那这就是一个什么叫HADA什么鬼东西。

这个健康这啥东西打开看一下来,还是一个人st状态up普开启状态啊。

啥都没有了,就只有三个,这三个地址是吧,一个是刚才访问地址,一个是这个地址,一个是这个一个路径地址,这也不知道是啥。

就三个啊,没有了,这是没有配置的时候啊,就是说你啥都没有管它的时候啊,他就只有这个东西好,我们现在呢来给它配置一下,那这里呢有一个配置,就这个啊,就这个把它写成新口星号,代表就是所有就是包含所有。

然后呢我们再重新把它进行启动一下啊。

再来看一下现在的一个状态,我们看看现在有什么东西了啊,访问一下这个地方,刷新一下啊,哎现在又多了多了,我们来打开看一下啊。

来看一下,这里就有啦,有这个啦,有这个啦,有这个啦,有这个啦,还有这个啦,那这个info呀,什么JADA哈巴啊,什么缓存呀,这些东西是干嘛的呢,来这里有张图片给大家看一下啊。

这就是关于那上面路径上面的解释,你比如说这里有个in v,它就是获取这个当前项目的所有属性,还有什么这个inform,就是一些引波站点的一些信息啊,引波点的一些信息,就比如说这里有个引波嘛是吧。

我们现在访问这个影波啊,那现在是空的是吧,当你在这里呢,你看一下啊,来info点内蒙设置为叫小B啊,info点six是吧,我们设置为men啊,啥闷不够是吧,gay是不是都知道是gay,直接重启一下。

再看一下info那里刷新是吧。

嗯啥情况又没反应了没没,应该是没有把它进行一个,再打开一下。

应该是要重新项目存吧,编一下的啊,重新编一下吧,这个倒无所谓的啊,能不能出来意义都不大,我们主要是给他做个演示。

哎呀咋也打不出来呀,你这你妹的不给面子呀。

好不出来就算了啊,不管它。

那么这里还有几个啊,你看这里有几个啊,那这几个呢我们不管这些东西,我们看一下啊,这里还有什么C型啊,这个一大堆的,那我这里给大家说一下,这里面有几个地方呢比较关键,我们等下会说的啊,呃有几个地方。

那这里是他的一个展示,对不对,都展示出来了,那么现在呢我们来看一下它的安全问题,就是这个东西有什么安全问题啊,这个东西有什么安全问题,这个,环境怎么配置,怎么部署,什么什么环境。

什么不什么环境怎么部署啊,你说这里面的配置还是说什么东西啊,呃这里面呢有什么安全问题呢,啊给大家说一下啊,配置需要懂吗,不需要懂啊,你又不是搞开发的,我们看一下啊,他的一个安全问题呢有两方面。

我们这里可以参考一个文章,这里有个文章啊,来叫spring的漏洞浮现,来这里有很多说这里面有什么漏洞,你看来这个什么SP一个RCE啊,什么什么这个一大堆的什么一些漏洞。

那这漏洞让我们看上去好像不是很明白,但这个访问应用非那是属性啊,什么东西啊,你都可以访问下,你看这里啊不是有英文V吗。

我们试着去访问一下啊。

这还有几个例子是吧,来个UV是什么啊,打开英V是这一大堆这啥东西啊,他的解释呢说是环境变量相关的啊,这里访问,但是转换格式有点问题啊,那我就换一个看一下,我直接在这里看一下啊。

你看他其实那就把你这个上面的一些呢,各种的调用的什么环境变量呢,就是我电脑上面的,就是我在本机上面那些环境变量的设置呢,全部打印了,大家看到没,这都是我电脑上的一些环境变量的设置呢。

它是获取当前的这个电脑的环境变量的,还有像这里呢有什么这个各种各样的一些,什么访问东西啊,那这个呢看上去呢还不是很美观啊。

它还是不美观,我们可以搞一个图形化界面给大家看一下,就是我们这里能看到都是个页面看到的啊,我现在搞个图形化界面给大家看一下,就是他那个图形画那个那个终端去看一下啊。

就是有这个管理端的一个情况,先给大家看一下。

先把功能介绍完毕,我们再说安全问题啊,好我先把这个暂停掉,好我们在这里呢啊,在这里创建或者说重新起一个这个项目都行啊,我们就在这里重新创建一个吧,和那也没什么关系的一种事情啊,重新创建一个啊。

叫test AC t u o a e t r,然后呢搞成一个叫server,就是有服务端和中和这个客户端的一个东西,搞什么东西啊,名字上也只叫这个名字,这个呢就是图形化的啊,搞个这个东西出来。

下一步同样道理呢,选择一个web,选择一个这个呢下面是不是有两个呢,刚才选的这个嘛,现在我选择这个服务端的点创建,好那这里呢搞了一个这个服务端的,那服务端的使用呢也是非常简单的。

直接在这里呢启动一个服务,就是在这里呢要监控这个地方呢,启动个服务就可以了,就直接在这里写就可以了啊,在这个SP这里写啊,那就这第一个就可以了啊,这个服务端已经创建好,那接下来呢我们再创建一个客户端啊。

再创建个客户端啊,也可以在这里创建都行啊,哎创建一个这个test,我们先把这个功能讲完啊,大家等一下就再看安全问题,不要急啊,不要不要说哎呀,现在不知道我在干嘛啊,不要这样去想,等下就明白了。

看下他这个力情况啊,再改一下,这改不改都无所谓啊,我是说看上去更正规一些啊,这里呢也是一样的道理啊,刚才是选择服务端,我们这里呢就选择一个客户端啊,选这客户端好,再创建一个好,这里呢就创建两个啊。

创建两个啊,一个是这个东西的,一个这个东西的啊,这个你也可以放成两个项目都行啊,这是我放在里面一个模块,这个无所谓,你可以单独放出来,就重新在这里创建一个项目也行啊,都可以,我在这里。

那就是麻烦再搞一个窗口好啦,这里呢就是这个服务的客户端呢,怎么配置呢,来给大家看一下啊,也是这样道理啊,这里那就直接打开那个配置文件啊,在那写什么呢,URL写什么IP地址,1271。01。

01或者log host端口,这个端口呢这里是8080啊,这一边的服务端,这里啊它的配置文件在这个地方嘛,在服务端的配置文件,服务端配置文件也是8080,所以我要端口来改一下啊,这个呢就叫四个八吧是吧。

改成四个八,然后这边呢就我不写了吧,这边就改成这个889,这个端口呢是那个web服务的那个端口啊,和那个不一样是吧,然后这里呢就是连接是他的四个八端口哎,搞四个八端口嗯,然后呢再来写什么呢。

再来写刚才配置的那些东西,把它改成星号是吧,那个,啊这个就是我们要显示的配置,那个要显示的信息对吧,刚才配置之后,那才有那些更多信息,什么info啊,那些东西是吧,都有对,把它显示出来啊,连接它。

那么现在啊我们来看一下启动服务端和客户端,现在启动这个普兰的运行,好那这里呢他自己启动的端口呢,就是这个刚才设置的四个娃娃,然后呢,我们现在启动这个客户端里面的这个地方是吧,然后启动。

两个啊就一个服务端的和客户端,好大家可以看到啊,在服务端这边呢,它就会出现一个东西来,好那么现在我们来关注一下啊,在启动好之后啊,我们来试着去访问一下啊,来访问一下访问什么地址呢,打开看一下啊。

大家看一下访问四个八分号的时候,这里出现个什么东西呢,一个图形界面出来了,叫spinput at me,然后这里发自动翻译了应用墙,什么应用日志报表什么东西呀,然后点一下啊,如果说不翻译。

你就自己选择这个语言啊,这就不说了,点进去报了个错,点错了,点这个下面这个那进去了,你看这有几个东西。

这其实呢这个就是图形化展示,刚才的我们看到的这几个东西来什么info呀。

什么ENV呀,都在这里,这其实就是个图形化监控的一个系统,就是做这个事情,就刚才呢我就简单使用一下,现在的就是说截图,你看这里有什么东西啊,你看啊,哎比如说这里有什么新能是吧,还有这个什么环境。

就是你电子上面的这个项目的配置环境,什么加载的,包括这些事情的一些东西嘞,就是你上面的涉及到这个java的一些使用的,类配置属性啊,什么任务细节方面还有呢,这是他的一些东西,还有这呢日志配置,是吧。

那这里呢它都有音色啊,各种各样的就是哪个地址呢,访问哪个地方,这个呢其实就是对整个项目呢,包括这里呢还有他的这个存储的一些东西呢,监控的一些事情,就做这事情的啊,这是图形化的啊,呃简单来说呢。

就是在这里呢你可以看到很多的一些信息,包括哪些东西被触发过几次,都可以在这里看到,你比如说呢这个选择那个触发方法,比如说你写过app的,那这里就会有app的呢request,谁请求谁可以自己的勾选,哎。

所以请求的那个路径呢请求拿个请求几次,他就可以在里面进行监控,他就是搞这个事情的啊,我这里呢就是写一个这个图形化,让大家看到更美观,但这个呢不是我们关心的,就是我讲这个东西呢。

就是为了告诉大家有这么一个事情啊,有这么一个东西是一个spring put框架里面,那个监控的系统,很多项目都会用到,那么用到它如果配置不正确的话,就会导致一些安全问题,哪些安全问题啊。

现在就来演示第一个安全问题就是首当其冲的,这是出现率最高的,就是利用它的hand得down文件,HANDDOWN文件,那这个文件是个什么东西,这个文件呢从它这个上面那个解释来看的话啊。

他的解释夯的down呢是一个什么东西呢,来看一下,他说是一个java的JVM的一个堆存储,啥意思呢,我告诉大家,它其实就是一个人形的一个虚拟内存,可以这样去理解它啥意思呢。

java这个语言的和其他语言不一样啊,他这个编译呢是采用一个这个,虚拟的一个东西呢去把它编译运行的,那这个文件有啥东西呢,你从它的字面上理解这个英文单词,应该也知道应该就是一块的什么内存信息啊。

这种类似意思是吧,还得当像我们那个内网安全里面呢,经常有什么down哈奇down怎么个东西,其实呢就是一些数据相关的一个数据块呀,数据内存这种意思,那么他的意思也和这差不多,那么这个文件是什么东西。

你就可以把它理解为,这就是整个项目的一些打包的一个内存文件,可以这样去理解它,这样就好理解些,那么这个文件有啥呢。

大家看一下啊,我们现在呢去访问一下这个地址,先去访问一下这个例子啊,他的哎不就你直接看这个地方,它就有哎哦这个这个把你应用。

我把它关了啊,这是这个项目的,我先把暂停一下啊,打开刚才那个,把这个运行起来。

两个都行啊,我只是说用那个原生态的去给他看一下。

来这里呢就是有这个地址嘛,啊来啊转换一下啊,然后这里呢是有这个哈吉down这个访问地址啊,来我看一下啊,很多信息的啊。

里面有很多包括这里的访问日志的一些情况,这里也能看到内这些常见的运行日志,呃,然后呢我们这里呢有hash dua呢,白访问访问之后呢,它会自动下载。

看到没下载了啊,来下载一个20点啊,六十六二十六。4兆的一个文件出来了,然后我把这个文件呢给他拿到,我们看这个文件是干嘛的啊。

把它取出来好,那么现在呢把文件呢放到这来。

好文件放这来。

包括我们刚才可以看到的啊,这个不止有这个信息。

包括我们上面写到的很多代码,他都有,我们待会会给他说,那这个文件拿到了啊。

好那么现在呢我们可以用网上两款工具,一个是这个系统自带的这个工具,还有一个呢是我网上下点写好了。

一个叫分析工具提取器,我们先看这个自动的一个分析工具,它是用来干嘛啊,就这个ESE直接呢可以打开这个文件啊,比如说我们现在呢,刚才那个文件是在把它放到桌面了,跑哪去了啊,在这里哈,放到左边来啊。

然后呢我们来装入啊,选择这个桌面这个文件啊,类型的就选择这个堆文件啊,那找到这个哈希当啊。

在这里打开诶,这里呢就分析了啊,这个是一个系统自带的分析工具,然后你看里面就有很多事情嘞,这其实就是你整个那个项目里面的所有东西,然后你点开可以看,里面呢就会有相关的一些什么设置的值啊。

那些其实呢这个就可以理解为,就是它的一个KTV里面就会含有一些源代码,一些信息,那么既然有源代码,如果说在这个源代码中有配置过一些数据库的,配置密码或者接口,账号密码不就是能得到吗。

那么现在我们就来做这个实验,做个什么实验呢,我搞一个项目,我配置一下我的账数据库的连接,账号密码放进去,然后呢我再启用这个监控,但这个监控呢下载这个hash down。

从里面去分析看能不能得到这个账密码文件。

能理解吧好,那么现在呢我们就要做这个事情看。

那么刚才这个分析类工具呢,它的使用方式就比较麻烦一点,就是说你要在这里用这个什么OQL控制台,去查询,这个查询语法呢,就是有点类似于网上的这个什么SQL语句,所以他就是说按照你自己需要。

比如说你自己想查是吧,就snack的查什么东西,它是word啊,从哪里面查,是for来自哪里对,是这样的查法,那这里查就其实就是说这个只是个工具,帮你分析的,然后你用这个语句的去查。

然后我们这里还有个项目呢,就是这个啊,呃给他介绍这个这个项目是一个网上一个项目。

它用来提取信息的,我们可以关注一下这个项目是干嘛的啊,看一下啊,他说的知识提取敏感信息,哪些信息,数据源信息配置文件信息,包括reduce信息,需要K信息,模糊查询用户信息等等信息,那这里呢有一些是吧。

那我具体呢给他演示过,大家也知道了啊,好那么现在啊,你比如说我用那个项目给他提取一下,你看他能不能提取到啊。

java杠Z1个JN这个工具啊,不是JNZ开头的这个加,然后呢输入哈希down,然后这里呢我就把这个哈希当放到进去啊,放进去,呃把名字改一下,名字就改成哈奇一,好这里打开了,先把关闭一下,啧好可以了啊。

放到这个项目这个统计目录啊,放到统计目录下面去,然后呢分析这个HION,然后呢我们这个是一一嘛是吧。

好回车,你看它就自动帮你提取,就是说刚才那个是分析工具系统自带的,需要你用语法自己塞,而这个呢是别人帮你写好规则了,直接帮你自动自动提取,提取什么东西呢,你看啊他也会搜什么,有没有OSS的配置信息。

有没有里面配置什么账号密码的这个配置,还有像什么我们说的在常见的啊,往上翻,他就会收纳什么这个啊,这个嗯索网的信息数据库信息包括啊,继续往上翻来这个cookie的这个美mambo mambo。

这个就是我们那个小K的那个配置,还有你看这里有什么这个,那你看刚才配置的信息不是得到。

你看来这是我配置的嘛,你看嘶在哪里诶,不是不是这里在这里,你看哎。

哦搞错了,不是这个项目,这个项目,呐这我配置了吗,你看,来是吧,还有现在看常见的,如果说你配置过release,配置过这个什么各种各样的呢,阿里云的什么鬼东西啊,还有这个马克dB的呀。

沃波罗kc的呀啊一大堆呢,他sting不database的东西啊,他当时没有发现,为什么,因为我本身就没有写,那么现在我就测试一下,我写一个这个类似于骨干之前讲过了。

my babies那个数据库账号密码,我配置到这个项目中,然后呢我用这个项目去监控,然后呢,这个项目呢由于它的这个监控呢没有限制,导致我直接下去还是down文件的分析。

提取到这个项目的一些数据库的一些账号密码,如果说我配置过什么阿里云的那些,同样也是能够获取到的。

知道吧,就这个意思啊,那么现在呢我就来去给大家演示一下,时不时这个道理啊,是不是道理好,我们现在来去给大家演示一下啊,你看一下啊,重新再创建一个啊,这个叫test,就是我说现在呢就是引用这个数据库的。

这些东西了啊,就我把它引进去啊,这个就多么移了啊,重新再搞一个是吧,然后呢把简单的东西改一下就完了,好这里呢我们就勾选是吧,这个挖宝,然后呢勾选数据库的,因为这个数据库呢马上要配置嘛。

所以他要用到这些东西啊,就搞个maybe maybe my bias这个MYSQL的呀,再把这个东西再选中哈,哎好四个啊,都选好传接,就此窗口吧,就把那个东西给他终止了吧,因为现在也不需要用到它了啊。

把那个项目也关了吧,那个服务端客户端的都关掉,避免等下受影响,好那现在呢打到这里啊,啊,那我这里呢就账号密码呢那些信息呢,我就不写了啊,我就写几个东西,第一个呢就这里的那个账号密码的配置。

首先呢我把这个地方呢给大家先注释掉,这个原有配置,先把注释掉啊,自己配置一些东西,当然我前期由于都配置过,我打开前期的那个哎直接赔是吧,哎呀懒得看前面了,这自己有的时间自己写出来啊,password呀。

spring的这个内蒙呀,还有这个spin database的drive class啊,还有我们这个视频的URL啊对吧,Jdbc,Mysql,你说这里R配置的,然后LOCALHOST的啊。

3306端口数据库名,DOM01啊,找密码呢,Root1,这里配置下啊,123456嗯,class名drive,那这里呢叫数据库配置信息哦,除了数据库配置信息之外呢。

我们把那个server的那个端口改一下,避免等下冲突啊,就搞个七七去吧,然后呢,嗯还有一个就是我们说的这个显示,那个事情是吧,把他这个二维死,然后呢包的这个地方诶搞错了,先说型号来好点,这里的配置好了。

就这个东西它配置好就行了啊,那我这边还可以写一个这个类似的一个,这个类似的一些文件哈,包括这里呢是有些访问录呀,那我不用了吧,我直接拿给他运行起来吧,因为这里有些自带的文件啊,好来运行起来四个七端口哈。

我们呢就把这个四个起窗口用到这个监控啊,里面配置个账密码呢给他拿出来啊,然后这里报错是什么原因呢,报错是什么原因呢,他是报错这个什么鬼,JDBC的连接的一些问题,为什么,因为我的数据库没有开呀。

所以他报错了,原来提示连接的一些问题啊。

不管它啊,因为我们不管,我们现在不是要用数据库啊,我们主要就说我配置好了,我等下呢看能不能通过这个哈,希down呢能得到这些里面信息啊,好那么现在让我访问一下这个文件哈。

来看一下啊,来127。0。1的accost,四个七端口,访问,那这里呢就直接访问这个hash down了啊,我就不卖关子了哈,得down直接打开下载啊。

嗯啥情况。

打错了吧,是哈德,哦哈哈普,当你妹的,好下载好下载好了。

这个是这个第四个啊,来这个下载35。5兆的,把刚才这个呢是没有下载的,我们把这个拿出来啊,把这个拿出来。

那这是刚才那个分析那个移移的,没有发现到一些信息是吧。

这刚才分析的结果,那么现在呢我们再把这个东西呢拿出来啊,名字换一下,换成还是当二放到这边来来。

现在呢分析自动化分析好,回车,大家看着啊,看到没,这里有什么东西啊,你看来看到没,J d b c123456,好,往上面继续翻看,还有没有其他信息,那你可以往上翻啊,那看到没,这是我配置信息啊,来。

是从哈希当里面,提取到这个项目的一些信息了呀,那其实我其他东西就不用配了吧,其他东西就说你配不配呢,他也能得到吧,他也能得到,是不是嗯,对不对,他要提取到了啊,那么这里呢我可以给大家看一下啊。

我现在呢还有个这个文件,这个文件呢是一个真实的应用文件,一个哈希down,你看这个文件啊,这个不是我项目的文件,就不是我本地的,我在网上随便下的一个测试的啊,网上一个真实的,你看这个哈。

希当然是另外一个,你看他提取的,这是别人的,你看来这里有什么别人的一些什么阿里的什么,你看来上面我又看名感,星期五不看,你看有什么password,第一次use name很多哈,我都就不看了啊。

你在数据库的一些什么鬼东西,这是release的。

在网上找的一个啊,呃这个呢就是我们说的这个哈吉当啊。

那这是我们用本次项目呢,给大家做了一个演示啊,这个其他的呢我们就不再说了是吧,这个这东西呢就是这么个情况,那么这是你可能说,那这个监控就这么一个事情吗。

不是的啊,就说这是他的一个泄露,从里面去提取信息,那么还有其他应用,就是这个文章,那么其他应用就是什么原理呢,好我们来先观察一下在这边的这个文件,这里面呢它是有很多东西的。

你比如说像这个呢map map是干嘛的,路由的相关信息嘛,那这个端口搞错了啊,是这个奇袭。

你看再把它放到这里来格式化一下,看看你看这有什么东西啊,你看啊,包括我写的项目里面呢,这是有些路由外线来访问这个什么鬼,UZ地址,还有什么这个java e的地址,还有正面的访问这个hello地址是吧。

什么user地址,你看这里有没有呢,我搜一下来看看啊,user大家看到没访问这些路径的啊,这个不不是很常见,我们访问hello的吧,看一下hello的,第二那请求hello的来源域的项目的哪个地方呢。

那请求呢这个代码这个代码不就在里面了吗,嗯看到没,所以说啊他这里面的很多地方都有利用,那么其实说它里面呢会泄露出各种类的架构,包括各种什么访问地址,内存信息一大堆,那么同样道理。

他是不就会泄露出你用过哪些类呀,就比如说我用到了什么wrong time,就是我们说的常见执行命令,那个类会用到那个wrong time。

那么在我这里给到的参考文章中啊。

来你看这里啊,嗯参考文章中呢,他们是怎么利用的,你看啊他是说漏洞原理是什么情况呢,啊请求在里面获取了结构信息,然后呢发现里面有用到这个什么这个类,然后呢他利用这个力这啥啥概念啊,简单来说我就告诉大家。

他通过这个内存的这个信息的监控到,我把它写下来吧,刚才这个是用这个里面提取出来的数据去分析,他的分析是为了干嘛呢,其实呢就是说分析提取出敏感信息,敏感信息就是我们说的这个什么list。

什么配置账号密码呀是吧,接口啊,接口信息啊是吧,这个配置密码呢就不限于什么数据库,什么这个短信或说人应用啊等啊,这种配置是吧,得获取这些敏感信息,同样呢还有一些这种什么信息是吧。

那么还有一些其他利用它又是干嘛的呢,比如说啊他分析呢得到有这个一些什么组件,那这些组件呢是不安全的组件,啥意思啊,那如是用的什么logo时间使用local4J有漏洞啊,是不是就可以利用它啊。

这个好理解吧,就是因为那烟绯啊,得到一些什么这个一些这种呢用过这个东西。

哎,这个东西它包括漏洞也不安全组件,那这个上面呢大部分都是个四星啊,那下面有个这个索引案例可以看一下来,这就是按照后期的一些各种漏洞的一些测试啊,来包括他上面所有的就里面会涉及到的。

那这个呢就是我们目前现在还不需要接触的,这个关于它的更深层次的利用,就是上面这些漏洞利用,这是放在下一章节讲到java安全的时候,再给大家絮叨嘞,今天呢就是给大家了解一下这个事情,对不对。

知道这个东西就可以了,咳那你可能会问,那这个东西网上常不常见呢,其实呢我也不用去演示,网上很多地方都用到这个东西,你你可能说怎么知道的呢,唉知道也很简单嘛,都是用固定地址,你访问的这个路由。

一般他不修改这个地址啊,默认就是这个地址啊,如果说你在一些网站后面加上这个地址之后呢,我发现诶有内容,那恭喜你啊。

这个网站启用监控,那只要他配置不当,就会造成这个问题,那如何叫配置不当,如何叫配置当呢,不可能说用这个东西就不安全呀,对不对,那就是我这里说的啊。

你想它安全的话,就可以这样操作,它怎么操作呢,来他不是写这个东西吗,你又怎么样,你就写个这个,呐这里有个叫什么had done,什么force,就是不泄露哈,down还有什么。

还有像我们说的in n v,改成什么false就不写了。

一个V,还有什么info,对不对,这些东西呢都可以写上去,就说你不要泄露那些地方,那就包括这上面不有这么多吗,哎是吧,你就把它设置为false,你比如说像英V和这个have不down呢。

我就把它怎么样写为false,然后呢我再重新启动一下,对不对,你看现在啊刚才是有哈down的,那那那那那我现在看一下哈,他是不是就没有了,这个就是说你用它可以,但是呢你只要是稍微不注意配置不好。

他把一些敏感东西呢给他拿出去了。

拉你那就是吧,那就不好说了哈,你看现在啊,我看里面有没有东西啊。

解析一下,你看看有没有英文飞和那个hob to啊,搜下来,那这个没有英文看不到了吧。

我直接访问这最直观来直接访问来DV,刚才只是有的访问不了了。

那top down,嗯打错了,那也没有了,是不是那没有了。

所以说啊嗯他这个问题呢,其实就是说不是和系统相关的,这个系统呢本身是为这个程序员,为这个项目呢为这个维护,人家认为呢给予一个监控帮助的,对你的这个上线的应用呢更好的了解,但是呢由于啊你这个配置不好。

导致把所有信息呢都给他搞到互联网上去了啊,里面其中很重要的是hub down呢,被别人得到之后呢,就能得到你项目中的一些配置信息,包括你这些源码信息,所以我们通过这个提取到的一些账号密码呢。

那就能非法的连接这个说法,我相信大家就能知道了是吧,所以啊你就可以在项目中端配置这两条,防止这几个利用点呢把它关闭掉啊,不让这个外部的访问到,对不对,或者呢,就像我刚才做了个客户端和服务端的样子一样。

对不对,搞客户端服务端有那个授权访问,那样呢也可以嗯。

这个就是我们说的这个第一个监控系统,的一个开发使用和它的一个安全的隐患,安全隐患呢我只介绍到了最简单的哈,不down的一个信息的提取,包括这个提取,我们今天讲的是一个攻一个项目,网上呢有三五个。

所以说你真实在利用的时候呢都要用,因为每个分析器呢它不同规则,有时候呢可能有些信息他提不到啊,你还可能用到这个官方的去用语法去提,更加的这个满足你需求,也可以用这自动化的题是吧啊,每个项目都不一样。

这个具体的一些情况呢,我们在第下一章节讲的java安全的时候,再回到这里的时候呢,就会给大家详细深入的去,把各种项目优缺点呢去给他分析,还有就是我们说的除了这个之外。

它可能会涉及到一些上面泄露的一些第三方,安全组件的一些漏洞和调用,这个呢也是一个他的一个利用方法,就是它可能会涉及到一些安全问题,那这个监控系统啊就讲到这里了啊,我想问一下大家能不能明白啊。

这个东西啊好理解吧,这个东西应该不难理解,因为这里面没有什么代码量,无非就是说对这个东西的认知,和他的安全范围哈,能下载哈布down算漏洞吗,肯定不算漏洞啊,这个漏洞只说一个安全配置不当。

它的漏洞是由于它这里面泄露的一些信息,然后衍生出来一些安全问题,不是说你下载他去当,就他也有漏洞,不是这样的啊,我们是通过他的监控系统的,哈当呢去提取出来一些有价值信息,后续利用来找出漏洞的。

只是说你下载汉子档呢,子弹安全隐患呢加大了。

但是并不代表它就一定会有安全问题,你就像我们现在一样是吧,我们现在呢我啥里面东西啥都不放,我数据库都不配置,我就搞个demo,我给你hash down,给那个哈B当然给你去下载也没啥用啊,你们啥都没用。

对不对,你们不要要求太多了啊,这个这个东西呀说实话呀,从网上那是都是介绍的,是说怎么利用这个从开发去讲,他的这个安全问题呢,还没有人这样讲,隔壁高端的也没有讲这个事情,你们还要我上什么微服务。

那谁顶得住啊,嘶嗯好,那现在呢我们再来看第二个啊,这个spring boot的接口系统stranger啊,这个首先来介绍一下啊,刚才那个是监控系统,那这个是监控系统,那这个又是干嘛的呢。

其实呢这些讲的这些东西呢,都是属于方便管理员,运维人员和程序员呢,对他的项目有更深入的了解,更好的效率去测试的一个东西,都是为了这个帮助这个人去工作的,但是呢你配置不当呢,就会导致一些安全隐患。

都是这么一个事情,但这个jungle呢在spring put里面用的也是非常多的,我们待会呢也可以网上去给你搂一下,给他看一下,是不是有这个安全隐患,然后呢还有像这个东西呢。

它不仅是在这个java的一个应用中,有出现在什么其他的一些啊,其他什么PVP的啊,Python的它也有,只是说他在java里面用的多啊,特别是像一些这种有一些接口提交的的,一些这种应用的话。

那基本上很大情况下面都会用到这个爽口,那么它就是当前较为流行啊,比较流行的这个接口文档生成工具啊,他是干嘛的呢,其实呢就是在开发前和开发后,对于自己的项目接口的这个正确性呢啊,进行提交测试的一个工具。

就是对方呢程序员呢会安装它,来对自己的项目呢这个接口啊,比如说像我们说的啊一些接口,像什么是支付接口啊,或者说这个数据获取接口啊,对不对,他要看这个结果呢是否配置好,它就会使用一些工具去测试嘛。

那么你不可能说对不对,把这个工具一个个去测试,一个点去测试,他就用这个项目呢,直接在这个页面上面就把所有东西列出来,你想测试谁就测试谁好,那么讲到这里,大家觉得他的安全问题是什么问题呢。

它的安全问题就是接口泄漏,什么叫结构性能呢,我们试想一下,你做安全测试的时候,一个网站它上面有哪些提交接口,你知道吗,你不知道你是通过你的网站目录,扫描自己的信息收集指导着你呢,可能有一个结果。

而不是说你打开网站,你就知道就很简单啊,我项目中我写了上传文件。

我写了这个提交,获取对方的这个用户信息的这些接口,我给打开网站呢,它不显示,你怎么知道有这个东西呢,你不知道啊,但是这个时strangle呢如果部署上去,它就会自动把这个结果给他拿出来。

所以你就知道有这个东西了,你又给撤了,那么先用我们再上安全,我先学会怎么使用它,我现在等下呢,我再来给大家演示一下他的一些安全问题啊,他的安全问题呢不是安全漏洞,不是安全漏洞啊。

他是给到你的有更多的测试的可能性,这是他的安全问题,所以他不是LOL,他只是给你一些测试点,好,我们来先搞起来啊,名字就叫做test strangle,然后这个呢呃这个呢他在这个,嘶1。8。

然后他这个呢他在这里选没有啊,就是在这里那里没有那个strangle那个集成,所以我说就需要自己去导啊,自自己导,我就先选个web就可以了啊,像这个里面一些其他东西呢我就不搞了啊,就先搞这好。

那现在看一下啊。

如何使用它啊,首先呢呃他这里有两个版本,一个版本是二版本,一个是三版本,我两个版本都演示一下,他们两个版本使用呢没什么太大的问题啊,你可以参考这个文章啊,这文章写的很详细。

那就这里啊啊stronger的一个介绍,然后呢他有这个R版本和三版本,R版本呢需要引用两个架包,就是我们两个这个仓库的架包,三版本呢只需要一个没什么太大区别啊,区别就在于配置上面有一些小微的差异。

给大家演示一下就知道了啊,然后啊我给大家演示一下,首先呢引用这个R联9R的版本,那这两个加包呢就直接把引擎进去,这2092呢是一个稳定版本,一般都会使用这个版本啊,你用这个其他版本的也可以。

然后使用的时候呢要注意一下。

你这个spring BO的是3%还是4%啊,如果说你使用高版本的这个spring铺的话,那可能就需要用三版本的strangle了啊,所以大家注意一下啊,我这里呢是用阿里云那个推荐的R点。

R的一个SPINPUT的那个版本,所以我这边也用二版本,三版本它也兼容,但是如果说你在这个,你在这个呃,其他的一些其他的一个那个spring boot,三版本上面的话,可能就需要用到三了。

那我在这里那就找这个地方是吧,随便的把这个依赖呢给填上去,那就写到这里来吧是吧,然后呢我们来看一下正面的这个mono,目前他的依赖是吧,这是直接只按照两个把刷新一下,哎这里呢就有这两个了,是不是。

当然了,你点正面的刷新也行的啊,这两个就下载好了,下好之后呢,现在就能用了,是不是,然后呢我们现在呢就来看一下啊,它是怎么用的呢,这个R版本使用的非常简单,就是直接在你这个启动这个项目这里呢。

写上一个什么EN双头就可以了就行了,哎小字呢就能直接用了,但是一般都会出现一个问题,那么问题呢给大家说一下啊,我先启动它会报个错,其实就是个路径问题啊,啊他有个报错是吧啊,这个是八零满窗口的问题。

我们先把这个修改改成这个,好在运行,好启动,你看又报个错,这个错是什么情况呢,是这里呢,他说是一个什么叫document东西啊,这个是什么,给大家说一下啊,这个一般都会有啊。

这直接在这里面用这个东西来修复就可以了,SPINDERF非C,就这个嗯,然后呢改成这个第一个好保存,重新来编译一下启动就可以了啊,好现在正常了好,那么这个是R版本R版本,这个是装个启动好之后。

它是一个网页端的情况,我们来看一下网页端,先把这几个全部都删掉,怎么访问四个六端口嘛是吧,加上什么呢啊WGGGER杠UI点HTM,这是它的访问地址哎,等一下是不是写错了,哎怎么没打开啊,哎啥情况。

这的是什么鬼,经狗出现这个莫名其妙的一些事情,不是不是不是哎,这还是巧事情呢,我换个装可行吧,这他妈的卡里有啊,不是这个不是这个这个不是一码事情啊,不是一码事情,我知道你们说的那个意思。

看一下啊,我先把它启动,那666都打开不了了,你说这不尴尬吗,666就打不开了,是8012端口,换一个端口时间,手机都访问不了了,这看个毛啊,转201好可以了,那么终于正常了,这首页能访问就行了。

那一般就没问题,装个它默地址呢是这个啊,杠UI点TML好,打错了吓我一大跳,我说你们又翻车了吧,好可以了,你看这有了,你看这啥东西呢,这啥东西啊,你看啊,我这上面有些接口的地址。

你看这个呢有什么hello的,这个什么user的,这个什么server user的对吧,然后这里是还有一些呢自带写的呢user东西,还有这个加beat,然后邮箱呢还有参数啊,邮箱还有参数。

你看这里还有参数是吧,然后自己打开看一下,你看这是不是那个东西啊,你看呃base console的,你打开来这hello的几种提交方式啊,so为user的,还有这个什么这个地方呢。

这是另外一个233默认的,还有这个里面呢java beter呢RECOR来这意思。

这就和我们这个上面写了这些常见的这种接口,的请求地址,接收数据相关的web应用相关的,你看,是不是没问题吧,啊你比如说像这个我在这里呢,我把先暂停一下啊,我重新给他写一个了,你看下啊,重新写个。

我们就写个这个test console,好先开始探索啊,然然后呢我按照之前那个使用方式是吧,之前上节课讲过的是吧,然后呢我们写几个哈,我们写带参数的吧,就不写这个不带参数的啊。

嗯return返回这个数据数据,那就是搞个参数进去,String,啊LIMON是吧,嗯返回一个叫get得到help普有数据,然后呢加上这个name就要返回这个东西嘛,是吧好,这个是这个get的哈。

我们再写个post,post state也是这个情况,然后名字改下,改成post host,Date,然后呢发现上去啊,然后呢这里呢在这个是这个是什么get的,那直接写get啊。

就不写了个request member的一个路径嗯,写上这个叫就访问,叫get data吧,然后这个呢就是post memor,然后杠post data路由写上去,然后呢这里呢再把那个返回一下。

Spin boy molly,写个东西啊,试一下啊,把这个类导入下,好那这样写好之后呢,重新启动一下项目啊,我们看这里呢师傅会多出这几个东西来啊,我刷新刷新一下好。

大家看一下,现在啊你看是不是有个test console出来了呀,那打开那是不是有get data呀,还有个是什么post data,是不是出来了呀,然后你看里面参数值是自动帮你取的。

你看name那自动帮你写的参数名都写好,然后呢你想来点提交是吧,就自己上去测试一下就完了,对不对,那个就try1try it out,来点一下,那比如说我现在这个值131,那返回内容啊。

这里啧看看是返回内容呢,respond body呢返回来postharder data,那结束数据和代码逻辑一样啊,那如果说这是post嘛啊,Get,那你加检测器一样道理,点击这个啊,Try out。

就是尝试一下啊,顺便再取一个勾啊。

返回值get hard get,是不是就是这个逻辑,你看,那这个应用呢大家就明白了呀,那这个就知道是什么东西了呀,他是干嘛的,他是帮助你对这个项目呢有一个各种给,就是说这个安装上去之后呢。

你这个项目的所有的一些这种,关于hp的这种访问啊,提交数据,这些东西都会展示到这里。

那这个就是不是就给,相当于就是说,如果你针对一个网站进行安全测试的话,你是能够知道他有这些东西吗,他除非展示出来,你才知道啊,他没展出来,你咋知道有个get date这个地方能够提交数据呢,对不对。

你不知道啊,但是它有了它之后,通过它是不是就能把这个项目的这些东西,都知道了呀,那如果换句话来说,这上面如果说有个上传文件呢,你不就是可以上传个稳定车的时间吗,就不直接相当于给你一个上传文件的一个地方。

给你去测有没有上传的物种,你说这该多好呢,你还在找上传文件在哪里,他直接给你一个,你直接测不就好吗,大家试想一下,如果这个接口里面包含了,像一些后台的一些这个信息,比如说像后台里面管理员的什么添加呀。

删除啊,包括后台一些一些敏感的什么用户的查看呀,什么银行卡的一些什么鬼东西呀,那你勾一下测试一下,如果获取到一些信息出来之后,那不就是敏感信息泄露,那就是一个低中位的一个漏洞啊。

那如果说你能得到个信息之后,再利用得到更高位的,不就是更高位的事情了吗,这个就好理解了吧,那这个东西的应用大家也知道了哈。

好那这个呢这是R版本,我们说一下三版本啊,我怕有些人呢不知道三版本呢,不是说我想教你说必须要用,不要说敏感词汇啊,这里面的又出提示了,不要说这个敏感词汇我都怕说,然后呢,我们来看一下这个,呃三版本的啊。

嗯三版本的先把三停掉,然后呢,三版本这里呢我先把这个R版本的给它去掉,R版本的是需要导入两个包,然后我看三版本的啊,三版本那就只导入一个包就可以了,只导入一个包啊。

R版门呢注意下阿坝门呢是要在用的时候呢,在再加上这个东西。

其中箱子里加个东西,三板门呢就不需要加这东西了啊,我等下把它去掉啊,把三版本呢先融入进去,我来观察一下这个MEA。

你让我刷新一下,那现在三版本写进了二二版本消失了,好现在三版本三版本呢,这个这个文件配置是一样的,这个不用管它,然后呢还有一个主要的就是地方,就这里啊就可以把它去掉了,就不用它了啊。

三版本如果说你要用它是另外一种写法了,它是什么写法呢,就是in他刚才是这个enable all嘛,它就是这个呢三版本是这个,所以有点差异啊,这但是你写不写都无所谓了,写它和不写它都可以。

二版本要写大家知道就可以了啊,把编译一下,然后启动啊,这三版本的其他的都差不多,没什么差异啊,然后三版本还有一个差异,马上就知道了,还有个差异呢,给大家说一下来,这是刚才的R版本,现在访问不了了是吧。

那地址就错了,为什么,因为你现在用了三版本,三本地址是什么呢,三版地址是,index点HTML,这是三板门,知道吧,如今发生了一些改变,其他的没有啥了啊,其他的使用方面呢有些大同小异啊,也不太重要。

包括这里呢也是一样的啊,那测试呢我就不测了,好那大家可能说诶这好像没啥呀,好那么现在呢我给大家说一下啊,关于我讲完它之后,后面呢我会给大家继续细讲的一些事情,那么今天演示一个叫自动化测试。

我何为自动化测试呢,大家想象一下啊,这个接口上面看到的只有四个,那么安全问题我刚才说了,就是相当于给到你很多的测试点的,比如说有上传文件的,有获取信息的,你就知道这里的能不能测一些漏洞啊。

就说直接给到你有漏洞的一个点,给你测,有文件上传,你就测文件上传,有其他的就测其他的,对不对,就是给到你有这个网站上面的,所有能够获取到一些信息,获取到一些项目的信息的一些地方,就给到你这些东西。

但是很简单,我们数量少,比如说这里啊就这四个啊,我呢花不了多长时间,我都看一下,也就无所谓的啦,是不是,但是你想一下,如果说这里有百个甚至甚至上千个呢,项目特别大呢,那该怎么办呢,那不可能一个个点开。

一个个在这个上面点燃操作吧,你一个点开了一个输出局,一个车吧。

这显然不现实,所以啊就给大家说一下,利用我们的几个工具,postman或者什么其他网站些工具。

这里呢推荐大家使用postman in,简单方便,看看它有什么作用啊,postman呢点击这个叫API,点击这里叫导入路径。

路径写哪个地址啊,呐这里有个大把这个例子写上去,复制到这来,点击继续,点击继续,它是已存在,替换好,这个不更新好,来这里集合,你看这里就出现一个东西了,打开这啥东西啊,是不是就刚才的这个结果。

你看写的的get date,Post,date是出来了呀,包括这里的很多啦,server user是不是出来了呀,这里不比你去这个上面搞得条理清晰一些吗,呢你还一个个展开一个,看下一个他放到这来了。

你说诶这也不是自动化呀,这好像就是把展示到另外一个显示界面来了呀,何为自动化呢,那这里有个叫什么韧性,那你要勾选测试的地方,比如说呢哎搞错了搞错了,点击这个地方那点人形呐,这有很多嘛是吧。

我就把一些我要测的喇叭勾选上,对不对,比如说这里我们这里都要测的。

那保留相应值点击运行,那他又帮你全部测一遍。

看到没,帮你自动把所有接口去测一遍,然后呢你就直接看返回,看这个摘要是吧,那这里呢就是一些返回,因为我这里啥都没有,所以他是啥都没有返回啊,很尴尬啊,对不对,如果真实情况下,你啊我这里没点了。

没有被保存,返回,重新运行一下吧,这其实这个科呢是我们包括这里呢,如果说有这个上传文件的,那你把文件提交,那可以测试他不,假如说有上传接口是吧,你就可以随便搞个这个文件上传。

就是它也会自动帮你有那种文件上传的地方,他也帮你自动去上传,你说这改多好呢是吧,你这个是要结果,对不对,那这是结果呢请求的头和请求的内容,然后那里面不是还有些有参数值的吗,那这个参数值是怎么设置的。

只是说游戏有变量的,你可以在这里面设置变量,然后再批量请求都可以,这个到后期我们再讲API的那个结构安全,因为这个是专格的,属于API的知识点,只是说他在java中常用,在讲API安全的时候呢。

我们会详讲,关于这个自动化测试上面的一些东西,而且我给大家说一下这个东西还可以再联动,联动什么,我可以给说一下啊,他这个东西呢可以做个代理,就是我说自动化提交这个项目之后呢,我设置个代理。

代理转发到x x r a y bob suit上面,再装,拿个工具帮我自动化再去扫描一遍,可以这样做啊,这都是后面要讲的啊,这现在呢我们不说,现在因为漏洞还没有接触到啊,我们就只给大家提个醒。

那这个就是说的这个事情是吧啊,好那这个东西呢大家就明白了,大家也知道了,他是干嘛的,简单来说呢,他就是那会泄露一些应用的这个什么,像什么有登录的呀,信息展示的呀,文件上传的呀,对不对,这种事情。

那么那对于我们测试什么未授权访问呀,啊敏感信息泄露啊,文件上传呐,这种安全的漏洞呢就有地方测了,因为网址打开,你哪知道哪里有文件上传,哪里知道有这个测试这个卫生权的,你不知道啊,你只能乱测。

但现在还给了这个接口,你了,你通过这个接口的请求和返回和观察,里面有没有些信息,观察里面能能不能得到信息,通过这个测试呢,就是相当于给到你一个机会,给你在测漏,而以前呢就是你自己在找机会车。

找符合机会的地方测,像他有的他就不一样了,那你一坑会,但这个这个东西多不多呢。

你看下我给你就网上搜一下啊,我们简单点一下。

我们肯定不做这种违法事情是吧,给他砍一下的,比如说我搜这个专客。

随便找一下是吧啦,你点开一下啦,哎这这不不,所以只剩下,很多哎呀,这不不没有啊,呃搜还不好搜啊,什么鬼啊,这都湿的,其实都湿的,但有些国外网站打开man的而已。

你看这里呢,你看他是有游客来了,这是不知道是哪里一个网站呢,假设都是他的吗,那这游线呢是不是我们。

那你说在哪里呢。

我不是叫大家上学要搞别人啊,不是要教这个事情,我是说给你一个看法,你看看,来来他获取什么用户点赞呐,获取指定内容啊,那用户中心了呢,你给测一下嘛,来获取什么微信id,这哪知道这应该是个什么接口是吧。

来点击try一下,来来微信id,你比如写个什么东西,这可能是个什么小程序,什么东西,哪个对不对,获取个人信息什么这个大堆,还有你看这里,这这更多了这个app里面的常用数据。

这哪知道是哪个哪个东西呢,对不对,太多了啊。

这个实在是我,来公式给这样的穿一下。

我们就不测了啊,因为这个东西呢到我们都是属于这个未授权啊。

我们呢隔壁都出了问题是吧,我们呢也不能说乱在上面测测测啊,那你还是有啊。

只是有实战意义的,没什么说这个乱七八糟的乱讲的啊。

那很多啊嘞,这都是一些可能一些业务系统的一些事情,好我就不说了啊,点到为止,那大家就知道这个事情了呗,那么以后啊如果是碰到的是装个,包括这个刚才我说的那个监控系统。

那你就知道了啊。

包括像CCTF体系里面这个东西呢也出现过,那很多这个CDF体系里面的呢,有时候考这个东西呢,大普的2020年出现过这个条例,来strangle的开发接口测试,唉所以说不管是在实际中。

还是这个考一些CDF里面的都有这种事情,你没有学过,你咋做呀,题目也做不了,实际也搞不了,碰到了就不知道这啥玩意啊,今天开发讲的,你知道是啥玩意了,是不是后面呢我们再把详细利用呢再讲啊。

基本上呢就掌握了啊,这个呢我们可以自己呢再看一下文章,给大家看一下这个过程啊,因为我说呢还不太好,我这网上随便找站点给车呢,再给违规了是吧,来我们这里呢可以看一下呢,这是网上别人的一些文章。

你看一下这个文章里面它的一个大概过程,你就能知道这个东西讲的一些意义,什么鬼文章啊,那你看他这个就是他一个典型文章了,他说是先扫扫路径的,其实就扫这些装格呀,这些东西呢这也没什么说的。

就是常见的那个路径,找到之后呢,你看啊他这里测了这测哪个点呢。

直接发包是吧,然后你看这里呢,他发现了文件上传的呢,有文件上传的直接测。

那把文件都进行了,上传成JSP用户身份测试,也有的,MYSQL注入也是一样很多啊,就是上面呢有很多东西你都能测啊,测好之后呢,有些呢如果是设到后台账密码,他还可以尝试登录一下这种地址未授权访问啊。

也是测一些点,然后呢得到一些敏感信息。

因为呢其实就是说这个东西啊,给到你有很多机会啊。

就是以前呢你可能新收集搜不到有哪些点,但是呢他一出现呢,那就是吧,那就多了,这都是那个测试文章啊,我们大家看到了应该就知道了,这也是我们后期要吸生物深入讲的时候,那再给他说的好。

然后这个安全修复呢其实也比较简单的啊,安全修复呢就是配置一下,这个里面的访问权限啊,但这个不是我们所操心的,这是开发运维的操心的事情啊,我们只要知道这个事情带来哪些危害啊。

知道他的一个开发的一个情况就OK了啊。

嘶其实我们讲他呢说白了有些啰嗦,什么啰嗦呢,因为大家也不是学开发,我也没有说很深入的去讲这个东西的,开发的应用,包括上面的配置,但你不用这个开发角度去讲,那我直接告诉你啊。

我strangle是一个什么东西,哎八一讲你好像听了就跟没听一样,也不知道是是是为什么要用它,所以说还是要结合代码讲的,这个东西就会记忆深刻啊,好今天的这个字典呢就讲完了啊,漏洞字典呢还是比较少的。

下节课呢我们就是java1的最后一讲了啊,就把那个项目的上限,包括,还有一些鱼类的一些这个身份验证的问题,给你讲,那么安全开发了就不再讲了啊,你们不要不要要求说还讲哎呀,讲不动了,真讲不动了啊。

有些人也不愿意听了啊,你想听的是肯定想听,这个不愿意听的也是真不愿意听了啊,不能再讲了,再讲也顶不住了啊。

好那今天就说这么多啊,大家看有没有什么问题,有问题就问,没问题就下是吧,最后讲呢下节可以讲,讲完之后呢,我们就下一章节了,讲漏洞方便了,肯定今天没了呀,准备就准备这么多,想想JWT好。

那下节课我讲一下J看呃,看时间啊,解答问题和那个SHOSHO有点麻烦,不知道一节课讲不讲得完啊,接答题就简单一些,JWT也是那个你JWT的,我安全开发会讲,即使我不讲。

我后面那个java安全里面呢也会讲JWT的,因为他是身份验证,那个测试点也和这个什么鬼,我们说的这个这两个东西差不多的一个概念,它也是一个身份验证,就是cooking啊,session啊。

然后现在比较主流的JWT这种身份验证技术,然后它上面的是有些攻击点的是吧,开发呢也讲啊,包括我们后面他的JWT的安全攻击点呢,我们也会讲,所以你也不用担心啊,只是说讲开发的更深刻一些。

你们不要要求太多了啊,说实话我都按照你们这个要求讲,我就是高端number one了,是不是,你们偏老说这两天我在打游戏啊,什么我不在搞学习啊,隔壁还在开靶场,说句不该说的话,我是在玩游戏。

我里面课也在上啊,也没跑啊,对不对,还有点啊,有些东西你不要看表面啊。

posted @ 2024-09-29 15:12  绝不原创的飞龙  阅读(93)  评论(0)    收藏  举报