小迪安全课程笔记-2024-二十一-
小迪安全课程笔记 2024(二十一)
P57:第57天:SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny
好我们来看今天的内容啊,今天呢是讲这个新的一个漏洞啊,讲一下这个SSRF啊,啊上节课那说的是那个CSRF对吧,那今天呢是一个SSRF,大家也不用看了,这两个呢从这个名词上面看的话,就一个是C,一个是S。
那么C呢在英文单词里面就是克里特,是这个S呢就是server,那么简单来说就是一个客户端,一个服务端的意思,所以呀在CSR服呢称之为叫客户端请求伪造,然后这个SSS5呢称之为叫服务端请求伪造。
从这个名词的叫法上面呢,大家应该能够明确到这个漏洞的一个,相关的情况啊,我们呢给大家说一下,它叫SSF,简称为solar site request是吧,然后这个后面那个for gary吧。
服务器请求伪造啊,这个是个什么东西呢,他说是一个这个攻击者呀,通过构造形成对服务端的一个发送请求,这个安全漏洞,哎这个什么意思呢,哈嘶这个网上这种说法呢,说白了啊听的话能够听个大概。
但是呢你要把这个案例给他拉出来之后呢,这样子就理解他了,他说一般情况下面sf攻击呢就是从外部啊,来访问这个内部的一个系统,形成了最大的一个漏洞,原因呢就是服务器的提供了,从其他服务器应用数据的功能。
但是呢你又没有对这个目标的人的,做过滤和限制,从而产生了这个SSR啥意思啊,这是个啥意思,来我这里呢可以在网上呢去给他看一下啊,比如说我们这里呢,就拿这个一个简单功能来去讲它啊。
你像这个是百度图片的一个那个地址,然后这边呢有个这个呢叫按图片搜索是吧,这里呢请输入粘贴图片地址,那啥意思呢,就是说你可以把这个图片你写进去呢,然后呢他去远程去访问这个图片呢,来形成一个识别。
那么也就是说在这个过程中呢,他有去对你这个输入这个网址呢,地址呢进行请求,那么大家试想一下这个网址按照正常来讲,我们就输入一个正常网址,但是如果你想一下,他如果像这样输呢,那就是输入个AHP是啊。
输一个网址,然后加上一个这个1270001,这种地址呢大家都知道,这个12700应该是代表的是我本地地址,那么我输上去,服务器呢对这个对这个地址进行访问,那么他去访问12701,就是访问他自己。
那么这又是一个典型的sr sf攻击,一个漏洞产生的原因,就是说有些功能它会去访问你指定的一些资源,而这个指定资源一旦编成一些内网的地址,或者说本地地址的话,那么服务器就会向他自己的自身的本地。
或他自己的内网那去进行探针,就形成了这个SS法攻击,这个又是S5攻击的一个典型例子。
所以说为什么这个工具上面说的很清楚,说是由外网去访问内网的一个攻击过程,就内网呢就包括你本机一样的道理,很好理解啊,我们通过一个小的本地的demo呢,去给他由此展开啊,那我们来本地这个demo案例。
比如说就像这个啊,这个它是一个什么案例呢,就是一个远程图片加载器的一个东西,请输入图片地址啊。
然后呢他就会读取这个染成了一张图片地址,这么个意思啊。
比如说这里呢我们找个这个图片地址,随便找个R就图片例子啊,来直接放上去。
点提交,啊这个图片地址这样子的啊啊啊不行,写了那个图片地址暂存地址。
啊这是我们的图片地址啊,我让他那去在本地一个多么低压呢,一访问他就能请求到这个代码呢,就是那个图片那个本身那个这显示代码啊,好这个呢就是什么功能,那么就说你输入这个地址呢,它就会请求这个软件地址。
那么你试想一下,如果这个地址呢改成,像我们说本地的这种127001打开访问,哎,这里能变成这个东西,那这个东西是啥东西呢呢,我们看看本地的这个访问200是什么东西,是这么个东西,那么他请求这个东西是吧。
然后你看啊,如果说我访问什么,192。168。1。10点8号来访问一下诶,他访问这个地方,这个是什么地方,他请求十个内容啊,那看一下,是不是就是个模拟2020看,那同样道理呢,我再访问呢本地的127。
0。013306,313306端口嘛,你访问来5。7。26,什么MYSQL这些东西,还有其他协议DICT33061包来购,那那这个306是什么呀,5。7。26又代表什么意思啊,因为我本地环境呢。
MYSQL是5。7。26,看到没,3300端口是这个买SQL的,同理的意思呢,这里呢都是这么个概念,大家知道这个SS5究竟是啥了啊,这个先了解他是啥,我们再说他怎么玩,先说这个是啥。
这个4SR五一个概念呢,大概就是这么个情况,能不能理解啊,这个能理解之后呢,我们再说它会产生在哪里,然后呢他该怎么玩,这就是接下来的事情,这个好不好理解,这个nsr of f,它叫服务端请求伪造。
为什么叫服务端请求伪造,CSR服务叫客户端请求伪造呢,因为cs阿福呢是让受害者呢,他的自己的那个操作呢去请求,就是他自己的电脑上面去请求违规的数据包,电脑上面登录了管理员,它相当于是客户端。
而这个呢是让服务器自己去请求,所以它叫服务端请求伪造,称之为是SSRF,先从概念上去理解为什么是一个是CSF,一个是SSR,原,就是因为你那个CSF的攻击的是别人登录的,一些这种平局的后台网站,然后呢。
他去在不经意之间来访问到你的出发网页,从而使他的浏览器的加载那个授权数据包,来形成了一种攻击,叫做CSRF,但是现在这个SSRF呢是攻击的,是你本身这个人呢,还是攻击的是服务器呢,他攻击的是服务器。
就是服务器的本身,代码呢会针对你这个地址呢,做代码的一个远程加载,当你输出127001的时候,那么就是服务器自己呢在请求他自己的本地,如果这个地址呢一旦改成内网地址,他就会用服务器的访问他内网地址。
一样的一个道理,这样一说,其实很多人都一下子就能理解,但是有些人就不知道我在说什么东西啊,我就问一下大家,我刚才说的,你是不知道我在说啥,还是说你已经理解了啊,理解之后呢,我们就好好讲下面的了啊。
意思理解是吧,二是不不能理解哈,不知道不能理解,什么还还有人说什么鬼啊,改头不啊,哎呀你就说能不能理解就完了,他妈的什么鱼啊,什么牛啊,什么啊,这什么鬼东西啊,还改什么fade是啥意思啊,哎呀。
略懂不要说年懂理解就理解,不理解不理解,那个别懂是什么鬼呀,其实这个说实话啊,你要把它讲的理解的话,要看代码,有些人呢老忽略这个代码的作用。
不用看了代码,我们就不看了,看代码之后越发不懂了,更更说的明明确一些了啊,那看着啊,我们先把这个功能呢,那我现在就拿那个那个功能讲,这个功能呢我们看上去呢说实话不像是这个,这不像很正常的。
我们就拿这种白骨无边这个来讲啊。
还好理解的事情啊,你自己想的太复杂了,那大家想想啊,按他这些功能,这里说请输入或粘贴图片地址好,大家试想一想啊,我现在呢,你们这听不懂的啊,认真听,这是很基础的东西,你都还能理解。
理解不上来啊,这以后这很多东西都要好好学的啊,不是好简单的事情,那我输这个地址给他上去,我百度一下好,你看他是不是把我这个图标给他识别到了,那我把粘贴地址写进去之后呢,这是我那个图片图片地址嘛。
图片地址呢点击视图,他就把这个图标给他显示了,然后呢匹配这个相关的这个图标给我看,是这个意思吧,好好大家看到了啊,这是个功能是吧,我先把功能呢给大家演示了,大家思考一下好,那么现在啊我把地址写上去之后。
我们先思考一个问题啊,他既然得到了这张图片的地址,也就是说他请求过,那么这个请求你觉得是你自己的浏览器,你自己去请求这个地址,还是这个网站它的功能代码去请求的,你先把这个问题先搞清楚。
是哪个是网站自己代码去请求的,就是在服务器自身去请求的,还是我自己啊,我去访问啊,我点十岁以下是我自己去请求这个地址,你们说是服务器对不对,那既然是服务器好,大家试想一下,这是个两层地址是吧。
我把这个地址,如果说我写个1270011270,大家都知道,就相当于是本机的一个意思,就说我如果写亚西尼,我给我自己电脑的话,我说我敲个一夜西尼,他也知道是我本地本地地址的意思,对不对,那么同样道理。
我在这里写个12700111上去,我再点视图下,他会认为那服务器去寻求这个地址,他会请求谁啊,是自己在请求自己啊,是自己在请求自己吧,对不对,是自己在请求自己吧,那么大家试想一下。
假如说这个127001本地的,刚好有个网站呢,那不就是请求这个网站了吗,这就是一个典型的一个信息收集啊,你加个端口八零就是判断这个端口存不存在,在8080存不存在,就是说他只是说看这个数据有没有回。
写出来是吧,你比如说我请求给8。8里对吧,他如果说有回血,他可能请求这个8080上面的数据出来,就像我的功能一样是吧,我请求1170哎,他这里有数据回一些没有回血,那是另外一句话,没有回血。
就说没有显示的意思,你不知道请没请求,但有回血,那就只能看到,我们先不管这个有没有回血的意思,就我写上去之后,他就会请求这个东西有回旋,我就知道这个东西有没有是吧,没有回旋,就说是个错误,它就没有嘛。
就这个意思嘛,那么这个过程就是一个典型符合SSRF的,一个漏洞的一个原理,为什么,先看原因,刚才大家问的答答了,服务器请求s server,昨天的CSRF是服务器在请求吗,和服务器没关系吧。
你攻击的是受害者,受害者是人,他是客户端,所以称之为CSF,这个是让服务器去解析已提交的数据,服务端请求,服务器请求伪造SSRF,这还不明白吗,再听不懂我就没办法了啊。
好这个是搞清楚了SISRF的这个东西了,那么现在呢我们就来思考一个问题啊,思考它的哪个问题呢,哪里搞清楚了啊,再来说他的挖掘,就是说他这个漏洞会产生在哪些地方,我们从两个角度讲,一个是黑河,一个是白河。
先来说黑盒的角度,黑盒的角度大家思考一下,这写了十几个,这是网上抄下来的啊,他说什么分享功能,转码功能,翻译功能,什么图片加载下载功能,图片收藏功能,说说什么采集功能,数据库。
类似功能的邮件系统编码等等,好我们大家看一下它这些功能都有个特点,什么特点呢,分享也好,转码也好,翻译也好,都是有数据的一个接收,并且对这个数据呢做了一定的这个,功能性的操作。
你分享嘛他肯定是要分享一个地址,肯定是有网站地址,那么这个转码呢也是一样道理呃,肯定有这个内容是吧,然后这个翻译呢也可以给指定网页去翻译,图片加载和下载,那就不跟不说了,我们刚才那本地案例呢。
就是一个图远程图片的加载,这个操作对不对,这些功能都有个特点,就是会涉及到一些加载过程,就是那是要对你这个数据的进行处理,怎么处理呢,就是像刚才说的翻译呀,或者什么对数据进行转码呀。
这些功能就是因为他要对数据进行这个操作,就说明他对数据有可能是要进行访问,要对数据进行预览,对它进行读取的操作,就是因为他有这些操作之后,才有可能造成SSRF,因为很清楚。
如果说这个数据它不去不取这个立绘的话,你提交上去有什么用呢,他要去你回去解析这个数据,才会触发你的地址啊,你比如说提交12701,对不对,他去解析它才行啊,他不解析怎么办呢,不解析就没有啊。
所以啊这个SSRF它在黑盒中,黑盒中,就是说我们没有代码未知的情况下面,去分析它这个漏洞,它这个功能点你是要找网站,是不是有这些功能来去测它,有没有SRSRF的,你根据这个功能的一个自己的猜测。
觉得这个功能在实现的过程那个逻辑啊,符不符合一个SSRF的一个产生的那个漏洞,原理,符合就给车,不符合就不用测了,是吧,这个还说的不明显吗,然后再就是这个关键字,从这功能上面肯定就会涉及到关键字。
你想象一下嘛,涉及到网站,那全参的话肯定就是什么,那分享就是需要是吧,粤澳地址宁可自相,那sell源代码的意思TG是吧,目标杠U就简写了,display显示server url就是这个源代码路径。
Image url,图片路径多么,域名地址,其实呢这个呢就是功能的上面的一个瑕疵部分,就是因为这些功能呢它通常遇到地址呢,就会随着这个功能呢去产生一些,参数名和参数值。
然后呢你就通过这个DE值呢可以去判断一下,有没有加载完存地址,有没有这个值,然后呢尝试性修改后面的职能,来实现这个SSF的一个挖掘,这个说实话啊,这这东西呢我讲的逻辑你能够听清楚的话。
你就知道这是个什么东西,如果听不清楚,你就完全不知道我在说啥啊,如果说听不清楚,我不知道我完全说啥的话啊,这就不是说你对这个漏洞不理解,你是对整个的一个那个网站构成的,包括基础性东西不理解啊。
但不是说对这个漏洞单单不理解了,你只要想一想啊,然后呢我们再看这个白合分析啊,百合分析呢说实话啊也是差不多的,百合分析呢简单来说呢就是没给情况的,像是这个类似我们说的文件读取的呀,这个什么加载的呀。
就是对数据操作类的这种函数都是属于,嗯那我们那个刚才那个本地那个源码呢,唉其实也是个非常简单的啊,你学过开发的,一眼就看出来,不学呢也能看明白,也不是什么大问题啊,就是那个男的吧。
这种pp写的其他语言的还不不太相同,这个呢具体要看更圆了。
这个写法呢也非常简单的,他解释这个post结束过来UR地址是吧,就是我们刚才表的体系过来的,然后用这个control呢去访问他去加载它,就这么个意思,就说你可以用这个写了。
也可以用这个pp代码呢远程加载这种叫什么,for open远程去打开这个文件加载,或者说for a file get in connection,就这种原生去读取文件地址信息,的这种写法去写也可以呢。
用这种啊。
他写法很多,主要就是他这个写法的函数代表,一式就是对文件的这个什么读取啊或者加载呀,对数据的处理,操作类的一些函数最容易造成这个SSRF,所以代码审审计里面去分析SS什么漏洞呢。
就是根据这些操作内函数的去搜啊,黑盒中呢就是看这个功能点啊去测好,那么现在呢我们就从两个角度呢,去讲一下这个SSF的一个利用啊,来讲讲他的李咏,讲利用呢,就要讲他的一些利用上面的一些差,异和一些玩法。
首先他这个利用呢就有几个价值,我们先来看啊,刚才我做这个本地案例,他有做哪些事情的一个价值啊,就是说他能干嘛,刚才呢去访问这个地址,对不对,来访问这12701好,他请求了。
然后呢我可以在后面再加上个端口,比如说我加个四个八访问,你看这个网址的一直加载不出来,一直卡了,然后这个防空白这说明一个什么事情啊,因为我们正常八零的时候呢,它有数据,就说明这个端口是开放的。
那么呢我加这个不存在端口,写个乱七八糟的端口下去之后,他卡了半天,最后呢发现结果啥都没有,那就说明他可以做第一件事情,但这个事情呢是需要数据有回旋的,你才能作为一个判断标准,但由于说数据有没有回旋。
我先啊他在利用的时候呢,也分两个区别,就是一个是有回血和一个没回血的意思,回旋的意思就是说有数据呢返回回来给你参考,这个呢就是有数据回线啊,如果说没有数据回线,那是另外一句话啊,我们等下再思考那个问题。
那么现在呢就是有数据回写,所以我就可以进行一个端口的一个,简单的什么扫描了吗,端口存在的,它会有显示数据不存在的,那么是吧,显示呢,是吧,那这是存在的这个白领logo80端口它存在,所以它有数据回血。
然后呢不存在端口,那么就没有数据回旋显示,那就是空白,可以做端口扫描,还可以做内网扫描,一个人说怎么这这怎么就内网扫描呢,很简单的道理来,比如说呢这1。41。1。1点四嘛,我可以怎么样返回1。3。
对不对,返回1。3,返回1。2,返回一点一,来返回一点一,看一下怎么了,喊我下面好,1。1有用啊,为什么,因为我一点一就是我路由器,那这个我路由器啊,是不是,那你看路由器的页面都帮我加载出来了。
你看看来,这不就是一个典型的内网的一个探针吗,内网弹针是这个意思吧,把地址一改改成场景内网地址,你可能说我怎么知道是一二,701111等一啊,内网地址有那三个断码,你都知道,学过网络都知道。
192的172的1010点的,大家都知道吧,这不用我说吧,六网那三个端,你可能说我哪知道是哪一个啊,可能性就那么多,你一次输进去会死啊,不会死吧,对不对,可以进车呀,你不知道是哪个端,你就慢慢测呀。
那三个端也没多少可能吧是吧,但是公用的那个内网端去谈,端口扫描嘛啊,对不对,除了这之外,还有哪些方法呢,我刚才用的是hp,我还用什么调协议,大写可以读取本地文件,你看啊,我D盘一点TIT。
因为他是用服务器请求服务器请求D盘,那是他自己的盘夫,对不对,是自己盘符啊,比如我们这里找D盘啊,那FIL减一,嗯一点TT我们读一下123就不来了是吧,对逗号协议还有什么协议。
DICT协议有哪几个协议呢,给大家看一下啊,来这几个协议啊,用的最多的就是app和file在DICT,然后就是这个叫JPHERPE,这个协议呢是用的高级用法,里面用这个玩这个协议哈。
前面前端的基本都用这个谐音啊进行探针,文件读取的web,就是用web访问的常见DICT去访问,然后这下面这几个呢,是根据根据这个脚本决定的啊,你像这个sf TP是吧,这个是那个SSC起的里面的。
那就说对方是LINUX服务器,可以用这个协议,如果是windows的话,他不支持好为LADAP,大家都知道,这个是个java里面那个应用的那个,轻量级目录访问。
在我们java里面讲那个JNDI注入的时候,那讲过这个东西是吧,所以说这个PPT里面没有这个东西啊,它要根据这个当前的这个什么脚本的一个,支持协议来决定,所以说为什么说这两个用的不多。
原因就是因为他有些不支持嘛,但这个三个呢一般都是支持的哈,还TFTP就是我们说的类似的FTP的那种啊,就这个意思啊,所以说这就是我们说的那几个那个伪协议啊,用的最多的就是前面三个加上最后一个。
这个最后一个那是高端玩法,那我们等下会说,那么这个file呢就是获取读取文件内容啊,对不对,你们可能都说了,那既然文件能够读,能不能写呀,不好意思啊,不能写,写不了,他这个伪协议呢。
和我们前面那个pp的那个什么鬼,用那个什么文件包含的那个什么伪协议,不太一样啊,不要搞成一样的啊,两个不一样的啊,好那么现在呢我们就用这个SSRF啊,这个这个协议玩法呢,把它先教会大家。
先教大家怎么去玩这个这个协议,然后在协议上面那些简单编译,最后呢我们再来思考一下,这个相关的绕过和这个黑河啊,就实战中呢这种没有没有功能的一些地方,怎么测这个漏洞啊,好我们现在呢来看一下这个这个玩法啊。
那么这里呢先玩的就是这个。
百合的方面的一个东西啊,打开我们的这条修啊。
去测一下这里面题目,这题目呢sf出的还可以啊,这个其他题目还不见得出的好。
我换了。
那咋开啊,给大家看一下啊,这个是白盒的玩法,是直接给代码,你然后让你知道是sf去玩,还有一种情况就是说我不知道的,完全不清楚它是什么考点啊,然后呢去测这个sf,那这个呢很清楚。
这代码一看就是远程序请求这个地址啊,去请求,那就把结果输出来,这里那是有回响的,提交的信息呢就是这个叫post url,那怎么玩它呢,那直接右键检查了,装个黑客八那个插件嘛是吧。
这个插件呢还有一些人不会装是吧,唉这个不徽章不想唉,说不顺呢,打点会装吧,这不用我教啊,不要说这教了呃,这是post的这个这个这个这个月熬啊,不灰呀,这里面这尴尬了啊。
然后呢你看啊这个是这个post去提交这个地址啊,那接下这个信息,然后再去请求了啊,来直接请求他来AP呢,然后请求1270001flag flag,猜一下勾,那答案就出来了,对不对,可能离婚啊。
那我直接在这里访问flag不行吗,你直接访问呢访问到本地就是flag,它就不行,哎他就不行,那我就提交了,让他访问本地的一个flag点pp,那他说非本地用户禁止访问,你个弱智咋办,他有限制。
所以我用这个呢这种呢服务器自己访问,对不对,他就访问到了呀,因为他自己访问自己啊,服务器服务访问自己啊,你这直接访问是你客户端去访问他呀,所提交啊,还有呢还有就是在这是hp协议吧。
还可以用file协议呢,代号协议,我先假设我知道他的路径啊,这家知道完成路径的,一般这种默认路径放在这个下面嘛对吧,就默认网站路径嘛没读,哎他这里没有显示是吧。
看U型版的吗,有没有啊,U型版没完的,读到了,看到没有flag了,看到没。
对不对,所以呢这就是我们说的啊。
这个第一关的一个玩法是吧好,那你再看第二关呢。
他这几个关卡过完之后呢,既把协议玩会了,又把这个常见代码都看明白了,就是白和分析里面去分析SRF是怎么分析,把这几个搞完,就是白河方面的分析漏洞的简单入门,搞清楚了玩法,但我会玩的,等一下呢。
我们再从这个实战中去分析,这种真实的网站应用,就是黑盒方面的思路,就是白黑双重加边啊,一个楼层呢把它简单的锅是吧,这大概都能清楚了啊,发错到这来啊,那我们按照刚才那个事物。
也是按照这个逻辑来对它进行操作,你看这个呢我把写上去之后啊,把他执行执行,它提示黑客,为什么呀,他说的要解释这个URUR呢从这里去匹配,他这里有个函数把进行过滤啊,进过滤。
然后呢这里呢X里面如果说等于AHP和JS,它才会进行下新机型,然后ATINS里面呢又不能等于,log house的E27001,那怎么办呢,那怎么办呢,也说他必须要用P协议。
但是你呢又不能用这个什么logo host怎么办呢,来告诉大家啊,可以采取绕过方式,基于IP地址,可以用什么端地址域名解析,禁止转换或者重定向,这十几个制度等下都会讲,CDF喜欢玩这种东西啊。
实战中呢也有这种机会来,比如说他精子转换,把1270001271转成一个金字,你可能说这有什么意义啊,来我给看一下啊,比如说我们本地去拼拼。
这个时候啊,我拼这个了,拼,IP地址的转换呢,270001拼的是吧,他是12701,我不写这个引,我写个这个东西呢,它也是请求这个本领,你还可以这样去写。
前面,就写上精子呢07F那他也是10701。
看到没,他也能解析,知道吧,然后呢这里呢除了16进制。
还可以对它进行什么八进制,对不对,还可以对整体的再进行十进制,就说你可以转一个,也可以转全部。
这个转换从哪里转呢,网上有这种接口啊,IP地址转换的。
对不对,那有这东西啊,你自己那就自己转啊,哦有这个接口的,那这有的啊,比如说12700转啊,设16进制,二进制。
十十十进制是吧,那你凭这个地址,你看,那看到没,他是解析成12701啊。
没问题吧是吧,那我就可以用这个方式啊,对不对,就写上去啊,因为呢他过滤是127的嘛,是我写这个改型吧,然后加上什么读取这个本地的,这也是本地地址嘛,来个点可T因为它既要用到app。
又要让你这个不能出现本地,那我就换一种方式了,解析呢是不是出来了是吧。
没问题吧。
好我们再来看这个第三个啊,好这是第三个,第三个呢你看啊又是一样的,那AP又这里面又多了几个了。
不能带1270呀,那这里面的说实话。
刚才那关就已经把他过了是吧,有一样的道理啊,就是没什么说的,因为他这个呢就是我已经联系他了啊,这个关呢和他一样啊,因为他只过礼啊,希林又过礼仪是吧,我不搞那个零就行了呗,直接写这个地址呢。
这不是个整体嘛,我全部都进行转换,可以吧,觉得没什么讲的啊,再说你如果说用它转换一个不行,这个就完事了啊。
来了三五啊,343354,这里。
啊什么代码讲一下呀,什么代码,这个代码讲一下,这还不懂啊,这一行行给你讲啊,结束的这个是显示源代码意思,这个是报错不提示,然后劫持post的呀,给这个变量UR啊,UR呢经过这个过滤这个这个函数啊。
变量给X啊,检测X里面的这个这个这个这个里面的索引,是不是等于hp,这个怎么APS如果全部等于AB和a as的话,就进入下面循环,在匹配里面是不是等于log host27001,最后呢,这个访问呢。
就是那个sf远程去请求那个地址的一个地址,再把结果输出来,否则的话进行输出hack hack这两个else,那就是上面这两个衣服的else啊,这么简单单码还要解释啊。
如果说你挖漏洞有这么简单的代码,那每个人都能挖到漏洞了,这已经是相当简单的代码了啊,如果说这个代码都看的很刺鼻的话,那就不用谈这个什么代码审计了,来看这个啊,也是post结束这个东西。
为什么说我们又要写到下面,这前期讲安全开发的时候,我不讲过了吗,post do是close,我不讲了,你可能还不明白,我讲的你应该明白了吧,其余二的参数啊,为什么说写在这个下面啊,就这个意思啊,对不对。
然后呢一样道理和刚才一样嘛,无非就是那现在变成零和一,这里面那还和刚才一样嘛,还是用那刚才那个可以发照过他。
我看能不能行啊,看一下这个还能不能行。
绕过它啊,不行,我们再做下面的应该还可以啊,我写了几种,对不对,啊不行了啊,因为他这里呢有个乙,还有你看他不能带一和零,你看没一和零的有检测啊,就你不能代理一和零,然后log host也不能带,对不对。
那你可能说哎呀这个该怎么办呢,呀这个该怎么办呢,告诉大家啊,这个教你一个新的玩法,教个什么新的玩法呢,看着啊,刚才说了他的绕过,讲了这个,哎跑哪去了,来端底子域名访问,我先看一下短笛子能不能行。
什么叫短笛子,大家都知道端王子生存,就是我把那个127。001呀,我把它搞成那个,搞清一个那个对不对,那个1270。01那个点滴滴是吧,这是我们那个地址嘛哈我让他短底生成一下,看一下有没有关键字。
这他妈的什么鬼东西啊,我登登的登吧,呐这是端粒子吗,对不对,哎,端你妹呀,什么鬼呀。
哎。
烧了也不行,你这他妈的垃圾垃圾呀。
这平台不行啊。
还要输什么验证码,呐变成这个了啊,那试一下看行不行呢,复到这里来,还是一样,为什么,很可惜啊,他这个里面带了个乙,这样他妈真是尴尬,你不答应你就不行啦,你这个神经病呐。
说这个单弟子呢也不好怎么说这个东西是吧,但他要是不带那个一。
那就好办一点,就是这个东西呢,你就是他因为他每个都生成的模型呢,它不一样啊,你可以他改变他那个写法,让他那个生成的时候再规则变换一下。
也是OK的嘛,啊啊这个,哎呀我懒得搞了啊,这他妈的一直给我闹眼子,我搞个log house似的,那又带一他这个域名带一,那没办法啊,那我懒得搞他了,我交代一个,你们说用这个是吧,这什么鬼东西啦。
你钓鱼吧。
在,打都打不开,这个是什么好,那我试一下啊,比如说这个啊。
看行不行啊,很抱歉,这里不行好,我单教大家一个例子,刚才有人说这种什么改host的,你说错了啊,不是改host的,改host的,你改谁的hos呢,我刚才说这个操作里面说有个人有个人说改host。
改谁的host,改你的还是改服务器的服务器,你改不了吧,你真改你的改你的有啥用呢,服务器请求伪造服务器拿去解析,你改你的告诉他,你按照我的解析吗。
想啥了啊,回答都错了啊,你改服务器你怎么改呀,你跑上去叫他开电脑给你改嘛,新玩法是吧,怎么改啊,自己搞个域名,搞个域名吗,你自己用你的域名添加个记录,随便添加个绑定本地不就行了嘛,来搞个test。
绑定1701,确定添加,那么对方访问test小于八点com就指向一二,信尼就是他自己呀,好理解吧,你不让我写1270,我这样玩该行了呗是吧,来看一下,哪TESTA下第八点com。
因为很简单,当你你这个小白点com,你看想拼一下嘛呢,那指向本地啊,所以他去访问也是本地啊,你刚说要改host,改host啥用啊,改你自己的,你自己写写本地有啥用啊,服务器不那样。
这些啊你怎么改服务器的。
你改不了啊,所以说你就搞个生肖的自己网上搞个这个,勾。
哎啥情况,怎么还不下啊,哎什么情况哦,哦少了个flag啊,吓我一大跳,勾出来了,你看是吧,结果就出来了来,对不对,这个就是我们说的什么运解析啊,采取域名解析的方式绕过他呀,当温当温那个刚才没有成功啊。
那个没有成功,可能是那个前面有一样啊,那个情况导致的精子转换,刚才也说了是吧好这是那个这关的哈,我们来拿这关,这个该知道了吧是吧,什么内鬼啊,你要看这个啊,这个呢他说呢长度不能。
那STRLN这里买英文单,英文好,你就知道长度host不能大于等于五,就是长度不能高了,这里面的给我们出个难题是吧,但是呢有这种玩法,啥玩法呢,写个零给PP好了,零代表什么,也是12700。
1的意思是长度限制五,那我就直接写个零,代表也是代表,那除了这个之外,还有哪种玩法呢,还有这种啊,还有这种玩法叫什么,真的,这种呢这种写法你可能说这啥啥写法,大家应该在IP地址都是。
或者经常看到这种东西,它有些地址呢就是这种写法了,在那个一些端口里面,如果你有细心脑,会看到有些地址是这样写的,里面写种东西对吧。
也是这个意思啊,对不对,那这个就写个零呢。
也代表的是那个亚西尼的意思,啊虽然他这里解析是0。01啊,但是你写的这个A1上面呢,它代表是127004啊。
你也可以写个0。1,那他也是OK的,这个是那个限制长度的一个情况啊,这这个呢没什么太大压压价值啊。
我们再往后面翻356的。
然后到现在呢我们就只玩了hp和hp啊,abs还有那个file协议的啊,还没玩其他的,我们接下来再看这个啊,然后这个呢是限制为三嗯,那也是一个一道理啊,就刚才那个玩法呢和它是通用的,刚才那个是限制五嘛。
现在就是限制三,所以呢我们就只能加零了,嗯就代表这个意思是吧,这没什么说的,这两个都是先字体,就是把那个地址改成这种能够支持的啊。
这比较简单,没什么话说,我们看357的啊。
好再看这个这个呢有价的限制价什么限制呢,大家可以看一下,来叫读取远程bellion goat host blame,这啥意思啊,读取你这个post里面那个值呢,获取这个IP,再把IP输出来。
现在还做了个限制过滤,IP里面什么这个什么东西一大堆啊,然后呢去输出,这好像也看不太明白了啊,我们这里呢他是个什么概念呢,我们可以试一下啊,比如说我写个apt这个1270001看,那是个什么反向啊。
点进去,那他就提示呢这个IP在输出IP嘛,那就是个接收IP是12700,然后呢后面的输出和由这个截止结果呢,输出IP是这里的呢,输出IP就是你的除法规则,这个里面的规则呢我们也看不到究竟是啥意思。
就是说我不能触发这个衣服,让他执行这个echo才行,对不对,要执行这个echo才行啊,约好了,不用这个forget呢去读取它,这个是那个读取什么造成sf了,否则就会输出这个,所以说他这个是怎么玩的呢。
这个呢用到那个重定向的玩法,什么叫重定向的,这里还有个重定向没有讲,刚才那是用域名解析,那这个重定箱呢和那个域名解析呢有点类似,这么玩是吧,看着啊来,我在我服务上面呢放个这个地址。
这个是前期我们写过的代码,这个能不能用,玉米不能用啊,他这里呢是读取那个IP地址,利用域名呢也是OK的,我们可以试一下呢。
你看一下行不行啊,来再在下第八点com嗯,来P,那我这里执行之后呢,他直接提示的大家可以看到呢,显示也是12701,但这里还是显示这个IP,因为它解析它呢是12701,对不对。
而且它的时间是尼我们这里是个什么情况啊,来给大家看一下啊,播拿重庆一下。
那写成这个代码,这个代码是啥啊,文件头里面location就重定向,重新到本地的log by hot i t里面去,这个过滤是啥意思呢。
就是说它只能加载外部的地址,你比如说我写个3W,啊我写个三到点,你看他就能解析这个IP地址,那他能把这个小礼八点看,我们能解析出来,那他把小于八解析出来,就说能加载外部地址,那我写这个IP地址。
它能访问到这个小标点com,解析到这个把这小标点com解析到IP,但是呢你如果输12700。11的话,但是他又多了个IP,就是进入这个衣服里面,就是说他这个设计题目就是GRI,能够解析外部的。
但是呢你的答案你只能请求本地的flag,才能得到那个答案,你一旦请求本地的这个12701log house呢,就会触发这里衣服实现这个输出的IPIP有问题,所以我们就只能怎么办呢。
我如果用这个test去小于八点com的话,刚才那个可以,因为它只是对这个字符呢做了过滤,他只是对这个字符做了过滤,但是他没有对这个解析地址过滤,而他现在用的是get host by name。
就是对这个地址呢也进行解析了,所以他知道这个是12701,那么你写上去它依旧会触发这个IP,对不对,能理解吗,就是这一关呢比刚才那个域名解析,那关呢多了一个解析过程,就刚才那关呢。
只是对于这个字面上的这个字符串呢,数据呢做了这个字面上的过滤,而现在就是说他没有对这个字面上过滤,它只是对你这个地址能进行解析,你即使这里写的不是127001,但是你解析出来还是12701,它就不行。
它就不行,所以我们要既要保证它是12701,同时呢还不能触发这个规则,就怎么办呢,就进行重定向,重定向是啥意思呢,run代码作为转发,就是在代码里面让他去跳转到本地去读。
然后呢叉叉点pp呢是我一个IP地址,所以他去解析这个远程地址的时候。
就不是本地,从而通过这个if f认证,但是当他去解析这个地址上面的什么,插在点PP的时候呢,去访问这个文件时候,又把它重定向到哪了,本地的flag的PP,所以这里一次性啊flag来读取他的实习。
但是成功的读取到了flag,就是因为这里呢把重定向了。
low不low啊,这个东西。
好再来看这个3582啊。
好然后这个呢这个代码更简单了啊,来过滤app啊,过滤什么CTF这个东西啊,他也不是过滤匹配啦,匹配里面有hp有CTF有这个效,然后呢才会执行这个echo,这个染成这个sf的这个漏洞函数。
也就是说我们必须里面带有这个AP啊,带有的东西,那你可能说那这里面的不简单吗是吧,那就就异想天开了就会简单了,就是打UR是AB对不对,然后那个E27。0。01点flag是不是,执行哎没反应。
为什么他需要带AHP,带CTF带秀怎么办呢,怎么办,这样玩啊,看着啊,前面写个CTF,然后写个点一个AD的符号。
因为这样写呢你可以看一下,它不会影响这个地址的一个什么请求的。
这个东西,这个写还不行啊,这个浏览器上面写可以啊,这样去写,就说你这样去写呢啊,我们可以访问一下本地的啊,那你看我这样去访问这个地址,它依旧访问的还是本地,看到没来,所以说这里基带了CDF访问的结果。
还是也许你就实现这个效果,然后这个后面这个修呢也要待该怎么办呢,写个井号修啊,或者呢写个信号修啊,啊写个井号修啊,因为井号呢通常代表没什么反应,看下这里勾来,结果出来了,就是你要写到让这个结果不受影响。
同时呢东西带有他那个意思,对不对。
好那358呢也不是很难的问题啊,这个呢就是我这个笔记上面写的这个清楚的。
就是一些UR上面那些知识点,你看这上面写了来,那可以用这种方式呢,去捞过一些这种先知这种域名的,就是那你比如说啦,他必须要限制自己域名为这个是吧,你就可以写个at符号,然后再加上后面的地址。
是不是大不大,他看到有这个信息是吧,就和我们上节课那个cs阿伏那个老虎一样是吧,后面再写个这个地址,他以这后面地址都为准,嗯不就捣鼓了吗,自带有这个东西,但是呢以后面基础为止。
就他要检测是本地同源的嘛是吧,但是呢你后面一带他就请求外B选。
好这是这个题目啊,然后呢我们再来看359,3593960,那我就只演示一个啊,因为两个的使用起来操作是一样的,这个呢是一个全新的协议玩法,他这题呢在打开的时候就提示给你了,无密码的MYSQL。
就是说他的密码为空。
root密码为空就告诉你了,怎么打,他在微一些玩法呢,刚才介绍的时候呢,我们介绍过几个,一个呢是叫做什么ATP file,还有DICTDICT,我刚才没有用,因为这个DICT和AABC都差不多啊。
还有个叫GOPHER,这个呢有个专门的叫法,像我们部全部工具使用它来干嘛呢,可以生成payload去打,啥意思啊,那我举个很简单的例子啊。
就怎么说呢,来我们来看一下啊,来比如说下啊这个通达这里啊啊不不不充的啊,就这两好吧,192。168。1。4啊,然后呢他下面不是有个XSS的一些这个漏洞呢,我们就来先测一个啊,是不是这个X啊,是的啊。
好这个地址一访问就会触发夸张,对不对,他一访问就会触发夸张,然后呢我们刚才这个漏洞呢是这么玩的是吧,就是让他去请求这个触发漏洞的地址,让他去请求给他也抒发夸张,你看就说咱这个时候。
他请求这个地址的这个夸张地址嘛,然后请求夸张好,这很简单,为什么,因为都是走的AP协议,但是有些漏洞他是不是只为G协议呢,它不是的,那么这个SSS5能不能去利用漏洞呢,他能利用漏洞。
为什么说能利用漏洞啊,就像我刚才举这个例子啊,这样我访问这个地址,它会触发夸张,对不对,然后呢我就让这个SS方呢,让这个服务器呢去帮我自动驱动,就实际上是服务器呢去访问这个地址。
那么也等同于他去触发这个夸张的一个代码嘛,然后这里呢他也夸了,对不对,他也触发了,好理解吧,这是一个典型的HTTP协议,触发那个漏洞地址,就说你这个漏洞呢去触发那个地址呢,很简单的道理,来我一说。
大家又不明白的,这他妈的什么鬼东西。
讲的莫名其妙,听不听得懂啊。
其实每次我讲课啊,我都是很想把那个思想光给给力啊,但是奈何呀这个每个人的这个基础啊,他是不一样的啊,这个是实在是没办法啊。
毕竟怎么说呢。
莫得办法呀,对不对,那你就像这个漏洞一样。
好就拿这个我不好怎么举例子的了啊。
就比如很简单到你这不是这个是个漏,是个那个是那个租漏洞吗,然后你去利用的话,你就可以怎么样呢,知道这个地址上面有个漏洞,比如说你知道啊。
然后呢你这里呢去触发它,立刻就直接后面敲注这个注入代码是吧。
写到后面啊,然后呢你这就去读,就是说服务器的帮你去形成这个例子,你可能说那你妹的我让服务器请求,我不为自己请求啊,有人就会有这样的疑问,那如果说有这样的疑问,你就是白学了SSF,有没有这样的疑问呢。
问一下来会不会这样想啊,啥意思啊,讲了半天是吧,有人都已经糊了啊,都完全不知道我在讲啥了哈,其实像像现在每次我讲课,我都永远站在这种基础差的人的这个思想上面,再给他讲。
因为我很清楚这些人他现在是个什么情况,只要我稍微讲的不对的话,他就听不懂了,那我刚才说了啊,我来我把地址写上去,对不对好,那我呢你请求唉,他请求这个地址唉,我就知道了,哎我去参加出漏洞。
我在后面加参数除2001啊,爱德华呀,然后去注入他是吧,这个意思对吧,这样写上去,为什么要这样写呢,因为这个疑点湿呢,就把它当做是个内网地址,比如说这个网站搭建在我内网,我刚才准备开虚拟机。
给给给他打几个雷网去演示的那样,看起来更高端,更显示更好一点,但是我没有搞,因为呢这本地答也是一样的嗯,搞那个的有耽搁大家时间,我现在说这个1。4是我内网地址,内网地址呢有个应用对吧,有个应用。
然后呢我去访问这个,让这个SRF呢去请求这个内网这个地址,去请求这个地址,然后呢去利用这个漏洞,这个漏洞利用呢有两个特点来,我把现在写一段。
不能讲上汽的FHS,我一讲又说我什么鬼。
老演员老演员我都听了,这个头都大了,这个疑点四呢就好比是这个什么内网的,一个那个什么网站IP上面呢,有个这个什么这个服务楼的好,被这个SSS5呢看证到了,那么就可以利用这个什么SRF呢。
去租这个漏洞是吧,去利用这个漏洞啊,对不对,是这么个概念啊,好你就不要问了,说为什么要用sf去探针去利用它,为什么内网地址你外部不用sf,你能访问到它吗,他是个A网地址啊,外部访问不了的呀。
你必须接触SSF,因为这S服的是服务器在访问它,服务器和它是通讯的,你没有和他通讯,你要接入SF漏洞的去访问这个1。4,去谈论它,所以你就在那个D上面sf让他先请求这个例子,然后呢再请求N等于等于一好。
然后呢再让他请求什么比这个什么older by啊,这一直往下进行是吧,就一直一直一直下去,好非常OK,思路是没有问题的,没问题是吧,好那么现在换了啊,现在换了,换了个什么东西呢,第一个,如果这里有漏洞。
这里有漏洞是吧,有漏洞也知道是什么漏洞,比如说这里装了个redis my circle,对这种服务呢,假如它上面呢有漏洞,我们怎么玩呢,难道用HT去访问,出发吧,这想想也不思呀。
一个数据库上面漏洞利用个at去访问,你访问什么东西啊,啊这个漏洞是这样访问利用的吗,不对吧,是这个意思吧,也就是说在没讲这个go g h e r那个协议之前,你的这个利用是仅限于TP协议的。
或者说其他协议的,就是那个漏洞支持协议web上面的事情,那非这个web上面的一些漏洞的话,就没办法利用了,是不是没办法利用啊,为什么,因为这种服务的他的数据传输不走app,你用app访问不了。
那就不谈什么漏洞利用的思路,这个概念能理解吧,所以就是这个原因就造就了这个GH啊,GGOPHER这个协议,这个协议就支持,然后呢协议呢有款工具啊,这款游网工具。
叫the most,然后这个工具的地址就是专门给人写出来的,也不用去考虑什么原理不原理了,你只要记住这工具呢支持就可以了哈,至于怎么玩,我们等下给大家演示一下,我先把那个工具的地址打开哈。
那就这个他说了,Least to us,我们用这个打开翻译一下,给他看一下,啊翻译一下啊,妈的翻译啊,你给我,他说leais to了,对不能怪,Last leak for,哎什么鬼啊,这读的。
翻译一下啊,哎他不翻译算的啊,那大家看一下啊了,他说这个TASS呢,能给这个PAYO的一些这个以下啦,买SQL的post sl的FSCGI的什么这个这个man,这是后面也上过了啊。
还要上的release的the boss SMTP的,它支持的其中的一个payload利用,如果如何利用它呢,我给大家演示一下啊,它要生成这个利用代码。
其实就是利用这个协议,把你那个数据呢,以他正确接收的东西给他发过去,就这么简单,它这个工具呢就是帮你把你利用的代码,换成这个协议支持的语句,让他自身发出去,就是说以前呢因为那个app他发不了那个漏洞。
利用代码别人不接收,因为那个协议不一样,所以呢他就利用这个协议呢,完善出他支持的东西,然后呢他需要用到这个python2版本啊,对我这边用Python r7这个版本的Python,要一去运行这个程序。
然后如果使用它也是呢直接杠杠a point,加上你要这个工具的应用,比如说是MYSQL啊,他就会问你MYSQL的账号root,然后你需要执行的密码,执行的语句。
snack的snack什么查询写入个后门就是什么,后面,写入一个pp后面是吧,1fel dot f post,密码为X,这个后面吸到哪里呢,intrl out to f就执行这个语句的意思啊。
写到这个VARWW,这是默认路径嘛是吧,然后密码按交叉点PP回车,那它就生成了,你看它就生成一个路径呢,叫GOPHER127003306,然后访问这个地址,这啥意思呢。
就是说这个代码代表的就是啊用root登录之后,然后呢去执行这条语句的意思能理解吗,就是说他用这个协议这个数据呢,就是相当于完成了这个执行这条语句的意思,就是你发过去呢。
那个MYSQL他是能够知道你的意思,其实他这个概念,那就有类似于那个内网里面搞了个隧道技术,一个道理,就是把某个协议呢转化成某个协议所认识的,不然的话你用app去发这个东西,他哪能吃呢。
所以呢我们先来试一下,看能不能玩这个地方啊。
那这是三五器官对不对。
然后呢你看啊当我去输入这个地址的时候呢,我等于输点,OK他会请求这个地址,对不对,然后我可以抓个包啊,看他请求的路径,新车那就是U等于bot,然后这个是等于那个地址嘛,对不对,然后这里有个路径余额。
我就把它进行一个转换,把它复制过来,这样的传出的那个地址信息哈,U等于左,然后呢后面是个U2地址,那肯定就改变这个URL地址,因为真正上来讲,我们就肯定是这个AB返回一下7001是吧。
然后去请求这一点心理一这个意思,那么现在呢由于我这里他题目已经给到过了。
是攻击这个MYSQL,所以呢我要攻击MYSQL的话,就不再是读取文件了,我直接攻击MYSQL了,攻击MYSQL呢我就用MYSQL来生成一个root。
执行这条语句的一个意思,语句生成出来的这个协议就是这个代码,把这个代码呢进行复制粘贴,copy到这来。
嗯第一次呢,后面的在哪写的在哪,现在来之后呢,由于它生成出来的,这个月熬呢还要进行一次编码,海拔进行编码,意思啊,不编码是不行的,把它复制一下啊,把编码一下哎,所以工具叫什么名字啊。
啊当然你可以在这里编码了,他这里有知识呢,又要以close,这里有个编进去,还把编也编好了啊,我把编程是后面是写后面去了,什么鬼,变变变变变,他妈把低音都变坏了,那直接在这编啊,我就不用这个插件了。
这个插件编编编,他不能指定编插件,有点老了,新插件可以把它编一下来,那这个是解码这个编码的编码,把替换一下,因为它会自动解埋是吧,到这来这个就是他说给他的,因为编码意思就是说发过去,那对方就会自动解码。
解码成这个圆形,知道吧,因为你如果说给这个地址给它的话,它会自动解这里面的东西,那就已经和我们原始意义不一样了,就是说它的本身呢就是这个原型是这个样子的,然后呢你为什么要变后面的呢,因为你比如你发过去。
他会解这个后面的,他解这个里面,就相当于把那个原来的就少了一次,所以我要先把这个变大,让它解出来,成为这个样子才是太原型,知道吧,所以说为什么要这样编码的原因,你可说那怎么不背背前面呢,因为前面的不用。
他不会解码,他只会截这个什么百百分号的这种东西啊,所以呢你看啊,你看现在啊。
因为刚才实行的是写一个码intro f去,写的是差点pp。
所以呢我现在观察一下这里有没有差点pp,分析案子里没有。
当我执行之后好,然后呢刷新一下,有了有了来看一下,进行法律执行非常复,ls s斜杠获取可当前途径,读取根目录下面有个叫flag点TT,那么就直接读取cut blg点TXT答案出来,这就是这题的解决方案。
也使大家第一次认识到GH啊,GOPHER这个协议,它攻击对象就是支持那几个数据库服务,和那些几个那个服务,就是你用它呢来实现攻击啊,这个是SSRF的这个CTF的高端题目,就涉及到漏洞利用的这个知识点啊。
因为这个漏洞利用呢,除了本身的非挖补攻击和这个东西啊,我把它写到这个笔记里面去,但是有些人呢不能理解这个协议的一个,大概介绍啊,就这个协议呢它有个特点,就是我们说的啊,由于有这个。
部分协议呢这个app啊,这种发,不支持,可以使用这个什么来进行精神,Are you are,就是我们说的什么啊这个什么这个MYSQL啊,这个这个的意思啊,这些是吧,就可以用它呢来进行这个生成。
这个它支持的微信的软件通讯,那么一般他这个利用呢就是我们说的啊,他这个应用方面呢,就一般在这个漏洞利用获得个什么信息,收集丰富这个全国服务的新发是啊,然后利用工具呢给这个使用。
刚才我说的这个这边写好的啊,用它来生成那个payload,嗯这是那个概念啊,好那么把这些讲完之后呢,就两个问题,第一个问题那就是刚才还有关吗,这关呢就和刚才一样啊,还有这关卡直接回关和刚才一样啊。
因为这个第二关的就是换了个啦release的一个打法,刚才打打MYSQL。
这个就是打release,就是reduce visu,选返回呢去提用,它,就是内网里面它存在一个reduce的,一个这个这个这个服务,Now release,这个呢我们后期会讲。
它现在呢我讲了大家就不明白了哈,就没必要讲,大家有兴趣可以答一下啊,这网站队过关的,倒批的,他你可能说哎呀好牛逼好牛逼。
但实战中的你会发现碰不到,因为他这个题目呢都有前提条件的,你看刚才我打到MYSQL是个无密码的,对不对,然后呢一打release呢,可能release有未受权,那实战中呢你别人不撞release。
你咋办呢,是不是,所以说你不要去说哎呀,很牛逼很牛逼,他这个是因为他是本身设,而且是这样的,所以他有这个安全隐患,你实战中的拿回去哪有知道他们有没有MYSQL,有没有release。
那么有没有都是个问题,有没有CD,有没有这个SLF都有问题,对不对,就不要和实战中去比较啊,因为他这个东西呢一般是CDF里面除,然后这个解答的实战实战中遇到的时候呢,才会有这么一除,但是有这一出呢。
并不代表你会用到看上去花里胡哨,实战中能用的机会很少,好这个是我们那个东西啊,然后现在还有一个就是我们说的那个无回显,这个是面试题经常会问的,面试问说这个SS5无回显怎么办,基本上大部分温政无回写。
你只要记住一点,就是我们说的那个叫主动和被动的一个事情,然后还有一种那就是本地啥意思啊,这个内网里面学过内网的,对这种什么无回血是相当有经验的,因为内网里面经常会谈及到这个内网,三线的问题。
就是说一种呢就是让木马主动出来找你,还有一种就是你主动去找受控的目标,这和那个五回线15,那是通用的,无核显的意思,就是说没有结果返回回来,没有返回出来,你可以让他主动把数据交出来呀,对不对。
或者说你主动去找他呀,你可以说我怎么主动找他呢,你可以想象下啊,有些无会险是可以有,比如说命令执行无悔险,你怎么判断呢,我就拿这个面试题问一下大家。
就是我先讲无回线思路,讲清楚,你在思考这个sf无回线你该怎么解答,我问一下大家,这个命令执行了,它没有显示你怎么判定这个命令,这个东西我需要两个答案,最起码两个答案,你不要搞个答案,我啊你觉得怎么搞啊。
那命令执行怎么说呢,这个RC1啊,这个这个字体啊,RC1无回血,怎么判断对,你们回答的都是刚才那个类似那个DNS是log一样,就是让他对外发包嘛,然后你在这边接受他,是吧,是这个意思,这是第一种。
这是最常见的一种,这种回答不上来,那就是完全没有这个思路,还有一种你只要记住一个叫真,一个叫反,那我打个比方例子,我这里进行一个监听,或者说进行一个什么检验,什么,我监听一个端口。
我让他执行去请求我这个IP地址,我这边接收到接收到请求了,那就说明他执行命令嘛,是这个意思吧,好这是第一种方法,还有没有方法,还有方法,我们说了,这个是他主动出来,我主动找他怎么样啊。
你们说那那那那怎么找找他呀,你让他起个监听,我找他不一样的嘛,应该说他没有NC啊,他怎么启动呢,他没有NC,那怎么启动呢,没有WC,你可以想办法让启动起个那个类似的Python终端。
他有跟Python就可以好,即使说这些都没有,还有一种方式怎么方式啊,你写一个文件到他的网站目录,你去访问这个文件存不存在不就行了吗,讲激动了啊,把这个手机都搞掉了,对不对,刚才大家觉得我说的对不对。
是不是这个道理,你用那个RCE,你去写一个文件到他那个网站目录下面,你访问那个文件存不存在不就行了吗,他执行他才会有文件呢,不执行哪有那个文件啊,这个思路就是完完整整的,你找他,他找你的意思啊。
你只要记住这两点,你都能回答两条上来,那别人面试一听,小伙子不说成功是吧,你一个一问,你老跑过来问我,哎呜呜,这个误会线怎么怎么办,不要问了呀,教你学的时候不学,老觉得自己学的会会会。
连个他妈真反向那些问题都明不明白嘛,我当个鸟啊,那么大家把刚才那个那个那个东西。
思路想清楚了,你说这个SSRF他这个不会写。
你说该怎么办呢,那不是一样的一个事情嘛,对不对,你让他访问这个走app去访问一个外部地址。
你正面去请求个地址,那很简单,道理呢,我这里的开这个那个那个Python呢,开这个请求能实时监听到回话呢,我开个8000端口的请求,然后假如说他没有回血是吧。
他没有回血,假如说我看不到回线,我也不知道这个我用刚才那个地址,192。168,在那个地址多少零九啊啊,8848 12的那个32还是刚才吧,那我也不知道他有没有回响是吧,我直接让他去访问一下对吧。
来访问下这个8000,我假如说我他没有回血好吧,我把他回血给他删掉,我做做做东西。
我就把它做真一点,免得你说你妈的有回信有回血,我把删掉吧。
把他回血,那个哎那个文件发现在多么里面。
那他有回旋呢,嗯他这个有回血,那就是是哪一个代码里面会先接收到头部,应该是这个执行执行应该不是的,唉他这个算了算了。
就当他没回血吧,这个还不好删,你看我去访问他,我当时他冒了会写,你看我也访问,看到没了,这次结束了呢,有人访问过,有人发过,就说明有人出发呀,解决了呀,但显示也没显示,啥都没有的,这边啥都没有。
那还不等同于没回血的意思啊,这就是一个很简单的一个例子啊,对不对,好这就是我们说的啊,这个无会显得一些事情啊,这个sf呢它由于它不能写文件,所以他大部分的五和弦呢,都是通过让他主动出来的个情况啊。
或者呢你通过这种那个写文件的方式啊,去写到他的目录下面的去判断,就是有那种其他的方法来去判断的时候啊,才可以用到,否则的话你这个不能写文件呢,那那一般只能通过这个什么让他主动出来。
走这个流量。
好这个是我们说到这不会显的问题啊,那接下来让我们思考一个问题,我刚才演示的是CTF的题型,全部都是有源码的参考和分析呢,去从上面那利用到了这个是hp协议啊,这个file协议,然后这个GOK7R协议是吧。
然后从上面那学到的这个什么过滤的绕过,什么这个重定向绕过啊,金子绕过呀,域名这个解析到过,还短文件的一些这种短网址生成绕过呀,还有这种是吧,网址上面加at的符号来再去干扰啊,是不是啊,这都是这样讲的哈。
那么防御我就不写了啊,这个防御的你可以自己下去看一下是吧,有些人呢有这个什么防御要求的,可以看一下,那么接下来我们就思考啊,既然漏洞利用呢,从黑盒上面可以看白盒上面看代码。
那么黑盒上面呢如何去探知你们这个漏洞呢,来我们来演示一下啊,来我们打开网址看一下,你给我看这个例子啊,大家我先看这个例子,这个地址是个请求地址呢,上面有个叫return url地址,那这是个地址啊。
我直接访问他,他是这个地址,对不对,我这里呢把这个改成呢看着啊,改成这个LOCALHOST的时候,那它变成这个地址,那这直接像这样去访问他的时候,你看啊。
这个东西我把它改成logo host的时候变成这东西,这有可能就是一个SSR,就是说它本身在本地方我都cos的,就是这个页面,这个人订单系统,因为这个网站都是这个网站嘛,是他参数传递嘛,对不对对吧。
这样子呢去访问探索它这个页面,对不对,然后那个落后时呢就这个,然后你写127001呢,那他就是这个吧,你看170是这个弄个号是哪一个,这也不清楚有没有啊,可能里面有过滤也说不定啊,然后这是第一种啊。
还有一种呢我有两张图片,这张图片呢因为这个漏洞不存在了,是以前别人挖到的啊,虽然说时间有点久远了,但现在还是有些大人存在,那比如说这个人人网,之前就报了一个人人网这个分享链接,你看啊。
分享的link地址里面分享到这个了,写个百度点com,看上去呢是分享这个百度的一些资源上去,后面呢写个艾特10。1016。1,然后下面的就出现了一个什么web loser,login的一个登录。
这啥情况,其实呢就是说人人网呢自己这个服务器的,这个地址上去,这是那个地点那个地址上面的信息,这个看着不明显,在U道这里那个看的更明显。
来去翻译一些值的时候啊,翻译这个染成地址上面的一些英文,就是说这个页面嘛,这个网站上面呢去翻译它的英文,然后地址呢给到的是10。100。21。3,这是内网地址,让他去翻译,结果呢显示了网易汽车用户中心。
啥意思啊,其实就是那内网的一个web,就这个IP地址,就像说通过这个翻译的方法,请求到自己内网的一个网站上,选,请求到这个网易汽车用户中心,这个呢就是我们说的这个恒河中的一些测试,除了这个之外啊。
其实呢还有那我给大家演示一个啊,这个呢我不知道修没修复。
这个是叫导出类的一个XSS文,网上有这篇文章,这文章有一些小理难理解啊。
文件导出类的文章啥意思啊。
大家看着啊。
比如说这个PDF导出,或者说格式转换,啊就是那种类似的啊。
大家先思考一下,这个格式转换会有什么样的这个逻辑在里面,或者说这个编辑啊编辑PDF呃,你可能说这有什么逻辑在里面呢,比如说这个导出的呀,或者说怎样啊这个pf的编辑啊,或者说转换的啊这种操作啊。
比如说这个编辑啊,就拿个PDF编辑一下,对一个PDF呢进行编辑,或者说对一个word的进行编辑,然后呢进行操作。
首先我们随便呢让他找一个这个PDF,那随便找一个。
好这是那个代码,好代码里面的写这个东西,我们点那可添加文字,然后我写上去点击这个应用,那么这个PDF呢就是相当于在里面呢,就加了我刚才添加的东西。
好它就会这个生成这个相关的文件是吧,就会有这个东西,我先登录一下啊。
哎这登录怎么没反应呢,什么鬼东西啊,这是,好登录了,好你看啊,就是说我去背个文件进行编辑啊,这里头可以添加图片来搞这些事情呢,对这个内容进行添加是吧,然后呢在可以点击应用呢就把它生成出来,大家试想一下。
在这个过程中,首先他打开了这个PDF,打开PDF对PDF的内容进行操作,然后呢你再添加内容呢,再把它进行这个应用之后呢,他就会导出这个PDF,在这个过程中有没有和这个sf挂钩的事情,大致想想啊。
这个代码我可以把添加为一些这种地址,如果他有对这个内容,首先啊编辑PDF和导出PDF,编辑PDF必定它对内容呢进行了预览,必定对内容进行了预览,内容里面我用JS代码让他去请求一个内部网络。
比如说我请求这个DNS slog地址,如果他在解析这个地址的时候,是会加载这个JS代码,会请求一个,比如说12701或者这个这个地址,就是说其实这和夸赞有点类似,就是说他会执行这个代码。
那么一旦执行的话,如果他请求也也要谢你,或者请求过什么地址,那我写个这个叫info标签,你可能说为什么写个info标签。
info标签是个啥东西啊,我先给他本地演示一下啊,这个思路一定要明白啊,这是妥妥的SRC里面的思路,有人到喜欢说隔壁的SRC特别强,我从来不教,其实我跟你讲啊,我也不是说不教,只是说呢我的车主脸不一样。
我无法说白个科又能侧重其他字典呢,又能车主SRC,但是你要明白,你把这个学好了,你只需要在网上看一下文章,自己多想一想。
很多东西呢都是固定,吴勇呢去恶意的什么说哎呀,隔壁讲的好啊,怎么样,你想多了啊,都是一个知识,没有太多说不一样的,他无微不一样的,那可能就是一些经验了,但是你这东西呢你是可以玩自己搞个了,如果打开地址。
你看这个地址就会搞一个小框框是吧。
然后你们可以限制大小是吧呢,比如我把它改成这个百度步骤方法。
改个小于八点干嘛啊,这怎么行嘛呢。
打开这里,那这个地址就是小于八点com的地址来看到没,这是小于八点了,只显示呢不太好吧,就是什么东西好,大家试想一想啊,这个代码让大家看到了。
这是个一四,对不对,是这个意思。
那么大家试想一下,如果现在啊我在这里。
我这里假如说写个27。00,阿波访问2701,那么P点分子出来,他如果说执行这个里面这个东西,那不就是访问他本地那个夜启明了,啥意思啊,他的服务器对你的PDF进行处理,处理的过程中已添加了文本。
他对这个代码呢又重新打包了,如果他有执行在里面的东西,那就尝试过访问12700,是不是这个道理啊,就说赌的就是他访不访问,那么我们也不知道还访不访问,所以我们先呢用个dn s logo地址呢来进行测试。
它有就有没有就没有嘛是吧,这个东西呢我们也不是说啊,一定就说啊,就必须他要有的,对不对,这个东西呢就这个写上去,就说他如果说出发了,那我这边就收到信息,因为他是没有回旋的,你也不知道触没触发。
所以我只能用这种方式来去测试一下,对不对,他如果说等一下呢我们去演示的时候啊,他有触发,那就更好把写好一点啊,当然了,你也可以不加这个东西,我为了确保起见是吧,我多搞几个,但是我也不知道他有没有啊。
有没有是吧,我们把它写进去啊,那我加一下来,需要证来,好进行一个保存是吧,好进行一个保存的应用要处理,必须要应用啊,应用才代表他去访问过,对不对,应用才进行访问过,然后呢我们看一下啊,有没有啊,看到没。
这个什么鬼啊,怎么还有3W分之四,方冠,就贪真的嘛,他就尝试过访问过嘛,就在服务器的一个地址嘛,服务器去访问这个地址,对不对,这个这个字典呢你可以看一下。
这个叫呃DS的一个二。
要叫叫这个什么导出SSRF这个支点啊,就是那个高端玩法,以一些玩玩这个玩这个SRC的,喜欢搞这种事情,都是那个SRC里面的东西啊,你可以看一下这个文章啊,就是导出的一些SSF的一些呢。
PDF导出的导SSF是什么意思呢,那就是说在这个这里面的文章也是,其实就是说呀有些这个文章里面,他会对一些数据呢进行生成这个PDF,然后这个数据里面呢,可能就有我们那个ADP协议啊。
或者说file协议的一些这种东西在生成的时候,那他就会解析那个代码,因为代码在这个文章内容,他肯定要把打包嘛,然后解析的时候呢,不小心把它触发了访问了,然后呢,在打包出来的结果里面就会显示那个结果。
就这个概念啊,就这么意思,那常用的就是用这个方式,就是呢可以用这个东西呢打开那个PDF,看里面那有没有确定,这有点小复杂啊,我是实在是找不到安利了,我本身是今天呢找了里面的,一两个小时都没有找到啊。
你去给他演示,没办法啊,我才投过取巧呢,搞了几张截图啊,在网上随便给他测一下,没办法啊,这个黑盒找这种案例去给他演示出来。
结果太少了啊,没办法,以前的我还用这个什么鬼,这种的有刀是吧,这个已经修复了啊,那以前呢当时说了还是呢,你发问12701翻译呢,它就翻译成这个是吧,那你把那个一翻译成,然后指向这个地址去翻译诶。
它就变成了什么这种嘞,这可能就是他本地地址访问的,这个叫有道的信息,对不对,在黑河呢大买大概都是这么些玩法啊,实在是没有案例,没办法啊,尽可能的给大家去提供,这个相关案例的一些讲解了啊。
你在隔壁不管说在哪里去保证SRC,可他也不是真实案例去给你演示,都是一些提供好的一些截图和文章去给你讲解,其实呢更重要的就是针对这个漏洞的理解。
其他的呢都是废话啊,漏洞理解好了之后呢。
你自己呢花点时间去研究,哪天运气好,碰到一个就挖到了,好这个就是我们今天的内容啊。
然后呢问一下大家如果说有问题的话,就赶紧问啊,没问题就瞎了啊。
那么下节课呢我们就讲其他的了啊,讲一下这个另外漏洞了啊,讲要讲21漏洞了啊。
参证不了啊,参证不了sf探针,内网的话无回血的话,除非说你有其他方面的一些权限才行,如果说只能用hp去访问的话,这是没办法探真的,你可以通过他那个回血时间和回血的那个,其他的异常来去判断。
因为他邮箱没有回形呢,它可以通过那个返回的时间去判断,就是如果说那个东西存在,它会返回非常快,但如果说不存在,它加载半天了才有反应,那肯定就是不存在,火影神乱码很正常啊,这很正常啊。
你看那个文件头把它还原出来不就行了吗,他有文件头的,直接BP访问1701~6535,你怎你想怎么搞就怎么搞,你搞127001,那就是对这个本服务器上面那些东西呢,进行探针,但是没有必要,为什么。
因为你能访问到它,你用其他工具不是也是能扫吗,你访问一页星星,不就是他对他自己的端口进行参证吗,有什么意义,那没有意义啊,一般对他其他的内网主机探测的比较多,能不能去试试17210网段,当然可以试。
这就是内网段了,我刚刚说了三个网段嘛都可以试,就是你把他自己那准备好,就是把那个所有IP的那个支点呢生成,好好让他去访问这个地址,然后呢他除了这个地址还要访问个端口啊,一般呢就会弹成八零端口嘛。
就直接在后面的去弹成八零端口就行了,或者说弹成一些场景端口,看看存不存,就是用那个巴布舒特啊,把那个包的移植阀替换那个地方啊,去测那些内网的IP地址,你像我们刚才看到的这两张截图呢。
这里呢是什么。
这个00。100。21。3,原因就是因为呢他这里肯定就是包括出来的嘛,就一直在换这个地址啊,最终呢看到一个有回形不一样的就确定了。
好不好防御,好防御啊,怎么不好防御,防御方案都写到下面去了呗,你看一下刚才说了,人人网为什么要拉用那种方式,你是为什么要用那方式的,难道这个翻译功能它不支持远程翻译,也很简单的道理,他这个漏洞。
那就是产生在它加载远程页面去翻译,对不对,那你不加载不就行了吗,那你说不加载,那不加载,这不加载,那还是个网站功能吗,他业务就是搞这个的,你人人网是搞什么的呀,他这个是分享上面的。
你看呐built的笑点do分享的页面造成的SR的,那意思就是说不分享呗,那不分享就没有这个问题了呀,功能越多,需要考虑的安全点就越多,为什么有这个功能,那你说为什么有这功能呢,是吧,这不好答的问题哈。
好今天就说这么多啊,大家有问题最好问啊,赶紧问,不问我就瞎了啊,我头都赖不活了,目录上面会把网站扫崩吗,有可能啊,有可能小网站可能会少碰的,SSF流量特征怎么回答,这当然好回答呀。
你先要记住这个SSRF他的几个共同点,用什么协议,就那几个协议,那就是一个特征,第二个特征就是我们说的,就是这种内网地址的特征,对不对,内网IP地址的特征,然后再就是我们说那几个协议的特征。
以这个参数值为后面的那个值的那个特征,就是它的这个流量特征,sf和文件包含黑盒怎么区分,黑盒区分最简单的就是文件包含,一般都是本地包含,远程包含太少了,所以他最好区分。
就是加了个两层地址去区分就可以了呀,文件包含一般都本地本地的文件名嘛是吧,保定文件本件名呢去插下去,去读取配置的S25呢,一般不是加文件名没用的啊,它一般是叫这个测他这个IP地址那些东西。
然后包含的结果呢也不太一样,那个显示的结果也不太一样,你具体的要根据当前页面的回显,和那个参数值和参数名呢去判断啊,什么鱼饵的,像这种呢就类似于偏向于SSF,如果像什么file这种文件形式的。
英文单词的参数名字就偏向于文件包含,这个你要记住啊,要很从很多方面的去分析它的啊,看学的课程质量咋样,肯定可以啊,看学当然可以呀,那搞理想的本来就那么多年了,虽然说我不懂理想,但是那个看起来很多年了啊。
质量应该是不错的,好就说这么多了啊,延时判断是啥,延时判断就是延时判断了就延时时间,延长判断呢,等他看他延不延迟啊,最后问一下啊,没有问题,我就下了啊。
P58:第58天:RCE代码&命令执行&过滤绕过&异或无字符&无回显方案&黑白盒挖掘 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny
好来看一下今天的内容啊,今天呢是讲这个RC1的漏洞啊,讲一下这个RC1的代码执行和命令执行呀,然后呢说一下他在CCTF题库里面常考的,然后再说一下他那个黑盒里面些常见的啊。
CCTF里面呢就是训练这个白盒代码升级能力,然后这个黑盒里面呢,就训练大家在这个实战中去发现自己的漏洞,从这个黑白和两个方向呢去讲解这个漏洞啊,然后呢主要的就是从白盒里面的去分析去logo。
这个是最关键的,因为后期这个代码审计里面去划的这个漏洞,那也是要根据这个漏洞的一个过滤,那能不能绕过呢,从而有没有这个漏洞的产生,因为大部分呢我们很多一些漏洞呢,不是说代码中没有,而是说无法绕过。
所以导致了这个漏洞呢发现不了,那么如果能够绕过的话,那就能够去利用出来嘛,哈好这个知识点呢就给大家说到这里,首先呢我们来了解一下这个RC1啊,RC1呢这是网上一个通俗的一个叫法。
它指的就是代码执行和命令执行,你可能说这两个有什么关系呢,两句话RC的代码执行漏洞啊,网上看到的代码执行漏洞,是指的是脚本代码去解析执行,然后呢,命令执行呢就是利用这个源码呢来调用系统,命令。
命令执行指的是执行的是系统的命令,代码执行指的是执行当前脚本的这个代码,这点呢不知道大家能不能理解啊,那么等一下呢我们就通过这个案例呢去给他讲,实在这个几种语言中啊,web的一个基本语言中。
这个代码执行漏洞,21这块漏洞呢,不仅在我们的这个挖宝中会产生,像这个中间间的平台,包括其他的一些环境都会都会有产生啊,他的一个检测呢也是分为在百合中的代码,神级去得到的漏洞。
也可以从黑盒中用一些扫描工具,大家去看到的漏洞啊,在web中常见出现RC1的这个几个代表语言,就是java,PHP和Python的几个这个web语言呢存在啊,P1P呢,自然是这个研究最深入。
或者说最明了的一个漏洞啊,在pp的这个里面呢,RC的这个漏洞呢通常有以下函数呢去造成,这是啊代码执行的有上面的,然后呢命令执行的是有是这里的啊,Python的,然后java里面的啊这个大概的一个解释啊。
我们已经给大家看到了,这是一个大家可以看一下啊,就在pp中由以上函数呢造成,Python中呢有以下函数造成,然后在java中呢一般是由这个表达师去造成的,OGLSPEL和MVEL代表意思呢。
就是我们说的这个spring e l表达式,和这个MOVEN的那个URL表达式,这个在后面的代码审计的课程呢会有讲解到哦,嘶好这个是他的一个大概介绍,我们这里呢啊介绍完之后呢。
就给大家去看一下这个代码的一个逻辑哈,代码的一个逻辑也比较简单哈,看了之后呢大家就能明白了啊,何为代码审计啊,啊何为代码执行,何为这个命令执行,他们都叫RC1,就是说RC1呢指的是两个漏洞。
一个呢就是我们说的命令执行,还有个就是代码执行,这两个是有差异的啊,好那现在呢我们就给大家看一下啊。
首先呢我们来看一下这个,在PPT里面去实现这两个漏洞那个讲解,那其他语言的话也是等同的效果。
V还是一样的,就是说造成漏洞的这个写法都不一样。
但是他们的危害是一样的哦,好我们看一下啊,这里呢有一个代码啊,代码那我就重新写一个啊名文件名。
那就换一下啊,就交个这个test pp好。
这里呢我们看一下啊,这里呢首先先来说这个命令执行啊,先说代码执行啊,代码执行,那这个呢有以下函数。
这里呢pp里面是这些函数嘛,看一下啊,你这里啊这么多。
我们来举几个来常见一看,比如说1FEL,这是最常见的1VL,然后呢你看后面呢我给他个变量,比如说这个叫code啊,等于dotf get们传递过来的这个参数吧,就找C吧,然后呢再把这个变量呢。
用这1fl呢把它包起来啊。
那我们看一下啊,这个呢我们看一下访问一下。
看一下他这个效果啊,好问号C给他传参数,你比如说我传一个什么菲律宾引for,这个是什么,执行之后来访这个地址,我们来对比一下访这地址呢,那就是等于这个这里呢就是这个道夫code,那就会等于这个PP米波。
这个值嘛哈就等于这个吗,那么最终呢e fl呢包括这个东西,那么这个就是什么,将这个啊pp info啊,当做这个什么当前语言代码去执行,这就称之为叫代码执行漏洞,在这个漏洞里面呢产生的条件分析一下。
产生的条件就是两个,一个是可控的,一个,变量什么code,还有个是什么触发函数EZL是吧,这是他的一个触发的一个情况,然后在这里呢能够触发到它,我们如果换一个写法看一下啊。
比如说再换一个用个什么叫ASS,ERT这个函数。
再把这个注释一下,看这里能不能再去触发它,刷新访问。
可以看到这个等同于和上面一致,那么也就是说除此之外啊。
这个常见的这些代码执行的函数,以上的呢都是可以触发到执行代码的一个情况。
对不对,这是它触发的常见函数,我可以把它进行一个归类看一下啊,那,那么这里呢也是给他触发出来的,大家不知道看到没了是吧,这个呢就称之为叫代码执行,能看到了吧,这个是代码执行啊。
其他的这些其他的我们就不再演示了啊,这些其他的其他就稍微复杂一些,但是都能触发到,那么我们介绍这些函数给他是有什么用意呢,因为在后期我们如果说用代码去审计,这个程序的漏洞的时候。
可以通过搜索这个关键字呢,来去查找有没有代码申请录入,对吧,好,这是代码这个执行啊,然后呢我们接下来再看RC1的什么命令执行,刚才是代码执行,现在是命令执行,那命令执行是什么概念啊,同样道理啊。
把这个代码先注释掉,往下面代码来看,把这里改一下,这个呢就搞成叫变量名字叫CMD,然后呢传个参数也全C是吧,同样道理,那这里用一个啊,比如说先用这个什么cs time,然后再去执行这个SAMD。
这有什么效果呢,我们看一下啊,来访问一下这个地址。
把这个C呢改成一个什么,改成一个mini v e r m i执行,编成了这个东西,啥东西啊,发过啊,同样的道理,那么这里呢就等于什么变量cos分之一就等于它,然后呢。
就是将这个什么VR当做什么系统命令去执行,那么这个就是命令执行操作,能理解吗,来去接受这个C过来的值给到V1了,那么呢用CTM来去把它执行,那么这个呢就是我们说的这个RCE的命令,执行漏洞。
那么它的结果和刚才代码执行呢,大家可以看到它的区域大区别,就是一个是以脚本语言去执行你的值,还有一个呢就是将你的这个值呢,当做系统命令去执行,那么等同于在这里呢换一条命令。
换成什么IPCONFIER,就是我们的什么执行的IPCONFIG,那么大家可以看一下这个执行结果呢,就等同于我们在我在我的什么啧,哎在我的电脑上面的去执行,那比如说data user对吧。
它只能执行一条啊,它空格不行。
你看一下啊,就等同于我们在这里呢去执行这东西,IDCONFIG是吧。
就和这里呢是一模一样的啊,对不对,这个呢就是叫命令执行,那么代码执行和命令执行大家就应该清楚了,但是为什么有很多东西呢他不去这样区分它,原因是什么呢,大家可以试想一下啊,那这里可以用它来执行。
还可以用什么来,还可以用这个东西呢,叫什么EXEC还可以用什么,需要也可以,C还可以用什么,还可以用什么PSRSTHIU,那很多一些执行的东西,我们可以把以此呢在打印的时候是吧。
换一个这个将换一行来代表这个东西,执行是都没问题的,来我们看一下啊,访问下这里刷新一下,传一个必要,你看第一条执行成功了,最后一条执行成功了,这两条没有执行成功,为什么这两个需要把它输出来。
把结果把它进行输出,嗯结果把输出一下再来刷题,那四条对吧,这个是先c time执行的,然后输出这个斜杠分隔,这个是EXE执行的,那这个是需要一个执行的,这个呢是pass t h r u执行的。
除了这个之外。
还没有其他函数呢,也有呢,除了还有这么多呢,这都是能够造成命令执行的函数。
给大家做一个总结,对不对,那我们来举例,system m e r e c写EC和这个pass写一些U,还有Z几个呢都是能够造成命令执行的,这是在pp里面编的啊,可以看到这个效果啊。
这种人就称之为叫命令执行漏洞,命令执行漏洞啊,好那这里为什么网上有一些呢是有一个一句话,就是RC1呢,它把它统称了,就mini执行的也是RC1啊,代码执行也是RCE,为什么呢。
因为它统统都是属于代码执行,你可能说为什么都叫代码执行,它不是一个执行命令,一个执行代码吗,一般啊命令执行无法去执行代码,但是它可以调用执行两个可以相互转换,磁化增加,看着啊。
我把这个代码执行这里进行一个转换,转成什么命令执行,如何转换呢,大家看着啊,来我们把这个C改成什么,改成这东西,它不执行命令吗,执行个p p for,这样子执行批评符,对不对,我这样改的,看着啊。
加个c time,再加个什么命令写进去,第一啊,这不就等同于,等同于coder变成coder,等于这个东西了吗,然后这里if fl不包含进去,就不是用e fl执行这个system m。
那就和这里的原本是一模一样的呀,大家看一下,执行不是也是可以把命令用代码执行。
转换成了什么,转完成了命令执行啊,是这个操作吧,来啊是不是,能理解吧,所以说为什么网上呢,通常呢喜欢这样去两个红色,是因为他们能够相互转化,然后这个命令执行能不能转换成代码执行呢,它也是可以的。
它也是可以的,为什么这样讲呢,因为我们都知道啊,语言它是可以调用执行的,你可以怎么办呢,我们试想一下是不是可以这样操作啊,去用到什么P1P取什么呀,任行一串代码,这个大家可能说哎呀,那怎么运行呢。
PPP去运行代码不会吗,那比如说我们这里呢找到pp的安装包那个文件,如果说有设置环境变量的话,那可以直接在这里呢敲上pp任性一个文件,它是可以用那个PPP的ESE文件,就和你Python去运行一个脚本。
用java去运行脚本等同相似的,我相信这里呢讲到这里,有些人就知道了对吧,但有些人呢不看我玩实验,做完他也不知道我在说啥,所以我还是要不要做一下啊,那在这个环境里面呢,如果安装好之后呢。
你是可以在这个3D里面敲菲律宾,他就能知道当前这个pp的环境是吧,还有人知道的,然后呢你可以用这个PV杠V啊,这种参数呢它是起点三四嘛对吧,然后呢你比如说在这里呢,我们可以写成一个文件是吧。
比如我echo输出一个这个文件,PPPP拖这个文件到这个什么一点,pp这个目录下面回车,这个有这个B符号,真是麻烦好,我看一下啊,top一点tb,你看下啊,你看他已经写了。
你看是不是可以利用这个环境变量,菲律宾去运行一个一点pp,一点PB是刚才写的嘛是吧,我们读到呢读到那什么top in的pp,这个内容内容就是里面的pp波嘛,那么呢你用pp来去允许这个一点pp。
不就是把那个1p p for的结果写出来吗,这个结果嘛对不对,我也可以利用这个东西呢去把井运起,是不是就可以利用pp呢去执行这个脚本。
所以等同于呢你在这里是吧,就给传递一个值pp去运行一个脚本,对不对,或者说运行个代码啊,它也是可能转换的啊。
只是说这个要麻烦一些,好这个呢我们就姑且不管它了啊,因为这个呢也不太重要,主要是大家对这个概念的理解啊,所以就是说这个RC呢,不管说是mini执行还是代码执行,相互呢不是存在这个过滤优的情况。
下面的话是能够相互转换的,就说可以用代码执行呢调用出命令执行出来,也可以用命令执行呢,把这个代码执行呢给它调用出来,所以呢基本上啊,这个RC1指的就是代码或者命令执行登录好,那个危害有什么危害。
大家可能会问到这个有什么危害呢,危害就非常大了,很简单的道理。
既然能够代码执行,想执行什么代码就能执行什么代码,想执行什么命令就能执行什么命令,很简单,命令执行我们可以直接反弹,需要我们前期学过这个漏洞,如果说有命令执行,我是不是可以直接弹个shell过来呀。
就直接把这个权限给它弹过来,反弹就直接调用命令,让他去反,把数据呢给我移交到另外一个IP上面,我结束把权限给他反弹回去,然后代码执行就直接可以植入后门,就这么简单,你可能说这要怎么直接后门,对不对,哎。
你比如说像这个刚才这个漏洞还有什么危害呢,这危害就大大有啊,你看比如说这里这就是一个漏洞,唉这就是一个漏洞啊,我们就可以直接用后面的连接上去了。
因为你可以关注到在我们这个工具里面啊。
这其实那一讲就是那个呃后门的那个,比如说pp里面就是这么个原理啊,pp那个一句话后门。
不知道大家有没有关注到他那个写法的代码,就是一个代码执行的一个漏洞的一个原型,你比如说用这个哥斯拉啊,或者说用这个什么倚肩呐,菜刀的一些这种后门呢,他去生成出来的这个什么后门呢,它都有个特性。
就和那个我们刚才讲的这个代码执行漏洞呢,它的燃性是一样的,就是改了个提交方式而已,比如我生成一点pp导桌面,我关注一下这个,后面我们打开看一下它的后门代码来。
是不是就是e fl老dot pos pass,它其实呢就是你在这里呢去双击这个什么,进入的时候就会触发一串代码,代码呢就发送给这个地方来,然后用if fl去执行,就这么简单,就是它只是用来一个啊。
就是程序的那个功能,代码都写到程序里面去了啊,对方代码呢去接收这个攻略性代码,然后用这个EFFEL呢把它执行,所以这个后门的这个原理呢,其实就是一个代码执行漏洞的原理。
知道吧,所以这个代码执行漏洞,就直接可以成为一个web修,直接可以成为一个web two啊,就是用工具把它连接上去,你可能说怎么连哈哈。
这是很简单嘛是吧,你看啊,比如说这个后面这里是个代码执行漏洞,我怎么去连它呢。
来我这里呢就直接写这句话了啊,C这里写好之后啊,就直接呢写个这东西啊,DOLF下划线post,然后呢写个什么这个东西就写这个地址是吧,回车哎,什么情况哦,哦不我,我在写DC l再包含一个啊。
好就把这个地址再一复制啊,然后呢可以用这个歌词拿来去尝试连接它,这里注意一下啊,这个里面呢不要讲白马,就不要写这个白马骑了,因为这个白马旗呢是那个浏览器的啊,你在这里面呢就老老实实用这个东西啊。
不然的话可能会有问题,对不对,这个不知道能不能连上啊,看到没成功添加来通过这个代码执行漏洞呢,我直接拿到这个权限。
你说这咋把死线的呢,这看都看不懂啊,有些人,很简单的道理嘛,这个就是那个后门代码呀,我代码执行,我后面为什么能连上。
我后面连接上是不是会执行这个代码,我们可刚才看到嘛,他那个后面的圆心就是我这段代码样的,前面这个pp就不忽略不计了嘛,因为他总是把他的这个前面就是PPP,这个语言的开端,就看到这个东西呢。
就会把这个代码呢当做pp执行,那么由于他代码执行,本身就把你当成PB执行了,所以有没有他都无所谓,那下面这个就是它原型嘛是吧,你把这个文件放上去访问这个文件,它就会执行这个文件,所以他连杀。
那么很简单的道理,这代码执行他把我后面数据接收到,他也会执行这个后面代码,那不就等同于和你直接访问,执行它不是一样一码事情吗,所以我连接上就是这么个道理是吧,就代码执行漏洞啊,理解了吧。
难不来这是它的危害啊,这可以直接造成这个后门船啊,这权限的丢失,那么命令执行呢那更不用说了啊。
命令执行那个危害那就更不用讲了呀是吧,比如说这里要执行命令对吧,能执行这个命令,对不对,你能执行这个命令,那么你说能干嘛呢,我心在上面想执行什么就执行什么,那反弹我必修啊,反弹小是不是也可以呀,对不对。
李哥说哎,那操作一下,操作一下有啥操作呢,不是妥妥当当嘛是吧,让他连接上去,那finder命令把它写好,你找个那个之前给他介绍那个什么。
反正命令那个生存的地方,对不对,生成一下。
都要准备好一个这个什么还不例子啊。
等它这个通过这个漏洞呢反弹过去呢,那反弹到我的这个6666上面去勾,然后呢这里由于是windows系统,所以我就找个windows系统支持的,这个命令的反弹效啊,前面这个是LINUX的这种命令啊。
这个不支持我们找个windows啊,然后如果说他有装pyon Python环境的话,你可以用Python环境来实现,那这是用Python环境来去实现那个反弹效啊,pp的也行对吧,PPP的呢。
然后去弹给这个地方来哈,还有这个什么泡沫学人的pm秀,那肯定支持啊,还有这个其他的一个各种言是吧,写上去的这个反弹的啊,就是要看他这个本身它只支持哪些这个调用啊,啊Python的可以试一下啊。
Python的可以试一下,就是让他执行这条命令,然后呢反弹这个效啊啊也可以用这个调的NC啊,这种东西啊,如果说你有NC的话,那可以啊,如果说没有的话,那就尴尬了啊,那可能就只能用这东西啊。
因为LINUX是比较丰富,LINUX上面有很多名的知识,但windows上面呢像我们这个N卡特,他一般不自带需要你上传啊,pp呢和Python呢,这个也不不确定对方系统上面装不装,对不对。
但这个脚本是pp的话,一般都行啊是吧,就这个把这个执行是吧,执行的反弹销量就写上去,啊当然呢你还可以进行这个文件的下载和执行,让他去直接远程下载,那你比如说我可以怎么办呢。
就和我们之前讲过那个道理一样是吧,你可以植入后门,当然也是OK的,比如我这里呢八零端口是吧,然后下载一个这个文件,比如说叫一点TST是吧,把它下载到他的这个里面,叫点PHP1改变,让它进行这个文件下载。
调用windows,然后呢再连接上去啊,比如说这个下载命令是吧,去下载个一点TT。
然后放到它里面,当当什么当一点P1P,然后呢你再去连接一点pp不就行了吗。
然后在你这个一点TT里面就写个home,这样子呢也是一种方式啊,自己呢活学活用,你把这个,一点TIT呢在这里写一下来啊,你们那就写个什么啊,我就换个乙一点TT吧,以一点TT是吧。
能够访问的地址在这里呢写个home diss,写个home代码,对不对,把写上去小之后是吧,再用你这个命令执行漏洞啊,所以让他执行,嗯杠C是吧,加上这个命令来让他去调用这个命令去执行。
下载到他的e app里面执行,执行好,他这里的报了这个错误,这个是什么问题呢,这个问题大家要看一下啊,一般他这个命令执行呢,刚才大家也看到了啊,像他这种呢是个什么情况造成的,你看啊。
为什么这里呢我们敲个V啊,哎咋回事啊,哦这上面还有个对我敲个VR对吧,它能执行出个VR,然后呢我把这个命令的写着来,哎他说下载了,我们看下下面是不是有了,看到没,一点pp写上去了。
来是不是写到这里面来了,对不对,但这里为什么变成这个码呢,因为我下的是一点一点TS1。
我把它换成以一点TIT重新复盖一下。
那马被删了,只是说被查杀到了啊,你把恢复一下搞免杀就行了呗,这不写上去了吗,再连接这个一点pp不就是后门了吗。
好吧这个不说了啊,我们不把这个更多的话题呢,转到这个很基础上面啊。
这说他危害简单利用啊。
好现在呢就来说这个下面的了啊,好,那么现在呢我们就来说一下,这个他的一些绕过方式,就说漏洞呢我们基本搞明白了,就说它绕过为什么要学绕过,第一个打CCTF的时候,这个RCE漏洞可以说是层出不穷。
年年都有这种考题,那简直就是从头到尾都在考他是吧,然后呢它里面的CDF里面都喜欢过滤好,我们来看一下啊,怎么去玩它啊,一般呢就是过滤关键字,比如说过滤flag关键字如何实现。
我们呢可以用这个LINUX操作系统去演示,为什么用LINUX操作系统去演示,因为呢这个一般CDF的考题的,这个靶场基本上都是LINUX搭建的,windows搭建的比较少,所以呢我们要适应于这个题目哈。
那个利亚斯搭建的玩法会多一些,就是它里面有很多一些你没见过的啊,你比如说像现在啊。
我们先给他看一下,我先来到这个盘符啊。
好大家可以看一下下面有个flag文件,比如说我现在呢要尝试去读取这个flag,但是我不能用什么,不能用这个来,比如说我cat flag这个文件好,他能读到里面内容是吧。
内容就是这个flag is小迪SEC,大家可以看到啊,这是它内容对不对,那能够读到是吧,没有问题啊。
他能读到这个内容是吧,能读到这内容,但是现在我不能用flag关键字。
我如何读取它呢,如何读取它啊,这就可以利用通配符来写个这个通配符,写个星号,那四也能读到啊,还可以呢,加个问号,问号就代表占位符来写个问号,就写个L啥意思啊,问号就代表。
现在我不知道这个前面这个数字是什么,问号代PL第二个数字为L,第三个就是第四个,后面我就不知道了,回车也能读到,这种就是解决了关键字的一个执行是吧啊,你们说的什么TAAC那些是另外一条命令啊。
cut是读取TAAC呢也是这个意思,所以也是个意思,都是young8,这没什么说的啊。
好这个就是我们说的过滤flag关键字,利用这个什么通配符来牢固。
还有一种呢是转移符,啥意思啊,来我读一个cat,然后呢flag这是真正确的正常的写法是吧,我在中间呢加个这个转移符,它也不会影响,那它也能执行,包括这个cat也是一样,来写上去,它也能读取到,对不对。
还有呢用两点连接。
再再加两点,它也能读取到,没有任何问题。
这种呢叫做转移,还有什么空变量值,什么叫空变量啊,看一下啊,来cat我读那是正常的一个读法是吧,现在呢你看啊,我在这里写个什么变量,那我写个随便写个什么数字,比如说艾特执行,那它也能读到。
在这里写也是一样,它也能读到,你问这是什么东西啊,这是LINUX里面声明变量的一个东西,那变量at由于你没有赋值,所以它默认就是空的,所以也就是说这里就是个空的,切进去跟没写进去一样。
但是呢你干扰到那个flag的正确匹配,绕过这些东西,你现在不要问我说为什么讲这东西,你等下看一下CDF考题,和一些那个代码神经需要绕过的时候,他如果有这个限制的话。
是需要用到这个知识点的啊,你看是吧,变量那除了这个之外。
还有什么可以这样去写,那都是的啊,来演示一下,你看我可以在这里面写一些这种干扰符,到里面去算呢,它也能读取到,啊这个不行,嗯随便写五啊。
三啊一啊都可以写啊,这个无所谓,那都可以,就是说利用这种空变量符号,就是随便呢去写啊,这这这四种都可以写,星号和艾特符号,然后这里加数字啊是吧,这里随便再写个名字啊都行,对不对。
这些操作能用到文件上传中吗,大家有没有帮我回答下这个问题呀,拿来,你这个问题他问的非常好,对不对,啊我怎么答呢,啊思路是能够想到其他漏洞上面去,但是你要明白一点啊,呃他这个操作呢是属于命令执行。
是命令执行上面的操作,你文件上传咋个和命令执行挂上钩了呀,啊挂不上钩吧,你先要搞清楚啊,你文件上传里面就压根不会涉及到这种东西,因为他没有执行命令的机会,那么这个东西和他有没有关系吗,没有关系啊。
不要搞错了啊,还有就是拼接法看一下啊。
那我可以在生命各个变量A等于什么F对不对,在封号代表与结束是吧,B等于什么LAG就是前面flag,然后呢上面是四面,好对不对,然后后面再搞个什么cat读取读取什么文件呐,这是个IFS这啥东西啊。
这个是NUX自带的啊,然后呢一个变量A变量B这个IFS呢,你这样写这样写他也OK执行,那他是能读到啊,嗯能读到吧,那你不写的话,他肯定读不到,所以执行那就是空的是吧空的,但是呢你这样一写诶。
是不是就读到了那个FS呢,代表是空格,或者说你写不写都无所谓,好看就是用变量呢,A等于FB等于F2G两个联合起来就是FLG。
是吧,没问题啊,然后呢这是这个拼接法,还有个什么反应号绕过就是什么意思啊。
你比如说啊,LS等于F下面只有一个flag文件,对不对,那么现在我cat用的是什么这种符号,这种符号是什么,代表命令执行的意思,代表命令执行的意思,JAVS的结果呢它是等于flag。
那么cat执行LS就读取了flag内容,这啥意情况,就是ls s里面是显示路径的,里面有个flag,然后把这个指引结果呢用cat读取来,就读取的flag。
还有编码logo,就是把这个关键字呢打进编码。
就是说我可以利用这个语句,把这个什么把这个flag是吧,进行一个输出,输出的时候呢,我用到base64,那把编码一下啊,就是把这个flag呢给它编码一下啊,就是先输出这个flag。
它的结果呢把它进行base new编码,这是对flag的进行base new编码,编码之后再怎么办呢。
看着啊再怎么办啊,再用这个语句呢,cat去读取,把这个值呢把它进行解码,就是输出这个结果,并且呢用base668进行解码,杠一就是解就是decode的意思,decode解码杠一。
就是那个什么1decode就是编码不加,也是编码加了,杠低就是解码,就将这个echo结果输出来,这个结果就是刚才flag的结果,所以把它输出出来之后呢,再进行解码,解码结果是flag。
所以原型就是flag cat flag的意思,好理不好理,好不好理解啊,cat啊,来echo输出编码后的结果,然后呢再用到这个什么贝斯缪斯把它进解嘛,你看他就读到了这个flag的值,知不知道啊。
没问题吧,好,那么我问一下啊,这个东西我不是说讲给你听到,这很单,就说讲的东西他很乏味,但是用到时它很香,你比如说像现在我读这个,我把这个cat语句呢,把它进这个贝斯尼斯对吧,那该怎么玩它呢。
你看啊我想换一个啊,刚才是对flag进背六四,我现在是cat语进背60,同样的也实行这cat该怎么做啊,就是echo输出cat是吧,然后把它进行什么base64编码好,这个是cat的编码,然后怎么办呢。
由于cat是在前面,所以我现在就是echo echo输出这个值,再进行什么base64解码,然后再flag是吧,输出这个值进解码,解码的结果是cat cat再联动到这个flag。
不就等同于cat flag吗,执行嗯,双学活学活用啊,这是你要知道,是吧,要用到的啊,你只要打CCTF的话,这个东西是必备的,连这个都不懂,那CCTF不用打,打不了,这个是那个编码上面那个绕过啊。
就是说把关键词呢采用编码,然后进行提取,哎好,然后呢还有个叫组合绝学,这个呢是一个绝技,这个绝技和下面这个无符号的绝技,这是在CCTF里面基本上啊考的最多的,因为它难比刚才的都要难理解和最不好理解。
但是他又喜欢考逐和绝技是啥意思啊,他是用到一些特性,看着啊,就是过滤这些关键字怎么办呢,你可以先创建几个东西,你看啊创建什么东西啊,大家看一下啊,看下结果啊,我先THOU创建个什么。
我把命令先把它全部打上去,然后我再给他解释啊,别急,先打这条,那你看着啊,我再打给大家看看啊,慢慢打,先打上去,然后呢我们再把结果看一下,好打完了,这个是创建文件的,你看啊。
文件下面就有AGCAFLT好,有这几个文件了啊,那么现在再来看一个文件叫ELS杠T,形成一个shell,这啥东西,这个命令呢就是将LS杠T是啥意思呢,我先给他执行一下LS杠T是啥意思。
它就是将文件以当前时间创建时间命名,创建时间来进行展示,最新的是ca,因为是最后创建的最新,紧接着是T这是FL斜杠,斜杠和F2G然后呢,我就把这种文件呢形式呢。
把它怎么样把它生成成一个叫shell的文件,把生成的一个叫shell的文件,然后我们再观察一下,就有个shell文件产生的,这个时候我们用SH去指引shell文件回车一下,发生什么效果。
发现他有哎flag被读取到了,啥情况,怎么执行shell文件,怎么把flag这个文件给他读到了,大家来看一下是什么情况造成的,大家有没有看到,其实他就是将这几个文件名啊,看一下解释呢。
S2杠T是将文本实现按时间输出,S杠T杠小,就是将输出的结果输入到这个小NTT,那么输出结果是什么呀,杠T第一个显示是CACA加T就是cat,再加fl,再加AG那不就是cat f l a g吗,对不对。
所以他的这个shell里面的代码,这里面的文件就是c a t flag,所以当你用SSH去执行这个笑的时候,就是cat flag,为什么包错,这个报错原因是什么呢,包错是原因,因为我这里写了换行。
你可以关注一下这个shell文件里面的内容,他是换了行的,你看它线里面的文件内容变成什么了,cat t f l a g为什么这样子,对FL1就是说换行就代表这个结束还没结束,他就一个换。
那最终呢就是cat白给,如果他只写到一行,他当然也可以写到一行,也能执行成功,但是呢写了一行的话,怕有检测,所以就是类似于把它进行分割显示,但是不会影响结果,只是这里会有个报错。
就是上面他不认识第一条命令,当他执行完之后呢,组合起来就认识了,就执行成功了,这个就是组合绝活啊,就是通过创建文件,最终呢执行另外一个文件来实现执行一条命令,那么也就是说你可以把命令呢分割成文件。
再把它进行组合到一个文件里面去,再执行这个文件来实现这个命令执行,比如说他限制了某些命令的执行,你就可以把这个命令呢拆分成文件,再把它形成一个新的文件,再执行这个文件,就能把那个命令把它触发出来。
能不能理解这是他的一个应用价值,还有个叫做异或无符号。
那这个呢我就给大家讲一下啊,我们来看一下这道题目,这是一个比较这两种很常考这个题目看一下啊,来我们等下呢会有真实案例和CCTF的题型。
去给他联系啊,嘶我们来看一下啊,这是讲无符号的啊,这都是CCTFRCE的里面的干货啊,你网上查半天,不如我一节课讲个零,比你那个茶要差的好多了啊,那这个里面有个这个,那就这个啊啊不不不。
这个这个你看这个题啊,那结束这个扣的变量,那前面两个不管它这个是不包出显示,然后这个呢是显示原的吧,意思啊,代码给到你了,解释这get传过来code复制给code。
然后呢这里有个什么e fel code,但是你要执行这个if fail code呢,大家可以看到是需要通过这个if if循环,才能执行的,if循环里面有个匹配A到Z0到九。
然后一个II意思是说不区分大小写,就是大写,它也识别小写,也识别A到Z0到九,那么意思就是说,等同于把我们所有东西都给他屏蔽了,字符不都能出现,你怎么绕过它呀,那你就按常规的,这人家敲什么东西都不行。
敲什么东西都不行啊,你敲任何东西在这里呢都不行,你必须这里呢符合了它才行是吧,敲成何东西它都不能执行成功的,你敲任何东西都不能执行成功,比如说在这里,那我们要执行什么,批评什么呢。
因为这里呢你任何东西都带有这个,什么都带有这个字符,你用数字它也过滤了他,这个组合就是选用了什么叫异或运算,生成无符号的无符号的这个什么过滤,然后呢我给他提供两个脚本,百试不爽啊,怎么用它网上呢。
看了很多文章都不知道怎么用,我直接给你打包了,资源全部给你找好了,抑或和豁,这啥意思,他是这个语言里面的一种算法,叫做异或人山和货运山,还有一种叫飞云散,异或仑三呢,是啥东西啊。
简单来说就是利用无符号的一种数据,能匹配出一个新的数据。
我们这里准备了几个脚本呐,这个是生成异或运算的脚本,你不用管它了,你只要知道使用的时候,就把这个匹配规则里改成过滤规则写到这来,然后呢把它进行运行啊,用PPP运行或者访问运行。
运行完之后它就会生成一个文件,这个文件叫做RES点TXT文件,那会生成文件,我们直接看一下,那么这个文件里面就比如说百分百0%,零和212%个进行运算,就会得到一个感叹号。
其实呢就是说我们用后面这种URL的编码的东西,把它撕成,形成一个数据,能理解吧,它就生成出这个东西,这个脚本呢就是来生成异或运算这个脚本啊,你也不用实现原理啊,你只套用就可以了啊。
它的规则就是什么,就是针对于这个A到Z和0~9的。
这个地方是吧,然后呢你就把它写了,再来啊把规则写出来就可以了啊。
其他你不用管,然后生成RERTIT,这个时候呢还有个Python脚本,Python脚本就是组把那个payload生成出来的,这都是网上帮你找好了资料啊。
这都是连CTF背背背了一些那种优秀脚本,网上那找半天都找不到的啊,我们找这个啊,21,然后呢就把这个RRETIT呢放到这来,就刚才生成的啊,放到这个统计目录,然后用这个去把它运行起来,你看他就问你。
你的函数我就写个什么执行了system,那我就让他执行是吧,执行system,然后我要执行的命令,然后执行这个这个这个什么命令呢,呃IPCONFIG吧,然后执行IPCONFI试一下R看怎么行好。
它就生成这样代码来,这个代码就是什么,前面这段代码应该就是这个system,后面这个代码就是IPCONFIG啊,我们可以试一下了,这个08%,我们看一下这个REST里面的百分零八,对应的是什么。
可以看一下,这里要找一下是不是就是那个类似的啊,搜一下来百里八括号的意思啊,括号的意思,然后他联动的是这个7%b,GB是这个S看到没,是不是有SR呢,零八加S就是括号S好,你可以看后面W0哦。
打冒号再看后面还有没有0%啊,他用的也很多,再看这个啊,7%b啊,其实说这个结果你可以看一下啊,应该就是这个system in for,或者是这个IP卡Faker的一个那个运算结果,就这两条运算结果啊。
用这个东西运算,我们可以把输出一下来看一下啊,用这个pp代码结果输出一下,这个我不需要可以讲很多啊,因为这个异或运算在后面讲的那个啊。
他在很多地方都有使用刀,就是在那个web修免杀的一个领域里面,就是我们说的那个无知乎后门啊,在那个免杀里面经常会用到这个东西啊,就是一种算法叫一货运算,咳咳咳。
我们来给他开一下啊,这是大概大概结果是吧,我们可以把它进行一个这个echo一下,看他这个结果是什么嗯,访问一下特斯,好结果是这么个东西啊,哎那还不好说啊,那结果是这个东西我懒得看了啊,医护人散在后面讲。
我不修的时候再给他讲啊,这个要把他一个拆分出来,一个对比啊,他生出来我们就不管他了啊,是不是要讲啊,你们是不是要听这个东西,我听啊,我跟你说啊,我如果讲他我后面课我讲不完的,今天是讲不完的啊。
你要听我可以下节课讲给你听,我这节课讲听都没问题。
但听不听,后面也会讲,这有不难的个事情,老是你们问号问号,问个锤子。
问老子不讲就好了是吧,就不要问了啊,真的是无语。
每次想给他多讲点内容,就是你们问号问号,你问个啥啥问啊,看着啊,我们把这个呢放到刚才那个地方来,你看一下啊,来这里啊,杠C这里呢回车,哦不好意思啊,刚才搞错了,这个抠的啊,是变量,是抠的。
不是谁把前面那个东西写进去啊,我先确定下前面的,看是不是就提示黑客呀,你看就你写什么东西呢,这里就不行,你用这个来回车拿IPCONFIG执行出来了,对不对,因为你用其他的就提示黑客嘛。
那提示黑客我刚才为什么没提示,我写了个C变量去了啊,应该是扣的变量,而且是扣的嘛。
那这个IPCONFIG执行出来了吧,那同样道理啊,你可以再次用上,你比如说我用这个gm,我再用这个函数是吧,执行这个这个什么,所以这个V1R那它又生成一条。
我们再试一下,来把这个复制到上面去,是不是就执行这个另外一条命令了。
那是不是自己拿啊,然后这个是异或人是异或运算的,还有一种脚本是什么,还有个脚本啊,别打爆两个脚本还是货运算的,这个是货运算的,也是把这个规则写到这来,就你要绕过的规则把它写到这来,他就帮你生成出来。
好勾好,生成了就是这个RESTXOR啊,你可以看一下啊,它生成这个文件,再把这个文件呢把它复制,复制到这个Python这个脚本这来,for到这来覆来之后呢,再打开这个另外一个脚本。
叫做RCEXYO2点PY,用它再来运行,同样道理生成c time for,那同样执行分析化,看到它的生成,那它的结果和刚才又不一样,那他是这个感正符号或刚才那个是什么,刚才那个是怎么符啊。
是不是那个一个那个啊消呃,那个一上一下的那个符号啊对吧。
你看这个符号就不同了,你看写法也不同了,放到上面来,这是或运算使用出来的啊,刚才是这种符号的是吧,联动前面的和后面那个结果比对实行的结果,你看现在这个啊,是不是也执行FAUR了。
也能执行呢,同样道理呢,我继续,我执行一个什么,执行一个这个关闭。
放这呢再进行替换或密执行出来,这就是绕过这个匹配的一种异或运算,无支付的这个RC1的一个漏洞,包括你还可以把它利用成生成这个免纱包,修欧的一些方法,在后期我们都会介绍到,刚才我想讲一下,一会认三啊。
很尴尬啊,因为没把它结果制定出来,嘿嘿因为这个东西呢我在前期还讲过啊,我前面上几期我讲那个面纱,我必学的一些知识点,是我当时讲过这个异火人散,这个你可以看一下啊,你不要什么问号。
问号我前期都讲都讲过那些东西,你自己他妈的学都没学啊,天天问问问,还有为什么又要讲什么高端的,那去年的这个第77天,一湖人山讲的嘎嘎好是吧,当时讲这个生层面上,利用这个医护盾山呢如何写是吧。
自动化的一个生成讲过诶,不要怀疑是吧,我既然答了个代就能够讲出来。
因为这个脚本是网上找的,它的生成规则我还不明白啊,所以呢刚才把输出的结果呢出现乱码呢,也情有可原啊,尽量一下啊,后面呢我们再把这个异或原理给他讲清楚啊,因为这个东西呢在RC1的那个里面有用到。
在web修的那个免杀领域也有用到,在很多领域都有这个用到的方式啊,就是相当于就是把字符呢生成一个,无规则的一个情况啊,因为这个语言呢它就识别到这个代码。
那就是我们生成了个命令的代码,这种叫做疑惑啊。
疑惑抑或啊拟货运散,一种是异或,还有个是货运散。
两种都行啊,然后呢我给他打爆这个四个脚本啊,一货运三的pp生成脚本和XOR的这个payload,生成脚本,然后货运算的这个生成pp脚本和payload,生成脚本啊,两个都打包了呃。
到时候呢你参加RC一比赛的时候,碰上这种东西呢,就可以利用我这个角文呢把规则写进去,来实现生成这个绕过的那个payload出来,但是当然啊不可能说所有的这个都能牢固啊。
你要看他有没有限制这个异或运算的关键符啊,如果说有限制的话,那不好意思,那那也捞顾不了,那可能还要用其他方法再组合啊,好这个呢是我们说的这个东西,然后还有啊还有其他logo再给他讲啊。
还有什么这个lining logo,这个呢其实就是那个额,然后比如说一些关键字是吧,要执行命令,就我刚才说的嘛,嗯这个牢固方式啊,这个没什么说的,看下面这个啊,比如说它过滤这个什么cat taa c。
能不能实现文件读取和文件的一些插入显示呢,可以有很多命令,比如说这里呢EVA上面的,你可以用这个命令来实现,大家可以看一下这是什么命令啊,你看用CTRL命令本地读取一个文件。
来读取root目录下面的F目录,下面的flag,CTRL命令是不是请求网站的吗,请求网站用file文件这个协议来读取,它是也能读对吧,用到string来读flag也是可以获取里面的string类型。
那也能读到,用UNIQ它也能读到,那也能读到,用兵器当V读flag,它也能读到,用F1V也能读到F1V是去反去flag的,反反就是什么呢,再看后面的flag,已知小DSEC是吧,这是常规的命令。
其实就是说现在什么cat啊,TAAC这种读取的一些关键字符的时候,立刻用其他命令取代,选了几种是啥子,还有一种呢就是过滤空格啊,就是直接把你空格过滤怎么办呢,就可以使用我们刚才说的呢这种方式来。
比如说在命令这中间空格,这里加上这个这个东西来实现读取,你看它也能读取,并且这里不会有空格是吧,因为空格是这样读嘛,不用空格的,这样读没问题,好这几个呢都不是很多,也不是很重要,都比较简单。
还有一个比较关键的地方啊,这个绕过里面有两个核心点,大家知道一个核心点就是这个一或的这个支点,因为他经常用,经常考,还有一个就是我们这个无回血,这是面试题喜欢考的问题。
我现在每个支点我基本上都会给大家讲一下,这个无回显这种方案,就是常温的什么SSRF无回显的,或者是什么这个RC无回线呐,或者是什么内网里面的一些这种水刀的,这是面试题喜欢问的。
然后呢高端点就问那个java里面的那个什么啊,SHO啊,什么fast jackson啊,JJASON的那个什么不会先怎么搬是吧,反正就是面试题面选问的,我会写了几个这种常见的一些漏洞方面的。
再是这个内网方面的一些面试题,现,然后呢我们没有讲内网,所以那个内网方向呢我们先在里面估一下,讲过那个S2SFW的也W的RCE也喜欢win,对不对,但这无非显我刚才上节课我还给他提了。
我说五和弦大半部分都可以用个通用的解答,就是让它对外连接是吧,那么同样道理,这个对外连接呢,在某些这个5K线里面它不行啊,但是在这个漏洞里面呢,基本上啊很多答案都有这个答案,它是其中一种方法。
你回答上这个至少你懂了其他方法能够回答上,那就由中加优啊,回答不上的话,那不好说了,比如说像这个无非利用RC1的,你怎么知道这个RC1执行了,并且这个漏洞存在,但是没有显示,那我们用个案例给他去演示。
这是刚才那个过滤案例,我们再来看这个案例,这个叫rc low display的这个案例呢,我看到源代码是吧,我可能知道有代码,但是用个笑EAC,用笑1C呢就有个结果,就是说这个命令呢,那我执行了。
我给大家看一下啊,我执行的code啊,我执行这个code,我执行是不是我执行,比如说我执行一个VR执行,那执行它没有显示啊。
这个非常没有显示啊,为什么呢,因为这个函数它本身就是没有显示的,那比如说我写个echo把输出一下。
哎他这里那就怎么样,你看就能成功是吧,有显示,但是我揪你妹的不给你echo一下,你也不知道我执没执行是吧,你哪知道是这个命令直没执行,那有没有显示啊,结果也没有啊,所以说我们就姑且把它当做一个。
无回血的那个测试案例,那现在就是说怎么去解决这个,怎么知道他这个命令执行了是吧,用无回显怎么判断他呢,很简单,两种方案,第一种方案呢就是让他主动把流量带出来,我自己观察,还有一种呢就是我们说的怎么办。
写个文件再访问这个文件不行了吗,那我就尝试呢用命令写个文件,比如说echo写个文件,写个123,写了这个当前目录下面叫这个差点TT是吧,差点TT,然后呢我先去尝试一下,访问一下这个差点TT存不存在。
那没有是吧,然后呢我回车执行好。
刷新有了命令,执行成功了呀,不执行成功,他咋有这个文件呢,这不就是确定这些漏洞了吗,无回线确定RCE漏洞存在。
第一种方式,孩子呢就让主动出来是吧,找个这种外联的网站,比如说常用的DNS slog,或者说你自己搭建一个web让他访问,那比如说得好,我这里有个这个嘛地址是吧,要怎么样执行条命令。
比如说在那进行拼命令是吧,拼一下我这个域名拼一下是吧,你如果说平了,那就有数据了,有数据就说明什么来。
有数据来了,21啊,有啊存在啊,所以说你问到这种无回险呀,你自己要想啊,你妹的挠死你妹的是吧,问问问的烦死了,真是,虽然说我上级现在没有特意教来讲这个知识点,但是有时候有些东西是不是讲过的。
你要学会套用他的啊。
这是漏洞方面的是吧,还有我们后面说的那常见的几个面试题,问什么,fast jackson的JASON的是吧,五块钱怎么用啊,文章我也发过,还雷网里面呢也需要文,就是凡是是是常见问题对吧。
我这期都给你讲了,我能想到都给你讲讲了,你到时候再去面试,你面试不了是吧,是技术太差,你就不要说了啊,那那是你自己的问题了啊,该讲的都讲了啊,谈不上说面试题100题是吧,讲了这个8%讲了什么。
90%没有那么厉害,但至少啊不是说很高端的题目,你七八十%那是绝逼讲过的,后面的10%到20的题目呢,你如果学的好,你也是能回答一班上来的啊,就看你面试的是什么岗位了,好这个呢是我们那个全部的小知识点。
那么现在呢我们就给他看一下啊,在这个真实应用中,和这个CCTF的骑行中的一个CCTF,这个命令执行的一些讲解啊。
哎我们来看一下,那么CDF呢我们就讲一般。
因为海油版的非常难啊,后面呢我们下节课呢再给他说那个后面题型,这也讲不完了,有他妈的一两百刀啊,有人问这个密码,这个密码我现在在上课,我就怕人多了,所以我就把它先没有给大家,后面我上完课不邀他了。
你再下去念啊,那这个嘛你看啊,他这个题目呢也相对简单。
也没什么太大问题,是不是大家一玩呢就玩的明白。
那这题这里面还不简单呐,只过了一个flag,那我们刚才讲的不就直接删了他吗,过了flag怎么办呢,cat把它flag型号一带一提呀,完了呀,回车呀,哎你可能说咋回事啊,看源代码啊,如果不想看的话。
就用TAAC看一下,哎这咋回事啊,这里面的咋没有发音呢是吧,啥情况是不是讲错了呀,再看一下啊,杠CC呢过的flag,然后用e fail去执行它那1fail代码执行嘛,代码执行,那我写错了啊,应该是什么。
C等于c time对吧,第用代码执行来调用出命令,执行命令执行里面呢再敲这个命令命令,对不对,刚才我就写错了,因为那是执行代码,现在这就叫代码的system嘛,那就执行这个TAAC。
读取这个flag或者这个cut都行啊,TAAC也是一个意思啊,都是读取的命令flag是吧,这个直接写上去,那肯定就GG了呀,我就直接信号,把后面的基本取代它,然后后面加上个分号,代表日结束。
那结果就出来了是吧,就这么简单,有什么太大问题,讲过了,这题目就直接咔咔就是就是就是隔就完了啊,因为讲过了呀,为什么前,我前面要花那么多气力去讲这个东西呢是吧。
这都是要遇到的,你不要小看那种小知识点,但积少成多,多练习,把那支点稳固到自己脑海中,你以后碰到这题目就直接删了啊,来在flag,它过滤在flab和c time过滤P1P,那咋办呢,有几种思路。
EC呢先调用CTM去执行它,执行它咋办呢,我还可以用其他的呀,我不用c time了,我用什么,我用这个什么T1K1C是吧,也可以呀,把结果呢给他输出出来嘛,无非就是调用这个EKC执行这个什么。
执行这个读取名称,Taa c,它过的flag,我再用这个东西把它取下来,flag呢信号取代它,那代表与接水写上去,就是我把这个C塔姆呢用EREC取代echo,因为他有输出结果嘛,不输出的话,它没有结果。
那cat在flag里用星号取代是吧,是不是也可以啊,那没问题啊,读取那个flag内容嘛哈然后呢这是一种方式,还有一种方式呢也可以玩来用这个这种命令,啥命令啊,它不是读取命令或对你这个进行过滤吗。
你可怎么办呢,用这个来这种符号,这种符号就是LINUX云顶的这个什么执行命令符号,CP命令,把flag给他,怎么样给他文件,给它换成当前一点TT,就把这个flag文件呢给它,我不直接读它了。
我就把文件那个复制成E的TD,我再访问一的TD不就等同于是那个意思吗,能不能理解,就是说你你之前那是用思路去读flag,现在我就直接把flag和怎样给他copy分,copy成一点TT。
我等下再访问这个一点TT,不就等同于访问那个什么flag了吗,是吧,这个意思吧,要注意啊,每个都有封号,因为这个封号呢是那个一非要代表与结束意思,有点慢啊,把这flag给它给它copy到这来。
你看哎哦这里也把P1P写上去啊。
他有些flag文件太多了行吧,那就写吧。
把这个pp写进去啊,这个是用那个系统那个命令呢来取那个啊。
嗯怎么还没有啊,什么鬼乱七八糟的。
复制R点TT,这个是。
看一下下面是不是在这个目录下面,没有明显示嘞,我不用这个写了啊,我拿直接用那个C他们写吧,C等于这个写他们里面写吧,哎呀这也是麻烦死了,那个命令好像不能不支持在上面,E x e c,E x e c。
不要他回血,执行这个CP命令,Cp flag,PH再用这个P取代这个星号,因为他有过滤P1P嘛,写到当前一点TITE里面去,好写完之后呢,我们关注一下执行这个命令啊,LS命令把它进行输出一下。
看里面是不是有那个文件,啊有个INDEST啊,哎那个呃复制命令好像没有出来啊,那可能是在根目录,我加个斜杠看一下,啧,这他妈的这鬼东西呀,怎么就显示一哥呀,flag在哪里啊。
刚才用这个直接给我读的flag,那个读的flag就是个flag的pp,我这个把它粘贴还不行啊,真是奇怪呀,再粘贴一下,把粘贴到这个,八点TT他这不现实啊,没粘贴成功啊,显示没有把它粘贴到哪里去。
当前目录执行没看到,用这个粘贴复制命令,质量没办法成功啊。
显示内容呢有了啊,那写出来了,哎呀这里面不知道啥情况。
只现在一下子都出来了,刚才不出来。
这样子在这个当前目录下面呢,20DJ1。7都有了,那你再把这个访问一下这个RTT就可以了啊,这访问有点慢,这也不知道啥情况,八上卡了啊。
那他防不了,这也不知道啥情况,他仿不了了啊。
啧唉八成死了啊。
慢了慢了,那看到了啊,这单切出来就行了啊,就你自己呢读一下这个文件就完事了啊,读它呀,或者说直接在浏览器访问它也是OK的,这里读也可以读cat,读这个一点TTT和读二点TT都是一样的,码事情。
好这个就我们就不说了啊,然后呢我们再来看这个第三关。
这个关卡呢就是类似参数逃一的一个意思,这也是那个几个题目啊,讲完之后呢,我们再看实例,那这里的过滤flag system pp啊,这个各种各样的需要都给过滤,都过滤了是吧。
其实呢他还没过滤那个消ye c没过滤,还可以用ye c,但我们在那不用不下一层了,就这里那里还可以用这个YC嘛,你看过了,小本本没过滤,需要EC啊,对不对,这还可以用它,就是刚才的事,不还可以用。
那我不用它了,我换一个制度就什么呢,就你自己呢写个变量啊,你就写个变量的if FA也要再重新再给1FEL了,给一个变量传递这个XB呢给它,然后X后面呢再传递关键数字,就说我给他呢结束个X变量。
那if非要括起来,再在里面写上什么读取命令不就行了吗,c time该选C,他们去读取什么cat,然后flag点TD回车,你可以说为什么要这样写呢,啊没有成功没有成功是什么原因,来改一下啊。
为什么要这样写呢,if fl读取这个值,然后呢后面呢SYSTETIME啊,取取读取这个flag vb为什么这样去写啊,我这里呢少写了一个东西啊,少写个东西,嗯1FELXX这里少写这个符号啊,变量连接处。
变量连接服啊,好这里哎,不用cat了啊,这cat老是显示不出来,我用TAC,那是不是就出来了,cat是有时候那要看源代码才行,是ta4就把展出来啊,又是要开源代码才能看到这个cat,那你看就出来了。
R呢这什么情况,它的过滤呢就是过滤C的参数,但这里呢我就是把关键代码呢传给这个X,就说我在他们那再嵌套一个变量,才才嵌套一个参数值,就以X呢去传递,然后用一分再把执行是一个道理,就是我再嵌套一个X。
然后把关键词呢放到X上面,就绕过这个什么过滤是吧,就过滤这么多嘛,然后呢他过滤是C嘛,过滤是C嘛呢,过滤变成C,所以呢我就嵌套把C呢只发送这个东西过去,然后呢再怎么样传递另外一个参数,给这个字一样道理。
参数套一,好这个是这个第第一次啊。
第31关啊。
这个31关呢,到后面这个东西在讲32卦和36关呢。
基本都是一个事情,就是那利用这个包含漏洞呢。
把威胁给他带出来,这是新的一种玩法,就是刚才那是用RCE代码执行的,转这个什么命令执行,现在呢就又有个新的东西了,就是用这个RC漏洞呢转换成文件包含,你可能说这是什么玩法呢,就是利用这个文件包含。
文件包含里面就有威胁玩法,他怎么玩法,把C呢给一个东西,用include包含这个A的值啊,写先写这个吧,这个就是用include来去包含这个变量啊,参数A的值,然后呢A的值呢再写个什么东西呢。
A的值就写上伪协议,这个伪协议呢是文件包含的写法,我们前期在讲这个文件包含的时候,不知道大家有没有印象,我们看下笔记啊,在这个第50天的时候讲过,这个文件包含在文件包含了有危险与用法。
那大家呢可以看到呢,其中呢文件读取啊,什么代码执行都是完全OK的,比如说的仅代码执行的伪协管这个外套路上去,就是呢直接给他,然后呢用维协议来来拼接到这个A上面去。
他接收A嘛呢就是用e fl来执行include,包含再利用包含嵌套到上面去,就是利用RC1呢触发文件包含,再利用文件包含的伪协议去玩它,执行批评音符,那么等同于我们可以在这里呢,执行其他的效果是吧。
比如说我们现在呢来实现这个什么去读取,或者说执行代码文件是,那我们就可以试一下呢,比如说这里呢去读取,这个是读取文件的贝斯尼斯的一个编码,是吧,就可以展示到这后面去,把它复制一下。
那就是呢包含这个A参数值,然后A呢再写上来是读取这个flag文件回撤,把它进base news的一个编码读取,再把结果呢把它进行一个什么gm就OK了呀,嗯那个解码工具呢,妈的在这里。
那这个答案呢解码出来是吧,这个文件读取命令执行呢也是OK的,那这是命令执行,把它写到A后面去,降速为一些玩法啊,这里呢可以写pp嘛啊,都可以啊,弄好PPP也行,这样写的也是OK的,来执行都可以。
因为这个PB和写这种东西呢是一样的啊,也等同于写pp的意思呐,所以把执行来来读出这个flag,对不对,所以呢这个32关到39关呢,都可以用这个伪协议来完成,但是威胁那是文件包含的玩法。
命令执行和RCE里面没有,但是我可以用这个RC呢把威胁,把这个文件包含法调用出去,就是呢用这个什么EFFEL,来执行这个encode的代码,来实现一个文件包含的触发漏洞,然后呢再用伪协议套上去。
你可说为什么要用伪协议呢,可能有关键字过滤嘛,对不对,额这个后面的这个通配符就不讲了啊,这个37关和39关呢就是文件包含了,那就不说了,和刚才那一模一样,我们就不讲了啊,刚才呢我看到有人问到一个问题。
说什么这个RC怎么探针好,我现在讲到这里,大家觉得啊我讲的是什么弹针呢,能不能回答出来啊,如果说能想要我,我把把这个答案回答出来,我就相信啊,他思路跟上了啊,回答不出来,不知道我在讲什么东西。
那就是我不知道我这个讲的应用价值啊,给你讲,刚我看有人问问题吧,那个内鬼问到了那内鬼版安置,问到了RC怎么探针啊,啊我现在讲的是基于代码审计和CCTF的体系,CPF提运营和代码审计是相互勾连上的。
这个是什么意思,这里虽然说CDF呢都是小部分代码,代码升级里面cm s源码,那是成体的代码,但是他们的核心点不变,就是代码审计呢你能省到这种关键字,比如说有这个ECL来审,这个RCE漏洞的时候呢。
你审的时候呢,它肯定是有过滤的,因为没有过滤,那就直接漏洞就出来了,那很简单是吧,它有过滤,那么就和这个CTF1些常见的是一样的,它过滤什么东西,能不能绕过,绕过就有漏洞,不能绕过就没有漏洞。
所以CDF里面考的都不都是这种包裹,其实那就是锻炼你代码里面去分析漏洞的,这个技术能力,CTF看上去像是很无脑,但是他很多体型的设计,就是让你在代码中去找漏洞,你把CDA打的多了。
那么代码的一些常见验证逻辑就有logo的价值,你说我这话对不对,你仔细想一想,所以我们现在讲的看似像是CCTF的题型,也讲CCTF,其实上也是训练你代码能力,因为CDF的这个绕过呢,在你代码审计区。
绕过这个漏洞的这个情况的时候呢,也是经常用到的,大家有没有印象,所以CCTF啊不单单是打打这个题目啊,打这种东西,它更重要的就是训练你从代码中去分析,这个漏洞能不能利用出来的结果,因为你想象一下啊。
我就像我刚才讲的,像这个代码一样是吧,像我们讲的这个代码一样来就像这个代码一样,明显这里呢要触发这个1FEL,但是他有个过滤就过滤这个东西是吧,你打过CDF就知道是怎么绕,你没打过CDF。
你直接看这东西,你直你就选择放弃了呀,这A到Z0到九,你还有什么方法呀,你用了任何东西它都过滤,这还有个什么鬼啊,这写的非常严谨的,真实情况下,那可能还没有那么严谨,打过就知道能造。
用那个什么异或氯酸那种东西形成啊,没有打过代码升级,看到有这个e fl啊,他有这个过滤捞不了,那就等同于没有这个漏洞啊,所以这个漏洞能不能挖出来,和你CCTF的力就挂钩了。
所以说你不要小看CCTF的题型,你CCTF答的多,你漏洞代码升级能力就越高,这是相辅相成的,因为其实有很多这个CMS里面他是有漏洞的,别人挖刀的,不是说不是说他技术能力特别强,是他会绕他绕的能力强。
他就挖到漏洞的可能性就大,因为你很简单,一个东西放在这里,你能绕他,你就能挖洞洞,同样东西放在你面前,你觉得你你绕不了,绕过不了,所以你漏洞就他有漏洞,你也不知道啊,你挖不出来呀,你虽然说你看到那里。
你知道这里有问题,可能有问题,你绕不过去,那就是等同于没有漏洞嘛,别人绕过去,那就是有漏洞啊,他就挖到了呀,差别就在这里呀,为什么他能绕,你不能绕啊,这和那个CTF体型不就一样的个事情吗,打的越多。
CTF的技术能力越高,挖洞能力就越高,就是白合能力就越高,不是说这个搞实战能力啊,CCTF和实战是相差很远的,CDF是训练的是百合能力,就是代码升级能力,实在是黑盒能力,就是自己对漏洞的理解能力啊。
所以他是不一样的啊,虽然说他们都可以相辅相成,因为知识点是通用的,但是还是需要这个时间和自己的思路,我我个人呢像我我个人比较擅长黑盒能力,白和能力我还是比较差的,但是你只要天天打CDF,你百合能力就高。
因为白黑和能力呢就考验的就是什么,你的思路,你思路你人脑会想,就是你自己头脑比较灵活,你就擅长于黑河,你对代码的这个东西敏感程度更敏感,你就三场百科,每个人都有自己的擅长啊,但是实话实说啊。
你能有这个白河能力是最好,因为毕竟黑河他这个东西是限制的,更死你能想到东西呢啧就更死,但是你有代码就不一样,有代码呢心中有数啊,所以说大家更应该加强的,就是我们的这个百合能力。
就是我们说的这个代码能力啊,因为这个黑盒呢你不管怎么想,你必须要还是要符合这个原理,符合这个条件是吧,不可能你天马行空乱想一大堆,就像很简单,你比如说有些人绕过老喜欢围观,他绕过他就喜欢回答一个东西。
别骂别骂,这个编码虽然说是一种方式,但是你要符合逻辑呀,你像这种,你把这个东西编码传上去,他哪知道这是什么鬼东西啊,你要解码的呀,他不自检吗,你咋办,你传上去就是个字符串呢,他哪个他难道帮你自动解码。
帮你识别出来的吗,你想多了吧,你,所以你要符合实际,你能解码才行啊,才能用这个编码,你解不了,你用个编码用不了啊,你用上去对方都不知道是啥东西,他怎么执行呢,你天马行空的思路又咋样呢。
不能执行的不符合逻辑啊,好这个我不是题外话啊,我就是说刚才这个题目给他提这个几句,就希望大家能加强这两方面的能力啊,我这课程呢一直在围绕这两个能力,因为你可以看到我们这期课程呢,一直在每节课的时候。
我都说白盒黑盒,就是希望大家呢要同时进行啊,不要说是吧,忽略哪一个好,那么现在呢我们就来看啊,这个白河方面的CCTF体系,那就看就看了这么多了,那么接下来呢我们就看黑河,那么就像刚才说的是吧。
白河我可以看代码,知道有没有这个漏洞,对不对,代码审计一讲瞬间就明白了,漏洞搞清楚了,讲完之后学会利用呢,后期呢我们在代码审计,分析这个cm s的时候是吧,怎么去挖这个漏洞,一看哎就明白了是吧。
这白河那么黑河呢怎么去寻找呢,很简单,黑盒你想象一下这个代码执行命令执行漏洞,如果说我黑盒找显而易见的,他就是哪些功能呢,你想想哪些网站他会把代码去执行,会把命令去执行,这一想啊。
好像不是很不是很常见是吧,你拿妈傻不拉几的网站跑去接受你的这个直呢,跑去要去执行一条命令,在里面,不是直接给别人,给别人这个呃搞嘛,对不对,你要去思考啊,所以说黑盒里面去发现这个RC1呢。
说实话是有难度的,因为它这个功能你要去寻找这个网站,去总狠狠的去找这个漏洞,你要去想他的这个功能点在哪里,像我们说的文件上传嘛,找文件上传中,那就说只需要找有文件上传的地方就可以撤,这很显然这很好理解。
但这种RC1你说别人那个网站好端端的,在哪个地方会接受你的这个值呢,把它当做代码执行或者当做命令执行呢,这显然就不符合逻辑啊,我能给他举的例子就是像哪些呢,比如说模板是吧,他为什么要执行代码。
就可能是一些这种样式文件,他要把这个值呢解释过去呢,把它形成这个网站的这种框架呀,样式它可能会涉及到这个代码执行,对不对,像这个地方,但这个地方呢一般在网站的前端,就说不是在后台里面。
在前面它会有这个功能吗,一般没有吧,一般在后台里面就设置这个网站的界面,那设置它的模板的时候才会有这个功能出现啊,那只能说RC1难道就在后台里面才有吗,我没有后台权限,我怎么测他都测不了啊。
很简单呐,思路要广,比如说呢,网上就有什么这种代码执行的应用功能嘛,来代码执行的功能,在线执行的,比如说在线P1P执行,这有这种功能提方案,你看是吧,有这个东西啊,你打开了,这不就执行代码吗。
啊你可以说这和漏洞有什么关系啊,很简单的道理,我尝试一下,他竟然能执行代码,我给他我里面的,我让他去读取一下他自己这个呃这个什么,那去system m执行一下,我让他执行一下,读取一下他这个文件。
我把它先当成LINUX是吧,读取一下这个文件,我看看能不能读出来,是不是我要执行一下,你看他读不出来了,这读的是谁的,不就是他自己的吗,对不对,你看像这种呢,他也是一样,道理呢,这也是代码执行的。
你自己就说你要找到符合他逻辑的地方,你要想到这个漏洞在展哪里,他执行代码,执行代码就是这功能就是这就是它的应用点了,那你只能找这种啊,你黑盒只能找这种啊,不然的话哪些有这个地方有搞这种事情的呢。
是不是你比如说呢SDM必须执行啊,我看一下啊,那我执行下来,我cat呢先确定下能不能执行是吧,他有些可能还有过滤,或者说他是在虚拟器里面,啥叫虚拟器呢,就是他有个仙子,他怕你搞这种事情。
他可能把这个资金逻辑都放在虚拟器里面,我们可以试一下反弹一下,你看啊,我试一下反弹,我看你能不能反弹啊,来我看一下,学会嘛,你自己呢要举一反三的呀。
你不能说学完之后就傻不拉叽。
是什么都不知道了啊,我不讲,你就完全不知道是什么东西,那我比如说是566反弹端口,把这个反端口我试一下,比如我执行一下啊,呃用这个命令反弹一下啊,看一下啊,是执行一下,看。
啊我先用刚才那个这是几个平台啊,不是说只有一个平台的执行下来,我用这个命令执行下来。
反弹这个端口,那我在这边解释一下,看能不能直接受到NC杠LVP5665百。
来然后执行一下,看看能不能反弹啊,执行go,哎你看他报了个错误,说什么鬼东西,哪里有错误,这怀疑是否语句代码问题是吧,语音弹幕里,那不管他,我再换一个吧,这还有其他的反弹语句吗,也不是说只有个嘛啊。
我这里呢换一下Python那种语法啊,或者说其他语法都试一下嘛,哈来Python大家看下,用Python语法来执行,他反正调命令执行嘛,你不管他是吧,调命令执行就可以用这种语法来。
在pp里面呢用这种语法它也是命令执行啊,这种东西它也是命令执行,那写到后面去,我把它进行一个粘贴复制,等下呢我们就用一下看下执行,他报了个错误,什么Python没发现,那就说他没有Python环境。
这个没有Python环境,那我换一下呢,用这个python3环境来执行一下这个命令,看行不行,写Python代码来让我看一下啊,自己要学会多用嘛,这个分隔符嘛写一下,代码都组织一下。
因为这个Python讲究这个这个东西的一个操作啊。
他没有换行符,我来试一下它运行。
来结束到了来看没,来来来来来,这什么鬼东西啊啊这什么东西啊啊,你告诉我这什么东西,你这个你说我今天讲的PVP,这和这个Python有啥关系呢,一样的道理,他反正也是执行这个代码嘛。
那个Python pp有啥不同的呢,这个无非就是说这个是用Python写个那个反弹,那这个呢就执行那个拍pp的啊,pp的也可以,那你私下那个pp的那个pp的是这样写的,再等同于就是这个代码呀。
是不是也是这pp代码,你可以把它放上去执行,也是一样的道理,那比如说我把pp代码放这里执行,我看这行不行啊,刚才的地方那里知道pp代码吗,是不是这个是执行pp代码的,我看这个行不行,对不对。
啊这PB代码啊,566,我再试一下,这边来,啧什么鬼啊,好来开下,哎又又解释到了,那又解释到了,这没反弹成功啊,不不不是很稳定,但是还是有结识到啊。
那其他的也是一样道理啊,其他一样道理啊,你像这种也是一样道理的,这个执行这个命令执行的地方是吧。
所以你自己要想我们就不是车了啊,都不测了啊,这是说是产生那个漏洞。
那个成因,那个应用功能你自己要思考啊,不是说啊我给你讲的这个东西,但是有可能呢就说这几个平台呢它都有个问题。
有个什么问题呢,就是说呀他都有一个问题,有什么问题呢,就是我刚才讲的,他可能放在沙盒里面,或放在多克的环境里面,啥意思呢,就是说他不是个真实的这个服务器,它可能放到那个沙盒。
就是放在一个那个很安全的环境里面,因为他就怕你这样搞,发你这个执行命令呢,然后呢把他权限得到了,就是把服务器权限得到了,所以他可能都放在一些沙盒,就是一些那种给你虚拟的一个那个磁盘里面。
但是至少啊这个理论是这样的啊,你如果说能逃逸什么多克特呀沙核。
那就和他服务器是一样的道理,但是很多的可能是在沙盒里面啊。
我们没有车,因为这个呢我们只是讲这个简单例子啊,后面那不是我们操心的事情,那属于集权啊,那些方便的事情啊。
好这个就是我们今天这个内容啊,那么至于这个RC在实战中如何去发现,就像我说的一个从他功能点出发,这是黑盒的一个思路,白和速度,那就是从代码里面分析,那可能又问了,那好像很短的呀是吧。
有很这个这个发现的漏洞的意思好像很少,因为在黑盒里面呢,就像我说的这个功能不常见呐,对不对,白盒里面那有圆吗,还好对吧,那有没有其他的呢,很简单的道理嘛,我们前期的心肌收集是干嘛的,是干磁的吗。
网上有很多产品都出现过这个代码审计漏洞啊,代码执行漏洞了是吧,那不就是可以利用的地方吗,以前收集的这个漏洞,代码审计漏洞,拿个什么cm s啊,或者说哪个产品里面的一些东西,有这个代码执行漏洞。
远程代码执行啊,嗯是吧,什么这个web locc的啊,这种地方是吧,包括那多个代码执行漏洞。
你知道是这个产品,不就直接知道是有这个漏洞吗,去利用它就完了呀。
所以除了这个之外呢,你知道产品搜他漏洞,也有找它的功能点里面去搜车也是一方向,有源码的代码分析,也有各种各样类似的,你只要自己把思路理清楚,就是那么个理啊,不要说怎么发现怎么探针。
问这句话就是压根就是自己学的太差了,自己再多看几遍想一下,不要老问这种什么弹真弹真探针啊,鬼啊探针你想清楚把它区分为黑和白河,黑河是什么情况,白河是什么情况,有就有没有就没有,哪有那么多什么贪真贪真的。
你只要想象一下,你们很多人说挖不到东,对不对,那有的人他怎么挖到了三个月五个,那时生人非礼是刚才那个是吧,我那个那个叫什么名字呀,叫什么呀,那个名字超忘记了,刚刚那个叫什么呀,我说那个是张海杰,对不对。
你看我张海杰学了几个月,他怎么挖到了是吧,还是CN飞机,直接30张CVD21,我张海健,我就不服,对不对。
嘶好好学啊,自己少点疑问,多点实际啊,自自己自己多思考一下,我告诉大家啊,我以前我是怎么学出来的,或者说我为什么有些人说我比别人教的好,我告诉你,第一个我也是自我是自学的,自学了过程很漫长。
但是基础很牢固,你学的时候我告诉你啊,你只要老去想它,老去思考它,你每天都在思考你今天学的内容,然后呢自己去想啊,就像我说的漏洞是怎么产生的呀,漏洞会在哪些地方发生呢,你以后碰到漏洞该怎么办呢。
你老去想这样的问题,自己呢去把它进行时间去操作,就学的好,我以前就是这么学的,反正我记得那时候是吧,我那个年代,那个时候我也不像现在也没有一些这种是吧,各种事情打扰啊,那个很单纯,就是学完之后呢。
就天天想他,想完了就上电脑就操作一遍,然后呢就是把自己通过自己想的,比如说有哪些有哪些差异是吧,是不是我想的那样子,我就上街了,一操作,操作完之后呢就知道了,然后一个支点一个支点再慢慢对,后面就知道了。
对不对,所以说呢像我为什么讲课,老会讲到一些这种是吧,你们说哎呀他讲的好,为什么呢,就因为我前期经历过,我知道这个学的人他哪些点他容易理解不了,他有哪些疑问,那为什么隔壁是吧。
他讲课的时候总不能讲到你的痛点呢,就是因为他是培训出来的,培训出来的就是一个一套体系,或说他压根就不愿意花时间花请你讲给你听,所以我翻车不要去你妹的打问号啊,什么骂我跪,我对不对,我愿意讲。
这就是负责的,我拿回你妹的,我直接不翻车,我讲都不讲,我说啊,这里就这样啊。
好拜拜,要这种好一点嘛,啊我给你多提一嘴,是囊是花期的,给你再讲啊,没人愿意趟趟趟趟这一趟浑水呀,翻车少的那都是不负责的,你记住这句话没问题的。
P59:第59天:XML&XXE安全&无回显方案&OOB盲注&DTD外部实体&黑白盒挖掘 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny
呃叉叉一的安全问题啊。
这个安全问题呢,其实也等同于是那个JSN的一些格式,数据的传输安全问题和那个有点有点类似啊,不网上呢是专门呢有讲这个叉叉一的,呃其实叉叉一呢就是说的是这个XML啊,就说他的语言的这个格式呢是XML。
然后呢他的安全问题呢被引出,名称呢叫做叉叉一,其实那就是XML,那是他的这个语言的一个教法,它的安全度物种呢被称之为叉叉一,两个呢是一样事情啊,网上也可以称之为插满L注入啊。
叉叉一注入这种呢都是他的一个教法,这个安全问题呢,额首先我们先要明白一下这个叉叉,ESXL这个是什么东西啊,这个东西呢,它其实呢就是一个传输的一个格式语言,叫做XML,然后在早期的年代呢。
这个用的是相当广泛的,随着这个JSON这种传输的格式语言的出现,XML呢在市场上的份额呢就有一些减少的趋势了,这个差买L呢和那个JSO,那是差不多的一个概念,就说两个呢解决的问题都有点类似。
不过插满L呢比SJSN呢多了一个东西,就是多了一个存储方面的一些事情,简单说这是个什么东西啊,这个XML呢,它的一个设计初衷呢,是为了将这个数据呢进行传输并且存储数据啊,然后呢以它固定的这个格式。
然后在传输和存储数据的时候,经常会被一些这个后端语言呐进行解析,那么如果传输的这个XML里面呢,带有这个A1的这个利用的代码在里面的话,在解释的时候,那就会被触发,这就是造成这个叉叉一族漏洞的一个地方。
啊就这个意思啊,这是它的全称叫XML,然后一什么一定的injection啊,也叫叉叉一实体组,他的一个安全危害呢,通常指的就是说可以进行文件读取,然后呢进行一些常规的信息收集。
其实有点类似于这个SSRF的一,些攻击的危害,然后呢比SSRF呢啊多一个危害,就是说它能够进行文件读取啊,不过SSF呢也可以,他和那个文,和那个SRSF呢利用的危害呢差不多。
但是他的漏洞的产生原因呢是截然相反的啊,那个呢是属于逻辑上面的是吧,没有过滤这个本地地址,导致呢通过SRSF呢读取本地,或者说内网的一些IP端的信息呢一个漏洞,这个X秒L呢他不是的啊,那么说了这么多。
大家呢也是似懂非懂啊,我们来给他看一下啊,解释一下这个XML是什么东西啊,啊,这个网上呢大家也经常可以看到,有很多这个XML的这个什么东西文件啊,我们可以网上呢给他搜一下啊,嗯看网能不能找到啊。
哎这个也不知道能不能找找,找几个看一下啊,哎呀这能不能找到哦,这上面这个语法还是要谷歌语法才行,这个上面一些语法呢说实话还是不行啊,谷歌语法搞一下啊,开个代理访问下谷歌。
来看一下网上这种XML的一个存储的一个案例啊,大家就能明白它大概是什么东西了,一解释,那么它的漏洞,那就是产生在进行这个传输的时候呢,出现了安全问题嘶。
搜一下啊。
嗯啥情况啊。
搜都不让我搜。
唉把代理换一个吧。
哪里哪里哪里哪。
哎呀不要搞人呐,好看下这个吧,那这有啊来我们看一下啦,嘶啊大家可以看一下啊,这个是一个可以看到啊。
这个XML的是吧,这个里面呢有很多这个XL的一些东西来,你看啊,我们可以看一下这个源代码来大家可以看到啊,啧前面那就是叉叉买L的一个第一,然后下面呢有很多这种是吧星系,那其实呢这个XML呢。
我们可以把它理解为是一个什么存储数据的,就是这个呢就像是存储数据的,存储什么数据啊,就有点类似于我们在上面写着的啊,比如说这里的它的这个名称,然后他下一集啊,然后叫什么名字,这里面是值啊。
前面是他的这个索引,就有点类似于我们的开发里面呢,去赋值的兼民兼职,前面那就是间名,中间的是兼职,然后他也要去对这个数据进行转换的时候,那就用后端语言呢去解析这里面的东西,把里面数据就给取出来。
所以说这个XML呢他是个干嘛的事情啊。
很除了这个之外呢,网上还有很多啊,还有很多这个是吧,很多,这种类似的一些平台啊,很多这种类似的网站啊。
哎给看一下啊,这没搜,我搜一下那种XML的一些文件给你看一下啊,就大概明白他这个含义。
你看这个啊。
啊,这个是一个网站的一个EDUCN上面的存在,一个什么matter data的XML文件,来看一下是什么东西啊,你看它其实呢这个插板文件呢,它的这个组成部分呢就大概这样子啊。
老虎里面呢就会有类似说我们说的那种兼民啊,啊是兼职,然后一个分类它就类似于我们说的,像那个GSN一样的兼并兼职,然后一个索引就这么个大概概念,它和那个JSN一样的,我们举个例子呢。
就是简单就是说什么意思啊。
我们打开开看一下,就类似于啊,比如说我前面像JSN的那个数据一样的,按模型,JSN的可能就这样子啊,比如说这个个人信息的,就叫这个雷姆啊,知道吧,就叫这个,ACCOUNT啊。
然后呢在它下面呢又有几个极点是吧,我这有几个,括号在下面呢有几个,然后呢在这里呢有生命类目是吧,比如叫啊,嗯然后呢A级是吧,连几对不对,多少,啊他就会以这种形式呢取这个啊,去这个去去搜索他的信息。
然后这里呢是个这个里面的,然后呢下个部分呢,比如说有搜那个其他信息是吧,其他的一些这个信息,比如说我们给取个名字啊,下面的就是这个是吧,各种各样的,那么去引用的时候呢,就引用这个东西叫引申义。
那这个是那个类似什么JSN的啊,JSN的这个数据的格式存储啊。
这个XML呢就是这么一个形式,那这是他点一下了,分级是吧,一点下去呢,这是他下面一级,然后这个呢这一点卡了啊。
因为他数据比较多卡了。
啊就是这个意思啊。
这个就是那个XML的一个大概情况啊,他这个情况呢就类似于这个JSN,为什么说它的市场份额较小呢,因为大家可以看到啊。
我刚才看到的这个东西,你看呢啊,这个东西他比那个JSN呢,看起来会更加的复杂一些,主要有大量这个东西介绍呢就比较简单干脆。
所以说这也是为什么说分量开始变小的原因啊,还有这个取代的趋势,所以说这个XML呢他具体是干嘛的。
应该就能大概清楚了,他就是用来传输和存储数据的,你可能说刚才是延时的传输数据啊,这个存储数据,那传输数据是什么概念呢,很简单的道理啊,我刚才说了,你就把它理解为它是一个存储的一个东西。
然后呢你要从里面去取出数据或说解析数据,后端语言呢就会解析这个语言,在解析的时候,如果这个里面呢有一些这个恶意代码,那么解析出来就会形成这个攻击,比如说里面呢有进行文件的读取,就会形成攻击好。
那么现在呢我们就先看一个本地double,看完之后呢,我们再来分析一下在实战中和这个真实案例中,他的一个具体现象是什么情况啊。
好我们打开这个本地的小案例来测试一下啊,你比如说额,那我们前期在讲那个SQL注入的时候呢,大家都知道,我们当时呢SL注时候还讲过一个东西,叫JSN注入是吧,大家有没有印象。
就是那个支点呢是一个JSN的传输格式,所以我们在做的时候,就必须要按照这个JS文的格式,去发送那个数据包,那么现在呢我们再看一下,除了GSN,其实呢XML呢也有这种安全问题。
哦你看一下啊,这个呢是我们那个本地搭建的啊,那这里一个登录的啊,本地搭建了个DMO啊,这个小靶场来看一下啊,他是个登录的一个对象啊,登录账密码呢,然后进行这个登录,对不对,把登录进去啊,一点登录好。
然后呢我们看一下这个数据包来,这是啥数据包,我们把数据包呢拿出来看一下啊,看下这个数据包,你看他在登录的下半部分啊,就有这个什么,你看啊,那账号和密码额正常来讲的话呢,我们把格式给他输出的啊。
我们把逻辑呢给他理一下,那这是他传输的这种格式,那么由线呢可能就是这样传输吧,有些可能这样传输,哎有些可能就这样传输了,嗯这是一种这第二种,还有现在如果说GSN的话,他会怎么样。
他有这样子看他是user括起来嘛,那个user啊,然后呢user里面的再把UC,咳大概是这么个逻辑吧,来就说那传输的时候呢,这是XML的传输模式格式,然后这个呢是什么正常的我们常规的那种。
还有一种呢是接收温呢,我们前期讲JS温注入就在这里呢就进注入,对不对啊,如果说在这里呢,那就是在后面的进出,那如果说这个呢那也是一样道理啊,也在这里后面进出了是个道理吧,啊没问题啊。
其实就是说这个菜苗呢,它只是一种传输的一个格式语言吧,没什么日和其他不同的支出。
你就把你这样去理解它就可以了,好也就是说对方呢就是解析这个格式,那么同样道理你试想一下啊,那么既然他这样去发送这个数据,那么必定服务器那边就会以怎么一个模式呢,去解析这个数据啊。
是以同样的解析模式去发送数据啊。
就很简单的一句话呀,你如果说用JSON啊去发送数据,那么B订单服务端那边呢,也就是客户端和服务端啊,我们就写一下啊,这个是客户端啊,健身去发数据,那么我这个服务端就是我做服务器的那一件哈。
那么他就可以介绍问呢去解析数据,这样子那才能正常的把数据把它取出来,对不对,那么同理啊,你这个XML的格式呢去发送数据,那么同样这里面也会有XML的格式去解析数据,对不对,那么大家试想一下。
前期呢我们在在这里讲的时候呢讲猪,那么同样道理,看菜毛如果发送这个恶意数据的话,哎这里呢就造成了差这一组,那么这何为恶意数据呢。
来我们就来看一下啊,比如说我们这里呢给他先发过去,看他回血,那回显出来呢是吧,这里返回零这个什么艾德米是吧,然后就是他的这个返回的信息,发我信息的也是这种是吧,也是这种那这种模式。
然后呢我们现在呢看一下啊,我用一个这个带有恶意的这个XML的一个payload啊,这个为什么这样写,等下我们来看资料啊,来白血这什么东西啊,那把这个里面的设计个变量叫做test。
test里面呢为file去读取D盘,E点TIT下面的username,这里呢去引用它,然后password这里随便写了啊,这个是随便写的,这个无双你用啊,这个不影响前面这个也是随便写的啊。
啊就是这里呢要保证和这里对应上就可以了,然后面这个东西就是你的这个工具配,漏读取D盘的一点TIT,我们来关注一下这边的这么一个情况,这里有一点TT,它的内容是123121,我们把它进行一个法数,看到没。
123121显示出了,因为呢我们再加上去再访问,再发送,同样实时更改,这个是刚才显示艾德米的地方,为什么会在这里显示呢,因为它显示艾德米是你登录用户这里,你这里呢触发的是这个呢test。
而这里呢是请求一点TT,那么就是在这这个变量吗,然后这里显示的是,刚才显示艾德米是在这里输的艾米,对不对,艾德米呢就在这里显示,但显示是这个是吧,类似它的一个变量值读取的这个什么一点TT。
所以这个就显示它这种呢是有回显的一种,工具的一个思路,然后呢去读取这个文件实现的一个操作,你可能会问呃,这和前面讲到的那些杂七杂八的,有什么不不太一样的呢,首先关注两点,第一点什么两年呢。
第一点我刚才去登录的时候抓到的数据包,可以看一下,是这么个情况,那就是说为什么其他的网站不能这样直接测试,我现在讲这课要这样测试,啥意思呢,就是说问一下大家,这个意思就是在何种情况下面。
是这种的测试流程,有哪些情况,不这样测试,黑盒里面的一个测试方式呢,是关注数据的发送格式来决定它,既然发送本身的数据传输,走的就是XML的语言格式,那么你这个时候就可以去测试它,有没有XML的一个注入。
就把你的这个工具payload呢给他放上去,给他发过去,来看一下情况,这是你的一个测试思路,还有一种情况就是看一下这个地方叫contental type,啥意思啊。
内容类型application XML,这里已经明确告诉你,它的一个数据类型的走的是XML,那么这里呢也是成为一个点的重要,就是有时候呢即使说下面的数据啊,你看到或者说看不懂,或者说没有。
但是你有看到他的数据,这个数据包自带的请求是这个XML的话,那么一般的话就是表示代码中啊,有正常接收这个XML,这个时候呢你就可以发什么,这工具配合写到这里来进行测试,能理解吗。
所以说啊这个小小的安妮呢,单从这个点上面,那就给你分析到了这个叉叉一漏洞,在黑盒中的一个测试的一个情况,主要呢就是看几个地方,就看哪几个地方呢,那就是可以看一下这个类型,如果为XML的时候。
那就说明他有结束这个XML格式语言,这个时候呢就可以测试,这是第一点,第二点呢就是你也不用管这个地方是吧,也不用管这个地方是不是XML,你只要看到下面数据呢也是这么一个格式的话,那也是OK的。
也是可以测试的啊,就是看这个数据包的,你有人会问了,那怎么看数据包啊,有没有这样的问题啊,啊我不是说不知道怎么开数据包,就是怎么这个有这个数据包东西呢是吧,对不对,肯定有这样的问题啊,这不用想的。
我也想都想不到啊,是不是有没有这样的问题啊,那你问就问嘛,是不是我们不说其他的哈,哎其实我告诉你啊,你一些东西呢你自己活学活用呢,很多东西都能解决的哈,你比如说像仙仔啊,我不可能说来这里有很多数据包啊。
对不对,我不可能说这个一个看,那在里面看到什么猴年马月,对不对。
其实呢你不管是包里面还是这个真正里面,你看到了这有很多数据包产生的是吧,人不可能一个点开看的,那你看看这个呢就是这种增长模式啊,这个呢就不一样啊,你这里呢把数据包进行一个筛选,第三就可以了呗。
来搜这个关键字呢,好写错了啊,不是关键字,来把这个前面这个开端把它写进去,搜到关键数据包里面啊,你也可以搜其他的一匹配,那只有一个出来了,这个里面匹配到了是吧,有这个呢,你看这里都有这个东西啊。
诶匹配到哪里去了哦,应该是在哪里,在这里呢你看这个数据包里面都匹配到了,你看那啊,我意思就是说你要活学活用啊,有时候呢你把工具呢去搜一下这种关键字,就能知道哪个地方有走这个类似的东西,那你就给撤了嘛。
题外话啊,我怕有些人老这样问,问的弯的真的是你不给他解答,他就永远是个答案啊,这个是我们说的那个东西啊,好然后呢除了这个之外呀,还有很多啊,还有很多,我现在问一下大家,我现在讲课呢,我就是死怕你听不懂。
我是想把你讲的非常好,我我所以说我还要问大家一句话啊,你像那刚才我说的那个XML的那个解析,是不是啊,我不知道大家有没有明白那个流程啊,来我再给大家讲一遍啊,XML它是用来存储和传输数据的好这是第一点。
也就是说和那个JS文段有点类似,那就是以那个JSN那种形式的去存储数据,那么为什么会造成这个漏洞呢,大家想一想啊,为什么造成这个漏洞呢,首先第一个啊,他刚才呢我们不是去发送那个数据的时候啊,对吧。
发送这个呢发送这个数据的时候对不对,他是个GSN的格式是吧,法统是个JS啊,是是个XML的一个格式,对方肯定是要结束这个账号和密码,那就是就这两个你写的值,那么也就是说对方会解析是吧。
对方正面会解析它,解析的时候,如果你之前发送给他的,这里面带有这个什么读取文件的,那个什么上马干嘛,这里,这里呢他解析的时候就不就读取了吗,然后在这里读取了就形成了叉叉一组,然后叉叉一组呢有两种。
一种叫回避险,还总是讲共同回线的两次,你看我想今天又提到不会写,哪天别人又问你这个叉叉一注入五块钱怎么办,对不对,你又不会回答you,骂我对不对,基础number one什么都没讲。
这个呢也是一样道理吗是吧,无回血和无回显啥情况决定的,就是看代码给不给源啊。
你看我刚才这个租漏洞啊,这个这个差的一是吧,我在这里呢去发送过去呢啊,去读它这个文件,它有显示实原因是什么呢,就是因为他这个登录正常的账号,这里呢它也显示的嘛,就是你呢你在登录账号密码的时候呢。
如果登录呢登录艾特米,那它就显示艾特密码对吧,那那你只能假设艾特米一,那他有2米1,对不对,他有显示他有节收你这个数据,并板你这个数据显示,所以说呢我刚才为什么会在这里弄呢。
把test test读这个DID嘛,在这里就显示了吗,好吧,有显示这种叫有显示啊,优先事就好办好,那无回旋,那是不是,那怎么办呢,是不是那五块钱呢,在叉叉一组里面的解决方案呢就有几种。
一种叫外部实体应用,那网上呢也称作叫ob,叫盲蛛,叫叉叉一的盲注ob啊,网上有种专业叫法啊。
那其实就是一个地理题,一个问DDT的一个文件,就然后这是他的一个利用。
如果说进行探针分析的话啊,探针分析的话,那基本上那就可以直接用这个什么DIY的,一个查询就完了啊,带Y查询就可以借助一个app的访问呢,来确定他有没有这个情况,那也是非常简单。
就是把刚才那个payload呢把它进行一个更改,就可以来测试它有没有这个测试啊,来比如说现在我们就来测试一下,就是刚才他登录的数据包,这里啊,我们在前面再写一个这个什么X1,X1的一个利用代码。
待会测试来看一下他有没有对吧,这个执行成功来确定这个漏洞是否存在,我们观察一下啊,首先这里那里看的啊,嗯这个地方呢可以随便写啊,这个地方可以随便写,因为这里已经写了呢,这个file去调用这个的地方。
D的话是刚才那个是file协议,这个是HP协议返回的DSLOG地址来确定一下,需要再来是吧,然后你看啊这个随便写啊,这个无所谓的这个这个地方无所谓了,下面这个无所谓的,那主要是这里啊,写了啊。
我们来好访问了,刷新一下有没有,大家看到没有了,说明有执行,那就被执行是吧,没问题啊。
啊当然了,你也不用完全用这个什么DSLOG是吧,你也可以用这个什么,在服务器上面创建一个这个监听器啊,用这个Python这个这个是吧,监听器呢开一个这个什么开个,I mean in a python。
哎呀,老用了老忘记拍子啊,这里,开个这个服务是吧,开个web服务查询端口,对不对,然然去访问一下吧,啊,对不看这边有没有记录也是OK的啊,但是有些这是AP协议,他能搞啊,如果其他协议他就不能搞了。
你看一访问来解释到这个IP的访问过,对不对,哎有了啊。
那IP是谁呢,那我看一下啊,我看我的IP啊,多少啊,119。98。142点,什么200这边显示的呢。
1999814620,就我自己呀,因为我在本地超市嘛。
对不对,所以他就是自己没问题啊,来用用发问过是吧,有记录R没问题,说明他带歪了,那这种呢就是测的,第一种就是分析能不能去玩它,它没有回血,你无法判定你有没有成功,第一步先做DIY的一个测试。
能带歪了再去利用,因为如果说你都不知道能不能带歪,你测到后面那个攻击配漏的,那是没有任何意义的啊,然后呢这个测的方式呢,我们就直接啊给他使用第三种无回线读文件,这个外部实体引用呢这个就不讲了。
因为它不是解决不会线,它就是说在上面这个读取文件的基础上面呢,搞了个DIY,啥意思呢,就说你可以看一下代码呢,去访问一个远程地址的一个叫DDT,DDT的文件,这个DT呢就类似于加载了一个库文件。
就可以这样去理解它啊,也不用去学这个XML的一个本身代码,不用去学它,底题呢就理解为是它的一个库,这个语言的库库里面呢可以写代码呢,让他去加载运行,就类似于我们在开发语言中的,什么包含哪个文件。
哪有什么库的意思,就应用那个库呢,就会享用那里面的库里面的一些函数,就和这个意思差不多,那么他就去呢用这个file呢,去加载这个染成文件的一个DDT,然后呢在远程文件上面写成这个代码,这个代码干嘛呢。
就是读取一个一点TIT是吧,就这个意思就是加了一个外部引用,就是把核心代码呢放到这个DDT里面,然后呢这里呢只做一个访问加载是吧,就这个意思啊,这个是外部stem,然后无回旋呢,就是什么办法呢。
就是在它上面呢加了上一层,加了另外一层,这个是绝无回旋的,好,我先把这个呢给大家看一下啊,来来看一下啊,然后呢我在服务上面创建一个啊,在我这个电脑门这个服务上面搞一个,好我们在这里。
那就搞一个这个小低点DDTDDDDTD。
搞上去之后,把这个代码呢给他捞上去啊。
这个就是那个苍白的语言吗。
来去读取这个D盘一点TT,然后呢是这个C的啊保存,然后呢保存好之后再把这个地方呢改来复制啊。
然后呢我们在引用的时候呢,就把它粘贴上去,去请求远程地址,远程地址,就是我刚才那个服务器的一个地址是吧,放上去那个小地点DDT那个地方好吧,就这个地址嘛啊去请求这个软层的地方好吧。
然后呢去访问他这个地方,刚才写的代码大家看到了啊,就是读取那个文件,我看他是不是能够正常读取呢,来勾一下看一下吧,来能够正常读取,对不对,同样道理啊,你改这个地方。
你把它进行修改啊,比如说再换一个啊,读一个这个D盘的什么R点TIT,这是R点TIT是吧,我读个R点TIT开试下,保存,勾那他就读到是2号点,第二天内容对不对。
它会随这个更改,这个干嘛他就干嘛,这就是外部实体应用,叉叉一里面的外部实体应用,就是呢让他去加载外部这个dd啊,DTD这个文件啊,然后呢主要功能呢就由他来决定,就这个文件里面的代码决定啊。
XML的一个工具代码决定,但这个呢他不是解决回弦的,它不是解决回弦的,因为这个回旋呢就会运用到这个奇数,解决回旋的话就要用用了这个技术,刚才这个待外测试是分析有没有回旋的,就是分析有没有。
就是说无回线怎么判断是用代码啊,这个DIY执行的去判断它,大家不要搞混淆了啊,不是说DIY去访问呢。
是解决这个误会线利用的,它是分两步的啊,不要搞错了啊。
来这个分析判断呢是吧,就是他带外查询,但是这个利用啊,是要用到这个什么外部实体的这个东西的啊,不要搞错了啊,DIY查询啊,然后呢他的利用思路就是我说的这个Y5实体。
嗯这么说外部实力及T里请分析的一个情况啊,然后他是如何成功的啊,大家看一下思路啊,额其实呢大家可以思考一下啊,这个diva查询呢其实也能解决,那个也能解决那个叫啥呀。
也能解决那个DIY把数据带出去的一个操作,大家在前期我们讲那个嘶讲那个反弹的时候,我那个带歪的时候。
不知道他有没有影响啊,就是说我这个钱就比如说个dn log吧,我前面呢加上计算机名呀,然后呢后面加上什么鬼东西是吧,我也可以把数据呢加到前面来,这边呢是能够接收到的。
其实呢就是说你要改变这个这个payload的一个。
那个写法啊,就改变那个payload的写法。
就是让那个数据呢写到那个什么d slog,那个头部啊,然后呢去让他请求这个DISS,那么数据也是会在这边显示,但是呢前提是你要会写那个什么东西好,我先把这个原转本本身的给他开一下啊,你看他怎么搞的啊。
首先在这里呢外网的主机上面呢啊,先先看这个代码啊,来file读取一点TT,然后呢remote a remote,远程地址去访问一个test on dt d执行remote。
再执行个O你跟说这哪是Y这不是file吗,告诉你啊,这个file不用执行,它也能访问到啊,然后呢你看啊,下面这个test d d t里面呢写了个什么东西啊,哦这是双引号,啥意思啊,就是把当字符串。
字符串里面是这个整体执行,它去访问一个另外一个地址,叫get pp file,加上这样就这个值,将一点TT的内容访问这个地址啊,访问这个地址复制给这个file。
然后get pp呢去结束这个file值并写入文件,啥意思呢,流程是什么意思啊,现在大家关注一下,首先这里呢读一点t t fail啊,等于fail,然后呢去访问这个特色TT,去加这个特色TT啊。
然后加载这个代码里面是一个all核心,就是让他去访问这个什么,另外一个get pp文件来接收这个file的值,file值,那就是这里获取值,所以它的追踪核心呢就是读取这个文件,并且访问这个地址。
所以我们就给给大家看一下效果了,这个是他的一个不回显的利用,刚才那个只是分析不会显的判断,就是有没有那个漏洞,现在就是利用,比如说利用它的读文件,你可能说它的危害不是还有什么内网扫描啊,命令执行吗。
但是我告诉你啊,最常见的就是文件读取命令执行,我执行没有碰到过,网上说有这种漏洞,但是一般是那种插件漏洞啊,就是说像网上的java里面有一些那种叉叉一的猪,引起的命令执行啊,有但是它不是原生态的啊。
是那个什么鬼框架里面东西就是和XML组一样的,内网扫描,和工信内网一样的道理,你把那个地址改成内网地址,就是访问内网地址的值了,把地址file里面加上地址,也是访问内网内容。
所以说他和那个sf5比较类似的,原因就是这个意思就是把这个协议改成啊,比如AP这里加上个内网地址,那么就是访问内网地址,所以他就是什么内网的信息收集,就那个意思啊,我刚才没给他忘记提好,看一下这里啊。
看那个刚才代码里那一个get点pp搭传上去,看看怎么写的,接收file的一个值。
保存到file txt,写入这个代码没有问题吧,很简单,接受file参数名的值给变量D,把data数据的写到file给TT,就这简单。
好接下来看一下上面那是没有file0T的,然后呢再来关注下这个呃,Test t t tsd d t。
来all变量啊,然后呢去请求这个get点field tt是吧,就这个逻辑啊,就是把这两个文件给传上去。
一个是get的VP接收的文件,还有一个呢就是这个远程的这个实体化文件。
他想去,那么代码攻击,代码就只需把这个写下去就可以了。
你可能说上面呢是不是这个username这些东西吗,这些东西呢是我按照那个格式发送的啊,其实上呢你不用写到上面那就可以了,来看一下啊,来再重新分析一遍啊,读取一点TT内容,然后呢去加载远程的特色TT。
那我刚才说过,加载远程TTT就会执行这个特色0TT的东西,那么特色TT是什么东西呢。
就是什么去让你去访问这个get app,然后呢把这个file传上去,再有呢就是这里面得到的这个东西嘛。
点贴内容好,现在呢我们来访问,你看这里呢没有任何显示,但是我们在这边可以看一下有没有file DK t了,嗯那有了在20。47分,就是刚才打开一看内容传输到这来了。
是吧,这个就是他的一个无回血的一个文件读取利用。
啊就说我不需要显示,我这里呢可以把代码呢给他简单的过一下,就是它本身这个漏洞核心代码就是个本地DOO,看行漏洞产生过程和无回险和不危险险。
有哪些方面来决定,这也是方便大家日后针对这种漏洞的一个啊,他的一个分析吧,啊这是他的一个本身代码啊。
这个里面的我们可以关注一下啊,看前端页面和它是用pp的一个写法啊。
但这个漏洞呢在任何语言都有产生,因为它不是和语言挂钩的,它是一个存储数据XML。
所以java里面也有,那这是它发送数据的地方呢。
这是它定义呢,刚为什么发送的时候呢,是走这个模式,可以关注一下来,为什么走这个user username加上艾米亚也350,那定义好呢,这是结束到UNAME和password。
他写到这个模式格式里面去发送,是给这个丢DEPOSER发送周的这个什么就是XML,对不对好了,给这个due locking,那导算呢咱们呢去接收它呢,去接收这个输入的值给这个XML。
然后呢用这个什么load XML和什么snip XML,这个现在去解析这个语言,把解析出来呢来进行这个呢,spint input f就是输出的一个意思,八进行输出,刚才为什么输出就是这三个语句才输出它。
如果我把这三个语句把注释掉,就是没有输出,他只做判断,不做任何事情,不给他输出,那么这个时候呢,我们再把刚才那个payload重新打到里面去。
看是不是就没有输出了啊,比如说像刚才我把这个读取代码这个地方啊,要换着来哈,来看下这里勾,你看我刚才能够读取到的,现在空的啥都没有,你怎么去判定他有安全问题呢,不知道啊,内容都没有任何回血,咋办呢。
时不时就是搞个DIY呀,搞个DIY呀,来给他DIY一下,看一下有没有这个数据的回写,先看他有没有这个东西,阀刷新是有了,说明有漏洞,截下来,再按照你想读哪个文件,我颜色是读一点TT。
再把这个弹幕搁这写到这里面来去读一下,在读之前我先把这个test给他删掉,访问还是没有回旋,刷新有了打开读到了时间20。51分。
就是刚才。
所以说这个就是他没有回旋的种情况。
没有回旋呢就是由代码的这个显示操作来决定,它不给你显示,结果就没有显示,你也不知道层和北辰优先是,那就好办了吧,是不是是这个意思啊,那么具体漏洞成因,这是从pp的角度给他看到的,其实呢也是非常简单。
根据代码的逻辑是可以直接看出来的,首先它在发送数据的时候,是以这个什么XML的一个语言格式数据,去罚这两个数据的,所以说我们就可以在这里呢车它有没有XML足,因为它解析和传输的语言是这个XML。
然后呢这边呢去解析的时候,也是用到这个什么插毛,这个函数呢去解析这个格式内容,这就是它产生漏洞的原因,黑盒和白盒的一个情况,黑盒就是我说的那两点,观察数据的格式,白合观察处理数据的函数或者是框架。
来决定是不是有这个叉叉一的漏洞,百合里面就是关注是不是传输这个,XML的一个格式数据,并且有相应的数据对它进行解析,这是漏洞核心,黑盒中也是关注这个数据格式,和我们说的那个什么数据包的。
这个地方的这个类型啊。
然后呢如果你要强加测试的话,也是完全OK的啊,好那么这个呢是我们那个本地DOM,我们看一下呢,你像这个网站来,我来看一下啊,这个网站呢我关注一下啊,你看他是个什么情况啊,这里有个随便点一个测试啊。
我们看一下啊,先把这个历史包呢把它清空掉,我们随便点一下啦,点勾好,这里发送个数据,我们看的数据,那他的数据是么,你看走的content table为application jsn。
是不是个JSN的一个这个这个这个情况,如果说我要测,那我就按照GSN的那个测法去测是吧,在这里面加一些这种PLODE来去空测试,它有没有什么注SQL注入啊,或者其他的是吧,是这么个测法。
那怎么会联想到差叉叉一组呢,如果你要强制性的往叉叉一上面去靠,也是完全OK的啊,也是完全OK的,怎么强行往这上面靠呢,来你比如说我现在呢就随便搞个配漏的,比如说这个读取的一个地方是吧,我关注一下。
他这边呢是一个这个这个这个什么用Python搭建的,来这个Python拿进的啊,那这里呢很有可能它不是windows服务器,LINUX服务器呢可能多一些啊,这个呢可以根据你自己的信息收集是吧。
我得把这里的强制性的把改成这个什么,可把它改成这个,改成这个读取的地方,然后把这个路径呢,把它改成一个LINUX的读取路径啊,因为我判定他可能是windows啊,可能是LINUX。
所以我就读什么etc读取这个pass r v是吧,来确定他有没有这个这个读取file协议的,应用的地方是吧,放这里,好他说错误了,为什么有可能是不接受,还有一种情况就是说你要改这个类型。
把这个商品类型改成什么,按M支持的勾,说什么五百五百什么错误,这什么情况呢,是这样的啊,你这里呢定义了一个test啊,额这里呢应该还要引用一下他我找一下啊,那个再搞个这个引用一下的。
在下面随便写个那个标签来引用一下,看是不是这个情况啊,看到没来考了堵到了是吧,虽然说我演示非常简单,但是实际上在实战中不是这么个情况,你要根据情况决定,你看刚才我说的那个情况,有人说啊fast建设堆。
这就是对那方面了解的比较多嘛,JSN也有相应的测试方法,那个fast jsn对不对,那也是那个java里面那个库那个安全多,也是这个JS数据传输的,如果这个网站的刚好是java的是吧。
但是很有可能他就用到的是这个什么发色,健身的需权,去对这个JN数据呢做这个解析库的用的是吧,说不定他就有这个fast健身的这个漏洞,对不对,所以你要根据这个实际情况决定的。
要根据王者的信息资金的合理选用,而这个网站呢为什么要这样测,你可以说我这个神经病,这样一测就测出来了是吧,你怎么找半天找不着呢,是这样的啊,这是有来源的,不是说我忘不给他讲来,它的核心代码里面呢有泄露。
你看看,他这里有JS代码里面有的告诉你了,XML的一个结束,然后后面呢有这个相应的处理呢,法术呢地址,你包括刚才我看到数据包里面的发送的这个API,非1。0try,就这写的,看到没,吃完了。
他虽然这里用的是JSN的PAR去解析呢,XLLP呢就是你发送的数据,但实际上呢大家可以看到这个上面这个叉,h l x hr呢是吧啊,他这个鼠标触发时间呢是触发这个新的新的,那就是个方形新的嘛。
这个里面的啊,但这个上面呢是有这个什么XML的,所以呢我就尝试试这个玩意,就是看到这个东西啊,但实战中的话你也可以不看,你也可以这样测,如果他直接写的,他没有,那就直接撤,没有写的话,你可以改一下。
测一下,也没有多长时间,也不要花多长时间都可以测试一下的,是不是,其实呢说到这里你就应该明白,这和JSN就是差不多的,很简单就是XML的文件呢是用来存储数据的,数据里面呢有什么兼职啊,兼名对不对。
然后你发送数据以XML的一个格式的去发送,也是有这个什么接名啊,键值这些东西,对不对,对A方呢去接收你这个数据,无非就是说和我们传统意义上面不同,意见有点不同的,就是我们说的这种数据的格式。
你可以数据格式呢以GSN呢去发送过去,对方呢以JSN的去解析数据,你也可以用个XML的格式数据就去发送给对方,对方呢再以XML的去把这数据给解析,只是说在接收这个数据的时候没有过滤。
然后呢你把一些这种是吧,攻击代码呢给他代入进去了,然后他在解析的时候呢就把它执行了,所以导致的这个漏洞,至于后面的这个什么无回血有回血,这是它代码里面有没有显示的问题,就是利用方面的问题。
不是发现漏洞的问题能理解吗,所以说从漏洞的原理和利用上面利用,就是我们说的这个无灰线和有回线,怎么解决它的问题是吧,发现上面漏洞的产生层面,就是我刚才说的就是数据的格式的问题。
代码呢是怎么去处理这个数据的,数据是以什么形式发送的,对不对啊,如果说你以这种正常形式发送,那就不需要解析嘛,对不对,正常逻辑啊,解看这个变量后面传数值啊,把取出来就完了。
但是这个JSN呢和这个XMLXML的这种格式呢,它就要专门的函数去解析它,然后呢函数在解析一些解析这个payload里面,比如说像刚才我说的。
解析payload里面这个东西的时候,哎他就会怎么样尝试性读取啊,刚好死呢,你有回血,那不好意思,直接利用好,是不是这样一说,大家就理解起来会好一些了,是吧啊,不要说把这个东西呢。
搞成很神乎其微的一些东西啊,你只要呢自己呢把它对不对,理解好点就行了啊,哎什么鬼情况,怎么还有一个web工坊啊,标题你妹的,搞半天,我这个上面都还没搞清楚啊,标题多了几个字来翻译一下啊。
好这样应该可以了,OK下好,再来说一下那个下面部分啊,接下来呢刚才呢我们都是以这个黑盒角度,那黑的角度呢啊大家也看到了啊,来,可以和上面类型,这个数据类型和这个这个类型的生命,当然了。
你也可以直接呢像刚才那个案例一样,强制性把那个等于它去发送,但这种呢说实话啊,哎机会不大,因为我那个那是其实那是有原因,像那样测试的啊,没有原因,你那样测试的那就属于靠兵器了啊,那不太现实。
所以一般呢就是根据这个数据格式呢,首先就已经符合这个XML的一个类型,然后呢再就是那个类型里面显示了,就说明它是正在接收这个插板那个数据格式,这个时候呢,你再把那些攻击的那个插满的那个攻击PLOAD呢。
给他放上去了,去测它啊,这样子那才是有理可循的,这样子才是正确的啊,这是他黑河的一个测试的思路,你可能会问,那这网站怎么找呢,就是那你像这种爸爸速腾吗,抓到一些数据包在里面塞呀,对不对。
或者说你用那个扫描工具呢去扫的时候呢,发现有这个数据格式啦是吧好,这多关注那个数据格式的一个情况啊,防守数据的格式啊,黑盒这种情况好,那么现在呢我们再来说这个白盒里面的啊。
百合里面它本身是说用那个什么CCTF题给他讲,但是这个CTF修的这个叉叉一的,这个CCTF题啊,和我们讲的好像,那个本地多么呢有一题就在里面,没有什么太多知识点,所以就没拿出来讲啊,还有一个。
那就是我们说的那个网上,也有着叉叉一的这个CCTF题,哪些CCTF题呢给大家看一下这个文章啊,介绍一下他会和我们讲的呢有很大的出入。
就是我给看一下啊,来搜一个文章给大家看一下封面。
这个有没有看是不是这个这个不是。
这和我们讲的是一模一样的,没什么太大区别,就说有那个库里面啊,就像java里面啊,Python里面啊,这个pp里面没有,这个java里面呢有这种东西,就java里有一些那个库里面啊,有那个叉叉一注入。
但是他的那个软泥的,和我们现在讲的有很大差异,差异方面呢就是那个库核心造成的,这个只能到时候用这个,讲那个代码审计的时候再跟他说啊,你这java的那个东西呢,java里面去解析那个叉叉一的时候呢。
造成的一些利用呢,我们有啊,那这个呢你可以看一下呢,他说是这个叫什么DMO4J啊,这个sm x radio,他说是第三方库,对不对,其实就是说他这个呢就是引用java里面。
引用一些第三方库呢做这个XML语言的解析,然后这个库呢写法上面有安全问题,然后这里有这个漏洞,断了好多库是吧,java里面就是库多是吧,PVP呢一般就用原生态去开发的啊,没有什么库。
所以一般java这种叉叉一的这个漏洞啊,通常都是这种库形式的啊,啊原生态呢就是常见代码,这个呢到时候我们再另说啊,就这点有点不同啊,所以一般那个CDF体系里面呢,网上呢有些CCTF题他怎么考的呢。
给大家说一下啊,就高端的这个叉叉一个CCTF题他怎么考,他有比如说考java的,他有先把那个java代码泄露给你,然后呢你再打开那个代码的时候呢,你发现他引用到其中一个库,比如说引用到这个库。
然后你一看代码,就会涉及到XML的一些格式的解析,你就会联想到是不是叉叉一的这个漏洞,网上呢在搜这个库包出个漏洞好,就开始利用了,这是那个CCTF体系那个设计啊,是这么个设计。
前几年那个什么网灵碑上面呢有这种题目,但是我今天讲的,说实话我上七课呢,按照这个逻辑讲的没有什么用处,没有什么好处,就是你在这个本漏洞上面理解都还不够深入啊,你看那个东西呢。
你会发现和我们讲的的出入很大,就是我们这种讲的是这么去利用它,对不对,但是呢可能唉他也是那个叉叉一漏洞。
但是呢它是个库里面漏洞。
是什么原因造成的,就是因为这个是用本身代码里面提供的这个,API和函数那去解析的,然后他那个库里面的是他那个自己库里面,那个代码逻辑,所以他那个利用payload呢,要符合那个库的节奏写法。
所以那个完全不一样啊,差异又在哪里,但是你把那个讲的是没有太大意义,那个你只要知道怎么用就可以了,然后你呢还得是谈这种原生态的啊,好我们现在呢先给他看一下啊,这个pp里面的一个百合的一个CMS。
这个字典呢寄给你熟悉到这个漏洞的玩具,又给你看到这个漏洞利用,并且把今天的知识点呢也做了一个总类,是个非常好的1cm s的一个案例,然后这个是以PPT来讲,那么等同于PY呃。
这个什么Python或java里面的叉叉一的这种注入呢,也是差不多一个逻辑,只是说它里面的函数,或者说有些单独的哭呢不一样而已,思路呢是基本是差不多的,利用起来都差不多,啧好这个是那个网站啊。
来这是一个PPS1的商城系统,这个呢存在一个叉叉一咯,如果说你用黑盒去搞这种网站的话,找这个叉叉一是找不出来的,因为他那个叉叉一的触发的地址,你能不能访问到,我说知不知道有这个地址,你都不知道跟不同。
更不谈这个那个啊,所以这个漏洞呢只能从白盒里面找出来,然后在没有源码的情况下,面这个叉叉一你是怎么滴都是找不出来的啊,所以我就说嘛,这个白和黑河的支点呢要同时进行有源码,那肯定是帮助很大的,好。
我们来看一下这个系统的一个那个,叉叉一的漏洞啊,看怎么找,其实这个也不难。
等下我们看一下啊,把那个项目呢给他导一下啊。
比如这个项目我导一下啊,打开到这个窗口里面去。
哦这是那个源码啊,我们怎么找的呢,这个叉叉一呢它没有什么功能,就说你也不知道这个叉叉一呢,它和哪些功能相关,所以你也不可能说一般这个代码审计的逻辑呢。
我后面呢会详讲,今天呢给他过一下代码升级,这个逻辑大概是有几点,一个呢就是根据功能的去追踪代码,还有一种呢就是根据这个特定函数去追踪,还有一种呢就是根据这个啊啊,具体你要什么时弄容许这种这个啥意思啊。
比如说我很简单的道理,我挖文件上传的话,我就去找这个网站,哪里有文件上传,遭到文件上传,我一车把包一抓,不就有文件的上传地址吗,才通过第一层呢,找到对应代码端去分析这个文件,上传这个功能点写的好不好好。
这是第一种,对不对,能理解吧,这是根据功能点去审计,为什么呢,功能它很明显,你要挖的这个东西,到处都就是你能看得着摸得见的东西,文件上传,你就直接找这个文件上传的点抓包分析地址,找对应代码端。
非常直截了当,还有一种就是说它的功能特性不常见,啥意思呢,就像我们XML,它本身是一个做数据传输和存储数据的地方,他在哪些地方会出现,你知道我知道谁知道啊,都不知道,因为他没有什么特点,没有什么特征。
我又只能从它的实现函数和实现的API接口去找,比如说是吧,这pp的或者java的,怎么去对这个XML语言数据呢,进行解析和解释处理,是不是有哪几个函数,搜这个函数有没有。
就能确定有没有这个XML的数据接收和解析操作,这就是那个百合里面的思路特征强的漏洞,就找它的特征的地方去抓包,找对应文件分析,代码特征不强的,就像这种漏洞,你不怕没有特征,你就是在网上你就把网站打开。
你说这里就是存在这里存在,这你哪知道你不知道的呀,对不对,他这个功能呢你不清楚啊,所以你就只能怎么办呢,收特定函数了啊,这个呢我就不不不过多的废话了啊,因为这个东西呢会在代码审计那个章节呢,会详细讲的。
并且有这个pp啊,点net啊,java这种各种语言的一些3MS呢,去给大家去演示分析的啊,到时候呢也是二三十,20~30是直播的一个安妮是吧,其实很多的上两个月这个课程量还是蛮大的啊,到时候再好好说吧。
我们看这里啊,那么这是pp语言,我就搜一下吧。
啊比如说pp,就像我刚才我看这个代码也能看到明白吗,比如说pp呢对这个XML是吧,他这个啊处理的函数或者解析函数,就是入路线啊,看有哪一些是不是ISO。
这是因为我审计是pp对不对,如果说java的话也是一样道理的。
他说有这个上面的一些这种操作函数是吧,就是我们说的这个自带的啊,当然了,如果他引用库的话,那可能就不太一样了啊,这是他的一些那什么low的呀,low的呀,菜苗啊,还有这个,一大堆就是传播呢是针对这个啧。
插满了一些解析来这里是吧。
刚才我们也看到是这类,这都都是那种操作X11的那个地方是吧,还有像这个什么simple呀,那个写法的,那就这种的,啊关于这个上面呢我还写了一些这种修复啊,等下大家记得啊,那在这上面写了些呢。
长期用加零修复的一些方案,不过这个修复方案呢也仅限于一些原生态的啊,如果用到库的话,那可能修方也不太一样好我给大家搜一下啊,啊我说的是这个simple XML。
你问可能问这个simple XML是什么东西啊,我给你看一下来,哪怕有这个函数呢,node train啊,就是把这个这个XML呢给它载入,转换成这个string类型。
那这是他一个语言代码里对于参A字符串呢,把这个对象呢转换成这个什么这个值,就说呢这是上面这个XML的一个什么代码啊,再一个代码,然后呢进行一个运行之后,诶,你看他就把转出来了。
就把这个XML这个东西就把它转出来了,转出来的结果呢,你看啊就是我们说的呢,这个来在four是这个JY啊,然后这个body是这个什么dot fame啊,就这个那就这个东西嘛是吧。
好就是把这里面的值呢给他转移出来了,然后呢分成这个呢这个是数组,然后里面的for啊,兼职啊,贱名这是兼职,有用蕾丝的哈,他就发现在是说是一种什么,对这个函数呢就是一个这东西,我们也不过多介绍了啊。
搜它来搜到三个地方啊。
然后看哪个地方呢,对不对,看哪个地方呢啊打开,然后看这里啊,这个代码嘛是吧,这是源代码啊,这里呢结束这个,那直接的320呢是用这个什么fire connese,就是个p p input的啊。
那就说就是那个post类似的那种东西,这个input on的那也说过,结束了之后呢,把信打开给这个变量,Xml,XML呢等于什么,等于g sn decode,J s n 1decode。
那这里呢就是以先把它进行编码,后八紧接,这就就等同于说没有的意思啊,因为呢1+1减一一增一减呢相当于就是没有,他可能是为了这个格式的还原性更高,后面呢再用到这个函数,就是将这个XML呢进行自转转换。
转换这个XML变量呢是从这里来的好,那这里是定义了一个函数啊,定义的这个函数,那除非是调用这个函数才会执行下面代码,这一点呢相信大家都明白,调用这个函数才会执行下面代码,代码呢就是可以通过。
我们可以把payload呢通过这个p p input发送过去,就要用这个解析函数,把解析成这个字符串的函数把解析出来,然后呢触发这个漏洞,但是前提要知道这个函数怎么把它调用,对不对,怎么调用。
哪里调用它,右键把选择中点击什么交,为什么用IDE呢,因为什么要加上id开发,为什么要讲它呀,id功能多呀,代码升级都用IDE啊,你用什么一些辅助工具都不如IID啊,转到声明或者拥立在哪或点实现。
这里有些实现的没有啊,他说没有,那就点什么,点生命或用力生命就是找他的原出处,由于这里就是他的生命,那就是或用力谁拥了它减一下,找到这里来,自动找到这里来,这里呢调用这个week呃。
呃WCHK什么get XML这个函数的时候会return,就是自动调用这个函数,那么什么意思啊,我们继续跟这个被谁调用,很简单的道理嘛,谁调用它就调用它,那就等同于调用它吧,一样道理吗。
好把那些选中了再继续转,声明会用力点诶,点到这来了哦,这个地方掉了,这个地方就是这个文件,这个文件的执行就会调用它嘛,因为这里不是函数嘛,它直接来去请求这个函数,那就等同调用它吧,调用它就得叫它啊。
调就调用它,对不对啊,请求这里哎,那我就找到这个路径来试着去尝试一下啊,具体的一个那什么有没有过滤,就不是我们考虑范围了,先尝试复制引用,找这个文件路径地址。
去请求到这个上面来这个文件地址,然后把前面的根路径去掉,加上网址信息,请这个地址一访问好,能访问没问题,那么现在我们进行一个抓包,来测试一下请求地址呢,然后这里呢去发包。
把payload进行一个测试来看一下,比如说我先来测试一下,能不能进行这个文件的一个啊读写操作是吧,能不能进行一个文件读写操作,C小啊,那就是这个啦,比如说读个文件。
那么这里呢就改成我的E盘的B点TIT,对吧,需访问哎,返回来这个东西没有内容啊,为什么没有内容。
我们会关注代码呢,他将这个呢给到XML嗯,下面呢有什么下面输出这个what XML,一个什么鬼东西,但是这里也可以看到他输出的,好像都是这个固定的,你看那这个为file,这个为空,这个为成功,这个为空。
没有任何变量在里面,输出这个值呢你要插这插ml,然后再调用,调用输出的好像和这个什么没有关系,就这个变量执行是等于他的嘛,你看把他选中了这个地方呢全部在这里面赋值,但是这个变量和它没有关系。
这个what XML呢输出的没用,那就说这里有可能是个没输出的,也不知道是我halo的没问题的还是什么情况。
那么现在呢到这里这个点的时候呢。
大家要想到三个问题,第一个问题就是。
无漏洞,第二个问题就是不回血,第三个就是我们的不漏的,有问题,三个问题造成你,有时候你解决问题呢通常都要思考网上,你们经常有时候呢看了课程之后,就老问我一些问题啊,为什么这个你做的时候总是容易出错。
因为你没有思考过,出了问题呢,你也不会分析是什么原因,不会分析的原因,那就是你不懂这个漏洞压根就没有学好,所以做不做都没有什么意义,所以你做了啊,你把道理解了理解,那你一定要分析问题。
这个呢就是刚才说的那三个问题造成的原因,我升级出了问题,然后就没有漏洞,我自己所有漏洞造成的,还有那就是他没有回信,代码能力强的,就可以从这个代码分析里面,是有漏洞还是没漏洞,我们这里呢也不卖关子了。
他是哪个问题呢,就是没有回信的问题,所以呢你再测一个对Y的一个调用的话。
我们啊把刚才那个什么去访问一个这个对Y的,是不是把写上去,对不对,然后呢,这里是访问那个DSLOG地址,我们尝试一下看是究竟是哪种情况是吧,是究竟是这个没有对Y呢,还是啥情况呢,你勾一下啊。
好他在他这里报错了,报错不管他啊,我们来算一下,看没有确定了呀,有漏洞没回血,有漏洞没回写,那么接下来就是要应用到,我刚才讲过的这种案例呢是吧,尝试性的就把无和弦读文件这个配套这个了。
套用上去看是不是就能进行成功啊,来看一下啊,读一下哎,是吧,读一下看一下能不能读到这个内容啊,一点TT,然后呢为了这个有效期间。
我把页贴这个改成对吧,SAMSVO改成这个这个这个关键字是吧,看一下这里呢来看一下这个地方。
把file tt先删除访问,勾一下,再来刷新一下,有没有啦,哎呀哎呀呀呀,没有没有没有哪里写错了啊,翻车了啊,我看是这个粘贴复制的问题啊,我把那个重新拿过来,还是数据包的问题,刚才因为搞错了一个地方。
勾一下看一下啊,嗯还是没有啊。
搞错了啊,不好意思啊,搞错了这个特色,啊没没问题啊,那没搞错啊,是哪里写错了,我这,刚才DIY的时候呢带成功了,这个,那里温家的搞得莫名其妙的,以及我全都对了啊。
在哪里写问题啊,没问题啊,嗯我看是什么情况啊,这里提示报错是,刚带Y是带成功了,它提示什么,哎你看啊他的确是这里呢,你看这个报错代码里面的访问这个地址啊,哦这是不是那个,空格的问题啊。
我看一下是不是那个情况应该不会吧,他有尝试过呢,对这个地址那里你看他就写了,来解析这里出了问题,报了一个错误,妈的原来是写的时候那里刚加了个空格,导致那个地址出了问题啊,因为他那个D值呢。
写的时候那个代码逻辑get的pp呢,它后面不能加空格,就他形成两个地址啊,就这个TT里面带有空格,你可能说那这个怎么办呢,那难道就不能读空格的吗,啊是不是,那难道就不能读空格的吗,对啊。
有人说用这个什么贝斯缪斯啊,那个人说哎我怎么用啊,怎么用啊,不灰啊,是不是,它既然是PB的file协议,它支持也不是可以,不是能够支持这个伪协议玩法吗,你可能说那我是用了file协议,用AP协议。
那威协议能不能用完,试一下呗,你要活学活用,不能做老师是吧,老师没讲,你不知道我们试一下吗,你用base64啊,我我能不能用这个文件包含那个伪协议玩法呢,也是一样的嘛。
维修玩法里面用那个什么这个pp的吗,它可以进行文件读写的时候呢,反正警备是流失的是吧,这个还有还有人安利,你没看到,我们找一下了啊,比如说这个啦,那读文件的时候八进杯是牛编码,是不是,来复制一下。
这个是读那个,这还是不是读绝对路径,读它根路径的,那么试一下呢,放这来来放到这来,对不对,我读他p p m for点pp,我先试一下啊,这个根目录的,好看一下啊,如果觉得目录的话,你把路径写好就行了。
嗯在它下面创建一个pp等于波啊啊。
不读pp引坡嘛,我就读个下面写个疑点TT吧。
好我就搞空格进去,好吧好复制一下来点TT,看他这个路径呢是在哪个路径下面,还是在这个路径下面啊,都写一个吧,好的又搞错了啊,读一点TT给他以base64去发送,没问题啊,勾一下看一下,报不报错,报错了。
打开文件一点TT输出的。
那应该就是他读的是在哪个根目录,是在这个路径下面,在这个路径下面啊,include啊,然后是,A g e p a t name,好在这个下面应该是啊,因为他执行代码的是在这个下面。
如果说你读商进目录的话,你斜杠两点啊,往上面翻斜,因为他这个是读根路径的,那个是写写路径,我看是不是这个原因,勾好对了对了之后我们刷新一下。
看一下是不是贝斯牛斯传过来了呀。
打开哟传的呀,然后把这个什么这个解码器把它进行个解是吧,那工具名字叫什么呀,解码器的名字啊,在这里一解开,是那空格就有了呀,解哎你看空格就有了,空哥也在里面呢,五圆形缓过来了,这都不是问题。
自己呢要活学活用。
有些东西呀不能说我不讲,你不知道,你看这个微信还不可以在里面溜这pp的,用pp维修有什么意义,有什么那个呢还不是一样的道理。
那这个就是一个典型的什么,这个CMS里面的一个那个,XX1的一个漏洞漏洞。
这个发现过程呢我也写的很清楚了,是通过漏洞函数收到特定地方。
跟踪到这个地方,看谁调用它,然后由这个来调用它,这个调完了之后呢,又看谁在引用这个东西啊,发现这里呢有引用啊,然后呢我们就直接呢去访问这个文件,触发这个引用地方构造配偶的测试。
通过这个测试呢先测试无回线的时候呢,发现没有什么东西,然后呢进行一个DIY,发现呢执行了,说明存在漏洞,只是没有回血,然后利用无回血解决数据的一个传输打上去了,有人会问,前期呢还讲过其他漏洞啊。
但是告诉你这个叉叉一,基本上啊这种原生态的就是只能进行文件读取,命令执行呢一般是在插件里面的,或者说模块框架里面的,就是像java里面有这种叉叉一漏,然后呢它会造成迷你执行,什么意思呢。
就是说如果你用原生态的这种什么这种函数,写出来的叉叉一的那个解析的话,一般没有代码执行啊,没有命令执行,它有命令执行的都是一些这种第三方的模块,就像我刚才给他看到过的,像java里面的那个东西啊。
就是你用的第三方呢去使用这个解析,就像什么Faker js文,你想想想到那个fast js,它的本身就是处理GSN数据的,处理JS的解析啊,还原呐,节收啊,这种事情的怎么滴,就造成了一个代码执行呢。
你用你java的本身代码,不用这个fast JSON模块啊,不用这个发JASON这个库去写JSON的,结束的时候你也可以写出来,但写出来会造成这个命令执行代码执行漏洞吗,不会因为你写就是很规矩写。
但是这个库里面呢他要实现这个功能,它里面东西呢是别人提供的,所以他招成RC1呢就不是你说了算的,这句话不知道大家能不能理解啊,就等同于说是吧,你用啊,你去这个买电脑一样是吧,你自己呢到处买这种组装的。
这种这种这种配置啊,你组装一台电脑啊,你因为你每个这个配,每个这个进阶段都经过你手,你比较清楚好,所以他出什么意外呢,你都大概是能够清楚方位的,这个时候呢,你突然买了一个是外面不知道从哪里是吧。
搞了个一体机,别人都帮你全部搞好了,那你就没办法把控它呀,它能不能超频呢,能不能搞那些事情,你也不知道啊,就和这个道理一样,那你用别人的库实现这个功能,那别人怎么去实现这个功能,你不知道啊。
他当时一出来个什么命令执行代码执行,那你也不清楚啊,所以是这个原因造成的啊,像我们家的呢,他就不可能实现这个什么命令执行,能用叉叉意识行命令执行,那都是一些什么第三方的一些库。
就是引用一些第三方库乱搞啊,里面的一些东西呢引发出来的,比如说反虚化配合反序化,把引发出来的这种情况多,你想是吧,我这里面的贪便宜是吧,又想把配置拉高,结果呢买了矿卡,直接这个巴布速腾呢每次都在这里打。
打完之后粘贴上去,为什么呀,我打死你妹的,不想在上面打呀,我一打,你看出来了呗,唉你们说这我有个什么法子呢,我也没办法呀。
所以老有人问我说,你怎么讲课的时候,偏偏要在外面打,不在里面打,你不要问我呀,我这买的是吧,买的顶配的,当时顶配的显卡,妈的回来就感觉不正常,图便宜嘛,我买的组装机,图便宜嘛,就中了这个船头啊。
买的那个3090ti啊。
原来当时卖1万多对吧,结果是吧,三五千块钱就拿下了,当时是3090嘛,对不对,现在肯定是四零了呀,不说了啊,我们今天内容就讲了这么多了啊,看大家有没有问题啊。
有问题就赶紧问啊,没问题,我们就下了啊,今天还上的比较快,一下子上完了啊。
下节课的内容呢,我们就要看一下下节课没有讲到哪里了,下期内容可能要讲这个,反虚化了啊,我看是讲反是反序化的还是其他的啊,反虚化,因为知识点太多了,看一下还没其他没有遗漏的一些东西讲啊。
应该是反序列化了啊,反虚化的一些漏洞,其实还有一个漏洞啊,也有可能不是反虚化,有可能是这个身份验证的安全,就是这个如果身份验证的安全,我准备在java里面讲,不准备在pp里面讲。
身份验证的就是cooking session,和JWT那几个安全问题啊,和那个未授权的相关的一些事情,在批评里讲不太合适,DP里面JWT比较少,java里面人多,那还是倒讲啊,你们说的什么鬼。
弱口令这些东西那都属于逻辑方面的漏洞啊,这个呢是单独一个章节讲,我们先讲的是一些这种代码层面容易产生的,逻辑方面的,就是设计方面的一些问题,入口令呢也是属于那方面的对吧,这个也无逻辑的嘛哈。
那代码层面的呢就是我们讲的啊,看下节课我看是讲哪个好一点啊,我看吧,反正就不是反序列化,就是这个身份验证方面的啊,这个逻辑方面的问题呢,是把这个漏洞讲完之后才讲的,而且在讲pp的啊,PPT讲pp反修化。
然后呢讲完之后呢,PPT讲完之后呢,我们再说JS的电子说法呢,再说java的很多东西。
哎不说了。
就这么多啊,好看大家有没有问题啊,太多漏洞了。
这个漏洞其实我商的哎呀也不好,怎么伤,伤多了也没太大意义,不伤呢也显得单调,什么鬼虫丁香啊,这东西啊说实话也没什么卵用,还什么CRAF都是些冷门漏洞,没什么卵用的一些漏洞啊,有些人老想问,你不讲呢。
他说你低端,JS方面的讲一下JS的一些那种是吧,那我们就讲一讲java里面特有的几个漏洞,讲一下这其他漏洞呢也好讲一些了啊,业务逻辑和这种其他漏洞,我们就留到后面讲,先把这种最常见的几个漏洞讲完。
讲完了再说那些在特殊活动业务逻辑,那就后面讲,先把这个反序列化这东西搞清楚,好就说这么多了啊,好,大家看有没有问题啊。
有问题问没问题,瞎了啊,为什么把地理信内容放到别武器,直接展开不行吗,啥意思啊,这是你说这个地方是吧,你说这个这个这个地方是吧。
嗯这为什么这个把这个DT放到网站上面去是吧,不直接放到这里面来,是这个意思吗,就是说把一个代码整体,把它整体进行执行嘛是吧,整体执行啊,就这个意思嘛,就把它进行整体执行是吧,直接把代码发出去。
是不是这个意思啊,是可以这样子的呀,可以这样子啊,可以可以这样子,就这里不是加了个底薪吗,理性有这个代码呀,你把代码写着,把这个替换就可以了呀,可以呀,是可以啊,然后这个get pb呢。
就这get的PB是放在这个上面的啊,因为他要对外接受吗,他访问这个地址是可以这样的啊,只是说这个写出来代码呢是这么个逻辑啊,也就是说你按照你那逻辑呢,就把代码也替换一下。
这个呢就需要你简单查一下这个写法,可以这样的啊,没问题,对还有一种就是说防止被拦截啊,对对对对对,就是有一些你这种写法呢访问这个底薪呢,它有个好处,就是把一些核心代码,它可以放到这个外网上面去。
在检测的时候呢啊它在核心代码上面啊,你发送的数据里面呢不会触发规则,因为里面的那只有这个DT核心代码,是在这个上面写,可以这样做啊,他这种DIY的一个死刑呢,还有一种情况就是流量那些拦截。
告警的一些信息的一些情况,就和那个免杀思路一样的对啊,你看啊有些人他在学,他就学的好,他一数他就都能明白,是不是他能举一反三的,其实很多知识点呢它都是通用的,你学好一点,那你很多东西都能想得到啊。
什么时候讲什么方位,无维通道位,那个审计啊,通道位我也讲过呀,因为java的一些OA系统的男神,你这P1P的讲过呀,当时还分析过那个通道部位。
那个文件上传的录入的产生原理呢,java的会比较难啊,pp的学位呢还能分析跟得上。
通达是要解密,网上有那种解密工具,就是代码加密了嘛,以前用那个什么真的加密的比较多,后面呢用自己独立算法,网上有那种解密的脚本,解不出来,看,下节课讲什么,下节课讲身份验证或者反序列化啊。
那反序的话也是个头疼的一个题目,也是个头疼的支点啊,pp里面要讲啊,java里面要讲,java里面的讲的就是面试问的多,PPT里面呢就是CTF考的多哎。
这个web漏洞里面问的最多的就是反序列化,也是最难的一个东西。
讲的话啊,今天讲了pp讲个两三次直播,后面java的又要又要搞几次。