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

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

P43:第43天:PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类 (2) - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

今天呢本来是在前面两天就上的啊,那个孙斌呢就等今天再伤了啊,我们看今天内容啊,上节课呢我们讲了这个pp的四个组的常规查询,压这个跨物注入啊是吧,文件读写的啊,这上节课我们讲的哈。

然后呢这个pp的课程呢还有几章,好好多了哈啊今天我们在讲他的这个注入,其实我们把这个pp加MYSQL租这个东西学好之后呢,像后面其他数据库的一些各种组类呢,就只要学一下它的特点就可以了啊。

像一些这个不常见的一些东西,那就不用太不用刻意再学了啊,因为他有些东西呢它是通用的呃,这个PP讲完,我们到时候呢也会讲这个JS啊,这个前面PP课程呢还算比较简单的啊,就是我们现在呢把PPT上完之后啊。

这个SQL注啊,什么上传的一些东西删完之后呢,上这个JS之后,倒java的一个课程的就难度就会加大了啊,所以现在的web课程呢还比较简单,简单的话大家就争取啊把这个课能把学好啊。

免得后面讲了什么JS的一些调试啊,和理想的一些东西啊,啊java的一些东西呢,到时你又学不会,好我们先来看一下啊,第一点啊,这个SQL的一个这个里面的一个叫数据请求类型,这个东西啊,这个是啥意思啊。

这个呢就是主要是让大家明白两个事情,第一个事情呢就是有时候大家会有这样的疑问,第一个疑问就是为什么游戏珠点,我们用工具或者说用手工,明明工具也扫描工具包出它有猪点,或说你认定它会有有珠点。

但是用工具或者手工在租的时候呢,他租入不了啊,我们当然排除说注入不了,可能有什么防护软件那种情况,我们就排除有防护眼间的情况,就是正常来讲注入不了这种情况是有的,大家应该有碰到过。

那么这种情况有一种很大的可能性,就是我们今天马上要说的这种情况,就叫数据的请求类型所造成的这低点啊,然后这是第一种情况,第二种情况就是我们来看一下。

他这个具体的个情况啊,那我们这里呢看下这个代码啊,这个代码呢我们写了这个五种啊,那这是第一种,好一一种呢我就换一个行,那这第一种。

然后我们看一下啊,他说叫数字型,就是后面的这个id值啊。

我们接收过来之后,他不是要参数接收这个网址。

复制过来的I地址吗,比如说我这里等于乙,那么由于这个id值呢它固定为一个数字,所以SQL语句中呢他就这样写这个疑,他也不用用单引号的去扩写这个变量,还有种情况,就是说他接收到的变量值呢啊是随机的。

可能是数字,也可能是字符,那这个时候呢在这个语句中他就固定。

那会有个单引号把它括起来,那我给大家简单说一下这个事情啊。

我们先看这个一个SQL语句的一个定义啊,你比如说在这里呢我们去查询这个语句样,你看这个id等移是吧,那你看啊,我们这里呢查询啊,你看啊,Wells,这是个兽语啊,还得等一对吧,这勾啊它能运行到,然后呢。

假如说这里呢还有像其他值,或者查这个艾德米的话,我们看查一下艾米啊,阿德米啊撒阿德米,好while条件,那他也是能够查到这个值,然后呢还有呢就是说条件id1id是一一呢,你可以把用单引号括起来。

这个语句呢他也能执行对吧,然后啊你这个username,比如说这里呢只是username等于,还是你是吧,你看这个艾米我这样写他就报错了,他说不认识这个ADMI是列在这个wise条件中,是啥意思啊。

就说艾德米呢他在这里呢判定它是为捏米,但实际上我们艾德米呢是一个什么查询条件,他应该是珠串,所以它就需要加上单引号,那么这个语句呢才能正常把它指引出来,那么由于这个语句呢固定的。

就是这里艾米是必须要用单引号括起来的,所以在这个代码中的话。

如果他无法确定这个后面的id值,它是数字型还是字符型,那么它通通都会加上个单引号,就是防止如果你输入的,他是一个这个支付型的话,那么它就能正常执行,如果你不是输入字符型,你输这个乙是吧。

那么单引号写不写,他都能正常的运行是吧,都能正常运行,这个能不能理解这个东西,啊导演能不能理解,其实就是说代码中呢为了防止万一,他就在前面会加上个单引号,因为它无法确定你输入的值是一个数字,还是字符。

因为一旦你输字符的话,它没有加单引号,这个语句会报错,那么它就会像这种语句一样是吧,就会报错,能理解吧,那除了这个之外,你像一些这种搜索的时候,大家都知道像我们电脑上面的去搜索文件啊。

所有文件呢都会有一个叫什么通配符,电脑上面有个星号的一个通配符对吧。

比如说我搜个心仪,那么也就是说啊,比如说就搜个新点M新点PPT,或者说新点这个mp3,那么他就会将这个所有后缀为mp,三的文件都出来,然后呢你前面加上个一,那么就是以一开头的mp3文件,就是一或者一零。

后面有没有都行是吧,这种说法,那么在这个SQL语句中呢,它也有这种事情啊,你看啊它的里面呢有个叫username等admit,我就可以怎么样,一个叫什么username,然后一个叫like香香什么。

你看啊,写个百分号,百分号我写个i username,M带I的勾,哎这好像写错了吧,哎等一下啊,这咋写错了呀,这,少了个东西啊,那你看出来了,你看带A的全部写出来,你看为什么,因为这前面这个A。

这下面是以这个第二条也有A啊,你看我选择一个,那比如说N的N的,就他有,然后这个下面就没有是吧,你看我选的N的,他就只显示上面这条哎,是不是吧,如果是成X的,那就选择下面这一条来,对不对。

就是百分号代表前面和后面就说只要你带X,不管前面有还是没有都可以是吧,这个理解大家能理解吧,所以就是有搜索的,那么就是说因为网站上面它经常会有一些搜索,或者说有些匹配的这种超功能,那么它就会影响这种好。

那么这是这一种,还有一种呢就是我们说的啊,还有一种就是我们说的有这种这种。

另外一种写法,什么写法呢,大家看一下啊,这比如说我写个while条件id等于一是吧,我这样写哎,他能查询出来,我把这个疑呢写上单引号,他也能查询出来,对不对,他也能查询出来,然后呢我还可以这么写啊。

我可以把这个移呢给它括起来,这样去写这个条件,他也能查出来是吧,他也能查出来,还有一种情况就是我把这个条件都把它括起来,那我这样去写,他也能查出来,意思就是说他这种写法呢,就说实现个功能的写法。

它可以是多种多样的,但是由于他这种多样性,就会对我们这个circle注入就会有影响,有啥影响呢,相信这一点大家就明白了啊,那很简单的道理,我们给他做个简单的小实验,做个简单的实验啊。

那首先这是我们上节课讲的那个演示。

那个简单的一个注入是吧,这个呢我们就把它这个关起来了,我们就利用这个社会语啊,大家看看啊,前面加上个单引号的四个语句,我们在租的时候啊,我们观察一下,大家看一下这个SQL语句啊,那我写个一。

那么前期我们在上节课的驻点的时候,我们就是直接在这里加啊。

我我我用这个火狐狸火狐吧,这里看那个东西好看一些啊,那个浏览器那个东西好看一些。

那我们看一下啊,这个浏览器呢我们在敲啊,那比如说这是我们上节课呢去这样去敲他,这个敲敲敲他这个猪点的是吧,嗯敲六个嘛,因为他这里有六个捏啊,这个60里面,那么这样敲三节课呢,我们是这样租的。

但这里呢你租之后呢,你发现注入不了,为什么,因为你可以看到他执行的SQL语句呢,是这样执行的,这里是让我为了给大家讲课,所以把它显示出来了,如果在实战中,你哪能看你看不到这个东西的啊。

那么大家看一下你写的这个主语句呢,全部写到单引号去了,写单引号呢,相当于就是说这里面东西全部当做字符串了,就说本身这个URLN和snack的功能,那就没有释放出来,因为你编程的单引号里面的东西。

就像是你变成一个字符串了,变成一个条件了,并不是它本身的作用,所以他就会怎么样,是前面加了个单引号,然后再把这后面单引号,用这种类似的什么井号啊,这东西把它闭合掉啊是吧,然后这里没有闭合掉。

反这种再闭合试一下对啊,是包出这四和五,然后呢我们再怎么样再进行这样的注入,对不对,现在呢就能正常出入了,就说你需要考虑这个单引号的这个闭合,所以我们说的啊这种类型呢,就说我们在租的时候啊。

他需要考虑单引号,好,大家试想一下,那么这种情况就是我们说的第一类情况,就是说可能有单引号的干扰,好,我问一下大家,你这里是看了SQL语句,你才知道这个流量引号,如果说你不知道,你就只能靠猜呀。

你就靠猜呀,对不对,所以由于这种猜的可能性的多少关系,和它的复杂程度,就像我们现在还是只能这样写,我等下再跟他说啊,这我只写了大概四五种吧,你看我们再看第一二种情况,就把这个注释掉,再把这个激活出来。

那你看我把这个记录出来,这种搜索型的。

你看我们要注入它的话,按照刚才那个语句注入啊,他又不行了是吧。

你看他输入该怎么办呢,是不是要考虑到把百分号先过滤,再单引号把它闭合,然后再加上我们这个什么注入语句,再加上这注B和符勾,你看是不是这样才行呢,来用这个东西把后面注释掉,前面的这就把它屏蔽掉是吧。

那这是形成一个完整的单体,就前面这是一个整体,后面的是个单体是吧,这样才能出入啊,或者说有这种写法也可以是吧,它和我们没个单引号吗,你就自己写个这个东西来把它组合掉,那不后面有这个东西吗。

那么这个东西拼接上去就不和前面对应上了吗,这种也行啊,你看是不是也可以啊,你看啊都可以啊,用这个东西也可以,用这个东西也行是吧,注释不行,就用那种写法都可以,对不对,你看这种就又可以了是吧。

就是你知道他这个写法的,所以你就这样写,如果你不知道,那这个社会语这样去租的话,他肯定就不行,因为猪的原理呢,就我们这句话啊,SQL语句,由于在这个黑盒中,就是我们不知道SQL语句。

我们是无法预知它的写法的,所以我们要注入成功,就肯定是要拼写它原先的四个语句,但是由于这个原先的SQL语句呢,我是不知道怎么写的,所以就会出现可能性就是无法阻止成功的情况。

就是你无法预知你要闭合什么东西,因为我们只写了这几组,他可能还有其他的,我们具体其他的我们先不说,我们先把这几个试验完啊,好这三种,对不对领啊,接下来我们再换啊,比如说有些框架里面就喜欢搞这种是吧。

把条件呢形成一个括号,然后再加个单引号,那么现在你要注入它的话,诶,永刚才这个是又不行了,是要搞你这个闭合这个括号了呀。

那该怎么办呢,是不是就是单引号在括号闭合掉,然后再加上这个主语句,然后再什么一和后面的东西怎么比啊,哎可以是吧,或者呢就像我这种是吧,再写个这个单引号,再等于是吧,就这样写,你看是把它闭合掉了呢。

对不对都行啊,那种注释符呢或者这种情况都可以写啊,他就能注释了,就就能租了,对不对,好了这种,那么还有这种的呢,他把形成条件呢,你看还有这种,你,那还有这种我再把这种呢把它搞出来。

看这种呢我们再放出去,哎这种它也行啊。

这种把它括起来也可以,那也是把它一样道理啊,也是把他这个条件呢形成一起去了。

刚才那就是在括号里面,那这个呢就是把那个id封了进去,但是这个语句还能通用还是可以,那这样子呢他才能注入好。

那除了这种写法对吧。

我只是写了这几种,你可能说哎那不会只有这么几种吧,不会啊,他有的还会怎么样呢,在后面加上一些什么东西啊,来我给大家演示一下啊。

他可能加上什么MINIT01啊,这种东西再加到后面去,就是你执行的时候,你看他还能正常运行对吧,但是它一加上去之后呢,那你这个时候这个语句该怎么写呢是吧。

比如说我再写一个吧啊他第四个,你这样写的,那他是语这样写的啊,这个宇子要写的啊,这里是变量id啊,你看现在入入,你看我们再用这刚才这种写法去写,你看他就不行了。

哎这又可以了是吧,把后面注释掉就可以了,但如果后面如果说猪师不掉,有些什么其他东西,什么limit呀,还有的是这样写的,写什么,old的by呀,这种东西写这东西它有个排序,还有些猪死不掉的一些情况。

那又该怎么办呢,所以就是由于这个SQL语句,在源代码中的不确定性,所以说即使这里有注入,也有可能会导致你在注入利用的时候,无法成功下去,因为我们注入在后面要测试这个漏洞,去利用这个SQL注入的话。

你会尝试去租入它的数据或干嘛,那么你就会用一些工具,或者说你手工的去注入它,但是由于你不知道对方的SQL语句,在这个代码中是怎么一个与条件,就说是吧,id是有没有括号啊,有没有单引号啊。

或者有没有什么百分号啊,后面有没有什么其他的order by啊,或者一些杂乱的东西,你都不清楚,所以你就只能靠猜那些工具里面,包括我们的手工方面,而不是手工,手工,你大概就知道那么几个工具里面就多嘛。

像什么sle map里面,他就有很多一些这种组合的一些payload去测,他测的就是车能不能去拼接上去,能够进行进行注入,一旦他都已经没办法了,那就说明那个地方可能就很复杂。

你手工你就知道那几种你就撤了嘛,撤了没了没了就没了,你也会用工具,那工具测了之后呢,他还是说是吧,包高告诉你说有注入,但是呢你就搞不了,就是因为那个SQL语句啊无法拼接,成功拼接。

就是说他要执行的这个社会语的功能,拼接到这个驻点的那个SL语上面拼接出来,那个时候语有问题,导致不能执行,所以结果不能出来,这就是你失败的原因,所以这种情况你可能会问,那该怎么解决呢。

这是没办法解决的啊,除非就是你有源码,你有源码知道那个SQL语怎么写的,然后呢你你去尝试,或者还有一种办法,就是你乱乱猜,就是用网上一些各种各样的往上面跑,但那种的机会比较渺茫。

毕竟专业的工具都搞不出来,你那种乱在上面,什么FUZZ啊是吧,用大量的东西去拆看,你没有一个返回正确的东西回来,当然东西都靠运气了,哪里就不好说了,所以说这一点呢需要大家明白,那这一点呢。

就是大家经常在猪里面碰上的一种情况啊,这样大家都应该了解了啊,好这就是其实就是说由于这个SQL语句,对于这个数据类型和数据写法的不同啊,我们就把它简单写一下啊,就是由于这个代码中这种啊。

就是我们说的这个开发者呀,对于这个数据类型和这个什么SQL语句的,这个写法,包括这个框架的框架类,这种in框架的这种规框架的这种写法是吧,导致了这个是否出出拼接的问题,是,意外情况没有情况好。

然后再来说这个注入里面,比较常见的一种请求方法,这样子呢也是给他拔个高,这东西呢在很多漏洞里面都有引用到,就是我们说的这种数据的请求方法,那像pp里面的话,就是有这个什么get post这种各种各样的。

包括files也会造成阻误,可能files呢在前期我给他讲过,就是我们在讲文件上传的时候,用到这个pp里面这个dollar for fast全局变量,他是专门做文件处理类的。

你可能说哎文件处理类怎么和注入挂钩了,不是文件上传吗,就像我们说的文件上传还会引发XSS,以前呢这句话很有问题,但是如果你学过之后呢,你联想想啊,我就拿个简单例子给他想想啊,我说文件上传会造成注入。

你说怎么和上这个文件上传,怎么和注入有关系啊,来我给他写这么一段话。

大家来再来思考这个问题,再看一下啊,我们写这段话啊,那看一下啊,那比如说啊上传一个文件啊,将这个文件的这个名字呢保存,好像用这个名字呢是吧,进行一个什么数据库的一个保存,这个SQL注入,就有了吗。

有条件能那样,大家看一下啦,你上传个文件文件的名字保存到数据库,你可以说它保存文件有名字又干嘛,我们可以看一下有些常规类的网站。

他都会有这么一个操作,就是呢你看一下啊,一些新闻里面呐,或者是一些这种新系里面唉,他会有对这个就是一些网站不是有新闻吗,新闻里面会有一些这种图片的加载,视频,音频的这种是东西嘛。

那么这个图片和音频呢它不可能是吧,把它放到数据库里面去啊,它就是有个地址,就是它图片呢在哪网站哪个目录,他就写到这个什么呃,这个数据库里面,那么数据库在调用这个数据的时候,那就会加载那个图片。

这个好理解吧是吧,对不对,他就会有这样的事情啊,嗯这里我看能不能找到第一次给大家看一下啊,这个也无所谓,因为我说大家能够理解啊,只是说我想找个这种其他的这种,你看这个哦,这个这个就类似,就和他差不多。

你看哈就是呢你看这里有个网站新闻,然后这里呢有个链接地址,那如果说这个链接地址,如果说这里是要写的图片的话,那这个应该就是图片地址,那个图片例子其实就是你上传的那个图片嘛,那么也就是说你上传个文件。

那这个文件的名字呢。

你把它保存到数据库里面,那在保存的时候,是不是就有一个这个猪额会产生呢,只说和我们现在上课内容有点不搭,嘎不搭嘎的原因,就是说我们现在上的是snack的查询,就下节课内容啊。

下节课的内容我们就会讲这个西啊,就是说有些注入点呢,它就是我们说的什么增删改查的一些插入,插入啊,insight的一些注入,它会有一些不同,不同之处就是在于有没有回血和包出之路。

就我们做一些满族方面的事情,就现在的我们没有涉及到下节课,涉及到啊,所以说这节课呢我们就给他提一下,所以他也是可能产生租入的,但是它产生租入的条件呢就有点复杂一些,你可能说那它怎么产生的,很简单。

他要对你这个数据库的名字,就是对你文件的名字要进行接收,接收之后他是要保存到数据库中,那么接收保存事故中,就是不是类似于就是这种呢incite是吧,比如说我插入一个表,插入一个news。

然后news里面呢有几个这种值,比如说一个叫新闻是吧,Title,还有一个呢比如说有它的这个内容,content啊,这个语句是这样写的是吧,好然后呢还有呢就不写其他的,像什么桌子是吧。

还有这个什么鬼日期或者是这种啊,各种各样的,然后呢可能有图片就写个image,然后呢其中这个image呢就是我们说的就是信息,那么在这里呢我们上传的信息,假如说image是吧。

我把它复制为一个SQL语句,我这种SQL语句的名字是吧,把它写上去,然后呢,他是不是就相当于在这里代入这个设备去啊,他插进去的时候,这不就是一个典型的重定向,这个excite语句的一个地方吗,好理解吧。

这个事情因为他要把这个文件进行保存,保存就是相当于说插入数据嘛,就是我们一个插入式插入数据的一个时间啊,对不对,那么在这里呢就会用到excite这个语句,就是我们说的这个东西,就不是snack。

snack是查询啊,这个呢是查数据,就是excite,那么它的语句的规范呢是大概是这样写的是吧,其中呢你把文件名呢它也保存,那么写在数据库里面,那文件名字改成这个东西。

那是不是会把这个语句呢进行重新下了,这样说大家就应该能够理解吧,所以说啊这个注入点呢它是产生了多方位的。

只是说今天我没有上来引side这个注入,就给他提一下,我们下节课就会上上这个东西啊,而且它的利用呢还有两种情况,就是基于这个先写后利用,还有直接写的时候就利用等等啊,我们下节课再来做实验哈,好。

我们接下来呢再给大家看一下,这个其他的几组啊,还有什么get post server,那这个东西有啥呢,先把这个理解理解完之后呢,我们再说其他的啊,这高端的这个呃漏洞玩法呢是多种多样的。

包括像之前我们讲插海赛事,我没有说过什么商传插海赛事,但是后面到有很多人挖东的时候,能碰到什么上犬山还热死,所以呢我们在这期课程也价值东西,在猪里面也说了这些各种样些农兵是吧,不一样的玩法。

那我们看一下啊这个get和post这种情况啊,我们先说这个get post大家都知道啊,get那就是我们说的这种get行为是吧,就是我们刚才访问这个网站啊。

打开这个网站一样啊,打开这个网站,那么我们可以通过这个浏览器的这个东西呢。

可以看到啊,访问它的时候呢,它是用get方法去访问的,然后呢在代码中他去结束的时候呢,也是采用这个叫dollar forget去结束的。

是不是啊,那么除此之外呢,网上呢还有多种的请求方式,比如说在pp里面它有这几种啊,我们随便写了几种,大家先看这上面四种啊,四组呢我们可以把它尽量的一个输出看一下啊。

其实前期我们在讲PPT开发已经商过这个东西,只是你呢再给他商一下啊,你如果不懂,你可以看下前面的开发课程啊,已经给他讲过了,我们就说这里呢给了临时过渡一下,怕有些人忘记了是吧。

你看这里呢这个是man模式,我们打开这里,OT点pp怎么写好,然后路径是这杠G你看G我等于一,他就输出等于一对吧,然后呢我后面再加变量,比如说P等于二,他但是他还是输出一没有输出啊,为什么。

因为这个P呢是结束的是post的变量,所以我们这里要写到post这个提交里来,就写到这里来是吧,你看他就写这一,然后C这里呢是cookie,还有个RR呢,我假如我写在上面来,R等于一哎就是121是吧。

R写到下面呢,写这个下面呢诶他也是1+1,写个一二呢是说啊也是1212。

对不对,R这个代表的是全部接受的意思,就是呢他接收的post也接收,get也接收,包括coin他也接收好,然后这个cooking那就是接是cooking的。

啥意思呢,就是我们可以在这个浏览器这边呐啊,哦他这边这个鸟毛东西呀,他改了个数据还麻烦,我就在正面操作吧。

在正面浏览器操作好吧,蓝色显示一啊,我们在这个内存这里啊。

哎和性能这里哎来两个这里啊。

应用程序这里啊这里啊,你看这里呢有个coin值啊,我们可以加强一下啊,就是C值呢为123,好把它保存一下刷新,你看是输出一个三。

那这个呢其实就是结束的是这个什么cookie,这个值嘛,C的值不值。

代码输出嘛,也就是说这个代码中呢它有选择性的,就是说只接收get直角是post和接收cookie,也也可以说写个request,就都接受他有这几种东西对吧,那么你可能会为什么要这样写呢,其实我们知道的。

就说有时候呢也有网站在访问的时候呢,它是一个get行为,这里访问网站呢哎他就能直接这个是个get啊。

比如说像这个小八是吧。

我们访问这个网站,那么他这个网络行为呢就是get行为啊,他是一个get行为,那这后面他就写了这get了,然后呢你访问这个地址的时候,你看访这个地址时候呢,它也是一个get断地访问,那他的行为。

那你给大家看一下啊,他也是一个这个什么,你看get方式,那请求方式我get,但是有一些呢他就是post,比如说哪些是post的呢,文件上传文件登录啊,不用户登录它就会是这种post。

拉post的话就是看上去它没有参数。

因为我们要租入的话,一般是有参数值的,就不是说啊你直接写个这个地址去让他注入。

对不对,你就说写个这个地址啊,你就说这里没有参数,你直接把这个地址附上去,让对方注入,他注入不了,因为他没有参数,没有参数,就是没有全参,没有全参,我们那个色组呢是需要有一个参数的。

就像是这个参数传递过来,组合这个色局造成他的漏洞,你没有参数的话,就是没有传参,那post呢它在这个地址上面是不显示传参的,啥意思啊,你像我们这个灯框,那比如说我这个网站后台登录这里对吧。

我在那里面写这个东西啊,我写登录在D上面呢,他只变了这个东西,但是并不是把我账号密码发上去了,没有看到账号密码,事实上呢你在抓包里面呢,你是看到啊,啊抓包这里面你输入这个东西来点登录。

那你看这里就是post post数据呢,你给挪到下面来,这里有个叫什么,那for data呢,这是发送数据,其中呢你看账密码就在这里,对不对,那其实就是说他其实有参数传递的,这也是能够产生租的地方。

只是说在网址上面都看不到,所以针对这种情况呢。

我们也要进行尝试,也知道这是一个产生注入的点,并且这里的猪在利用的时候呢,和我们刚才说的也不一样,之前我们是在这个D上面这样去玩注入点,对不对,之前呢我们是在这个后面再去这样去玩,出点刚才那个东西是吧。

之前呢我们是在这个D上面是吧,是这样去主动玩他的驻点是吧,是这样去玩足注点,对不对,那么现在呢我们再看个网站啊,找个网站,这我们自己写的啊,是这个叫post点pp,你看这有个登录是吧。

就是我们说的登录框注入,其实就是post注入的意思,就是他这里呢你看不到有参数,但实际上呢它也可能产生驻点,那你可以分析一下啊,我给给大家看一下,抓个包。

这样最好是抓个包,好分析一些,用这个网上那个东西呢,看的话没有这个巴布斯特,那会明显还是抓个包吧。

好我们这里水平输,比如说我输个艾德米,然后123456是吧,好随便输什么东西啊,那我点击珍珠,哎我这个杀机这个地方端口没对上,好我们抓个包啊,看着啊,那我点登录啊,看一下这里。

你看这个数据包是不是发送的呀,你看这里是不是有username,ADD me passwor等等,输入五个呀,它是有参数啊,然后它是一个pose行为,那之前呢就是我们如果网再返回的话。

那这前面就是1get,然后后面那是加上这个参数值嘛,直接说出点呢,我们在上面去玩,那现在呢就放到这来了,放这来的话,利用浏览器就是借助这种post插件,或是用什么post mander去这样去尝试猪。

对不对,那现在呢如果你在bob数组里面藏输入,那就是在这里更改更改这个驻点,去尝试对它进行注入,对不对,你看现在,那我们就可以判断一下他有没有注入点,对不对,那我们可以试一下呢。

那判断的话按照我们常理来说,这里是username的艾米,艾米呢一般是珠串,所以我们需要先考虑个单引号,把闭合掉是吧,就是单引号写程序,然后呢我们再用什么order by呀,这种词形呢去猜后面字段。

这手工注入方式是吧,比如说是三个呀或四个呀,先盘了个四,然后呢井号呢还有个问题要把后面屏蔽掉,看是不是一个长度对吧,如果说要充足的正常访问,7104717450的一个防火长度。

我们看下防火长度是否变化呢,确定它是否报错啊,变成1789啊,换一个再换个是吧,换成个五啊六啊,这种东西11750,17891750,那就是四嘛,对不对。

然后呢你看啊就u n i n snack的1234,那我们观察一下这边的代码里面啊,这里包出了一些东西,你看好我们在这里呢,可以在这里也可以看到代码中间包出一些数字,哎,写一下看一下。

看说order里边是database3字里面显示出版本,你看demo01版本5。7。26,那它就是这样玩法,这是POS猪,那么同样道理,你要租的话,你可怎么办呢,把它复制下来,如果用浏览器的话。

就是借助这个post插件,或者说怎么办呢,用那个postman让工具去发是吧,就这样子呢去写这个注解来勾,然后呢你可以看一下啊,那看源代码,哎哎呀,看那个返回值,嗯这个还没有出来啊,哪写错了,是真奇怪。

从那边考的这里就不行了,唉,生生命好好的啊,代码中显示不出来,有一些源代码响应里面没显示,但这个不重要了啊,这是我那个页面自己写的一些问题,我把这个上面翻一下,我看一下是不是那个情况,翻一下鞋啊。

看一下,换一个写法也是一样啊,这个不重要了啊,在八数的上面能行就可以,也不知道哪里有问题,你看就说你要租的话啊,他就是相当于是说换了一种地方啊,换了这个提交数据,这里来去租入,其实就是说有很多数据包。

你不是通过这个数据包抓了一些数据包吗,对不对,那么有时候呢有些数据包呢,他的测试点呢就不再是网站的常见的那种情况。

以前呢我们测试驻点的时候啊。

那像前面我们测的那几个驻点,那我可以把它拿出来,你看这个前面这种测出点的这个地方。

US的点PP的。

你看这前面我们测主点的时候呢是吧,然后测他的这个驻点是怎么测的,你把它写一写啊,是吧,我们测驻点的是这样测它的,我们这个,那当时呢我们是这样测它的主点的是吧,是这样测的。

那么这车呢你在那个抓包里面是个什么情况呢,你看抓到数据包里面,你看你数据包里面是这样写的,是写上面的get行为,而我们刚才那个pose行为呢是在这个下面去输入,因为其实就是说它发送数据的地方发生更改。

那你可能会说为什么要get it propost呢,这个我就不说了啊,前期安全开发已经讲过了,而不同的数据请求相文件上传就是post,那用户登录也是post,大部分都是post。

当然它也可以用get pos呢,传递的数据呢一般较大啊,get那就简单的后面的对不对,其实就是告诉你啊,很多请求方法里面也会有这种不同终点,而且为什么要这样讲,很大一种程度呢也是要看代码的。

你在后期代码分析,代码升级的时候,如果说你发现这里有个驻点,你要发现这个驻点是什么请求方式的,要怎么去浮现它,这里人也需要明白,其实就是说如果说pp里面。

你就看这个接收数据的是用get接收还是pose接收,如果说他用get接收的话,哎那你就像我们这种情况去浮现它,如果post1周,那就像我们这种情况去浮现它。

那可能这是他的第一种用武之地,了解他的数据发送请求方法,和我们发送之判断它的流程,还有一种就像像一些这种绕过WAF里面,或是绕F1绕过一些防火墙里面也有这种玩法,什么意思呢,就有些防护软件。

或者说有些这种防护代码,它可能只是单纯的拦截了这个goat上面行为,如果说你把这个数据呢放到POS行为去发送,诶,可能就绕过了他有很多庸的一些地方啊,所以这个代码呢你懂的话,是能够帮助你在各方位。

不管说是在漏洞的分析方面,还是漏洞的利用方面,还是漏洞的一些其他方面都会有帮助。

这个post能不能理解,这个其实就是说,它就是一种发送数据的一个地方啊。

说实话啊,我觉得我已经上到40多课。

把前期安全开发商过了,这个pose呢应该是能够理解的啊,如果说这个不能理解的话,那所以你的安全开发,那肯定是看的压根就没有看,或者说那个东西也看不进去,这个是post啊,这个是post。

没什么太多不同啊,其实就是告诉你呢啊,在合适的地方去合适的去注入,同时也告诉你这个post数据请求呢,在网站上面看不到,但是不不代表它没有参数,也是可以测试输入点的一个地方好,这是post。

那么还有像我刚才说的什么cookie。

但cookie呢一般比较少,主要的还是像它里面另一个另一个全局变量,叫dollar f server里面容易产生阻入,那dollar server是啥东西啊,来我们在那举了其中一个例子。

我们写了几个,比如说dollar server可以去获取浏览器版本,获取用户的访问cookie,获取用户的叉,反复投,获取用户的来源,获取用户的访问host,那么我先给大家做个演示。

说白了啊,这些东西我完全都不用演示的,但是现在要演示是没办法,因为呢有些人呢他没有去完全开放,我照顾他啊,说实话这个东西呢是不需要再照顾了,应该是前面安全开发讲了之后,那就不再累赘的事情了,你看啊。

我们就随便拿几个来给大家看一下,比如host,我们随便拿几个来演示一下这个,好就拿这个名字吧,这个叫达尔伯OST,然后这个叫达洛夫R1,就打一吧,好我依次呢去输入这几个东西,UA好把他换个行。

好再输入这个差FS,先要把这东西讲清楚,唉说实话啊,我现在上的这么细,完全就是对我自己以前那个前面上过了,安全开发课呢,没有新星所造成的啊,如果我是觉得,大家对那个安全开发没有意义的话。

那这东西呢我是完全没有必要伤的,但是就是知道大家那选的不好,没办法啊,现在还得滚一遍,这次是再刷一次了,如果说还是不懂,那实在是没办法,你看这个啊。

这个呢这四个代码呢我们来分别解释一下,其实前期都已经删过了啊,完全浪费时间,哎呀没办法啊,谁叫大便这个基础太差了,好大家看一下啊,那大家看到没有个什么事情发生,你看我去打印这个信息的时候。

浏览器信息打印出来了,这里面什么差,for word呢也没有打印,第三个呢什么app hos的,打印出来是这个一二十一。4。8,因为这是换行嘛。

第二行应该是这个字嘛,但没有还有个叫什么这个REF1这啥东西呢。

也不知道这个沙拉夫里面的有很多,我只是列举了其中四个是其中四个。

那么大家看一下啊,这个浏览器是怎么来的,来我们看一下啊,比如说我通过这个浏览器把JS我访问这个地址,我把你的信息我把一改,你看我改成个什么叉叉叉叉把方出去诶,你会发现这边了对吧,他编的对不对,他编的啊。

其实他就是获取你当前访问者的浏览器信息,我通过抓包呢把临时流信息进行更改,哎他这个地方就结束过去的就发生更改,然后下面第三行呢它获取的是啥呢。

下面第三行它获取代码是啥呀,获取的是这个host。

就是你访问主机,就是你当前你访问这个主机的域名,就这东西,而你可能活呃,第二行第四行呢,那第二行第四行是干嘛的,一个是坡起,一个。

一个是获取这个头部,一个是获取这个来源,啥意思啊,我们看这个啊,这个呢是一个获取地址的,你可以这么操作它啊,我给大家演示一下。

好获取过来,然后你看啊他这边呢是有个查检,这个茶几呢叫什么东西,但这个茶检说实话好像没什么卵用,加上去和没加上去,他都没有结束,来我再写一下吧,你看啊写个那个差不多的东西哦。

or word是不是这样写的word,然后,好好的1D。

那个头部是怎么写的,我都忘记,啊应该这样写,写数据包里面啊,就说如果数据包里面有这个值啊,看一下啊,只有这个值,你看啊,我写个1。1。1随便写啊,你把我放出去,放出去啊,我不用它插进了,放出去。

你看是不是就显示这个值啊,它就结束到了呀。

所以他其实呢他接收到的是这个东西,解释是什么,是这个数据包里面的那个什么,这个设置的这个值,对不对啊,这个呢就是获取什么鱼尾信息的,就是我们据包里面的发问者的不对,那里面的是什么,改UAA。

然后这个是什么,就是获取你那个数据包里面的什么push的地址哦,你可能说这个是什么呢,改一改,哪个你可能会哪个是什么东西呀,唉来源很好,你加你加上去呢。

它也有啊,你可以加上去也可以啊,你加上去它也有,或者说呢我可以给他演示个例子啊,你看着啊,这第一个对不对,我随便先打开一个这个百度,我从百度这里呢有个这个图片,把图片这里呢进行一个更改。

图片不是你这里有个连接地址吗,我把连接地址改成什么,那这个叫好看,百度点com是吧,我改成这个地址来改成这个地址啊,看着啊,视频这里啊把它改了好,你现在看一下啊,我把点过去,大家看一下啊。

呐来源变成了百度里航母啥情况,然后你把包装一下,好来宝宝坐下来,男人这里多了颗是什么,水包里面多了一个周位呀。

他其实是获取这个值的。

好我讲这些呢就是告诉你server它有这些东西,但是并不是我所有的讲这个来源的。

是检测一下这种,后面我们说的什么CSR辅一类攻击的,有这种修复流程啊,就检测你的这个来源,但这个不是我们重要的,好,我先先说一下,你说我讲这东西是干嘛呢,这不和这个猪肉有啥关系啊,这好像没什么关系啊。

好我们看啊,其实就是说这个pp里面呢有这种类似东西,做我们举的四个,它还有很多你自己可以看一下啊,就我写的时候大家应该观察到了,那你看啊,那我写下来,那你看看还有这么多呢,每一个都是代表获取不同意义的。

而有些呢还没有写全,还有一些网上,还有些另外的每一些代表卫生意义的好,我们先来思考一个问题啊,啊比如说这个IP地址好。

就这个IP地址你看啊他说的第一种有效信息好,你跟我说流量信息有什么作用啊,我举个例子啊,网站有一些这种叫私音比较好的网站,一个网站如果说你是手机访问好,我就给你展示手机界面美好的界面。

电脑访问我就给你展示电脑访问的界面啊,是苹果访问,我就搞是苹果访问,安卓访问我就安卓访问它为什么有这个功能呢,它可以通过你访问者的这个UA信息,来判断你是什么设备,因为我们都知道电脑的浏览器。

和我们这个安卓浏览器,和苹果浏览器等等一些东西吧,它是能够判定出来的,所以他就会接收你这个用户的这个,浏览器的信息,那么他结识这个用户浏览器信息的话,如果他还把它进行了这个整理和这个归类的话。

这不就是一个典型社个数字吗,就说他收集用户的访问浏览器信息,然后呢把它整理到自己的库里面,你想象一下浏览信息,我把里面信息改改成一个SQL语句,那SQL语句不就是进行了数据库的查询吗。

进行了数据库的查入查询吗,不就是一个主路吗,能不能理解啊,那么与此同理,其中呢那我们就拿这个刚才说的这种头,这种头是啥意思,我们先来了解一下,用PHP区,获取啊客户端的IP,获取访问IP的方法啊。

代码的方法我们可以看一下啊,他是怎么获取的,那网上面有这文章。

他怎么做的,你看啊,那用这个。

用这个代码呢,DOLO夫server hp插FORWORD,Htp client,It remont a d d r,还有这个三,这里写三个,这三个的全部是获取用户的IP的,就是如果这里被设置。

就是这个id,如果这里不被设置,就是这个IP,如果这个呢就不是id,就是说有多种方式呢去获取呢,获取浏览器用户的计算机IP啊,获取这个什么网关或什么客户端IP,就各种方式。

就是如果没有这个值就获取下一个,就是就是三种方式,以此类推,一个获取不到结果用于下一个获取,直到获取到,对不对,在获取IP的好,你觉得哎那获取IP怎么又和SQL注入有关呢,大家再想一想。

首先在网站的这个正常的功能里面,大家应该都知道,有些网站后台功能不说后台功能,甚至有些这种记录功能,假设一下在一个后台的后台登录里面,我作为一个开发者,我可以设置一个功能,设置什么功能。

凡是登录过后台的,我就记录一下,或者说登录失败的,我就把它记录下,登录成功的,我把它记录下,在后台功能里面,经常会有这种数据登录日志,其中用户的IP你告诉我有没有啊,你看日志的时候。

他会进入用户VIP吗,还是说他只记住账号密码呀,大部分都会进入VIP吧,那么它有这个功能,它记录IP是怎么实现的呀,他是PB语言,他就用这种东西去实现的,那么其中在这个里面这个值啊,我刚才给他演示了。

它是通过获取数据包里面这个值来决定的。

那么加强一下,如果在当个时候呢,他获取这个IP的时候啊,我把这个数据包这个值呢改成了SQL语句,那不就是把这个SQL语句get他获取了吗,能不能理解啊,我们从网站的设计理念到这个功能的用法。

和猪的产证都给你讲了,你如果说还听不懂,那真是没办法的事情,那我现在就拿简单的一个例子,来给大家去说一下啊。

比如说呢我要在我就实现一个功能点,我这个功能点呢我作为一个防护人呢去讲,你看这个防护在实现在实现的时候,可能会出现三个问题来,首先第一点啊,我在登录的时候,判定下你是不是我允许登录的IP。

你是不是我允许登录IP,啥意思呢。

我要去登陆网站,我先看你是不是我允许登录的IP的意思,我再让你登不登,就是我们说的有一个VIP绑定量,你不是VIP,我不让你登了,这是个防护作用啊,那怎么和这个社和主流又产生差不多呢,你看下啊。

我们写的这个代码文件啊,叫post IP点pp,我们先不观测代码来。

你看啊,我先登录,那拒绝访问,就我不管我真的正不正确,他全部局阵法,为什么呢。

我们看下代码呢,代码怎么写的啊,前面是这个前端页面,这不信看的啊,那看一下好了,这有个叫get IP的这个函数,就网子抄的那获取IP的那先获取IP,判断呢判断什么,判断IP是不是在数据库,数据库中。

啥意思啊,就我一个数据库嘛,你看下啊。

阿德比里面那有个IP,这个值1270000本机的地址对吧,我判断一下,那我接收IP把IP解释到。

接收到之后,我去判断一下IP在不在,就说我接收到这个用户访问的IP,是不是在我数据库里面,那IP是不是等于这个了,接收IP他不是1270001,那么不好意思,我就直接怎么样呢。

get else该怎么样查询一遍,如果这个结果小于零,大于零才是有结果嘛,哎结果小于零就直接提示拒绝了,因为那就是说没有结果。

你IP要堆,就说我们在执行的语句的时候呢,就是很简单啊,while条件IIP等于,那如果说你等于127。001,那么好,这就有结果是吧。

如果说你不等于,那我写个错IP,不好意思,零大家说这里不大于零,它就不会进入正面启动了,就进入这个else,这是代码的一个逻辑,对不对,这种东西就会引发插板F组,为什么,因为它接收IP的里面。

其中一个参数叫h p x for word,用这个接收IP是有安全隐患的,什么安全隐患呢,就是我刚才说的可以通过数据包来伪造,所以我就可以怎么办呢,把这个地方进行伪造,大家看着啊,怎么伪造呢。

先来到刚才那个地址。

接着来啊,那我现在来看着啊,我先输入,不管我就是我随便输什么东西好吧,我随便输,这个都是无无关紧要,我登录,我先把它放出去,你看他无论如何都怎么输,他都拒绝访问,我再输怎么办呢,你看啊。

我通过他的拒绝访问提示告诉我可能是限制IP,所以我又加上一个什么头,加上一个头,把刚才讲的嘛,来写上这个值,过去随便写哪个地方啊,然后写成什么东西呢,127。0001,或者我不写它也可以。

因为他也接受这个值嘛,他接受这个值去判断嘛。

我去判断这个对,去判断这个条件嘛是吧,我不写他,因为他要执行SQL语句,我就可以玩出了。

我写不写他都无所谓是吧,我随便乱写,这里好吧,我随便乱写,唉这他妈的怎么又花屏的呀,过程呢有点小复杂,但是大家理解之后呢,以后就少走很多弯路,你听别人讲,那别人不讲,这个从代码角度给你讲。

你是听不到很透彻的啊,好我就直接在这里先写好,我再搞上去,免得里面的油花瓶,啊我那个拆了个字段就不拆了啊,来直接单引号了,you and when snect是吧,那个那个拆字段我就不拆了啊。

因为那个简单就old的by嘛是吧,我们就猜不过十,就直接后面那把它注释掉是吧,或者呢用这种方式也给初始点移嘛,那给一个单引号,把后面单引号匹配到一个单引号嘛来。

然后呢我是默认database里面就包包字段啊,三个里面的让他报这个用户名,是这里面装的包base是吧,可以撕一下啊,嗯先先报四个吧,24,你没有,那写着来啊,就写这个东西,你看是不是注入点啊。

来看下来发到这里来,大家看一下,看见没,没多猫,look host出来,你看别租了,啥情况,这咋是个猪点,那不是说好的防护吗,很简单的道理啊,他这个设计是这样设计的,是说解锁你的IP地址。

结束好之后呢,他组合这个去判断。

然后IP地址在代入查询,他要判断你刚才数据库里面这里查到了,是不是等于127001嘛,这不就是我们这里看到这个表,这里这个表是吧,这里查这个东西是不是等于12701,那么他一查呢,查对了。

到这就进入下面循环,如果查不对,那就提示这个,但是他这里执行SQL语句,我先让他直接注入成功了,他压根就说进不进入这个后面东西无关系的。

因为这是个语音没执行的执行,这个IP呢就是我们这里提到的这个值是吧,也就相当于说等同于呢来把它复制,等同于他执行的语句是什么呢,就这个语句来来复制一下。

叫它等同执行语句,那这个语句执行不就是我们的结果吗,就是他接收用户的IP来判断,但是用户IP呢他在数据库查询了,导致注入这低一点,这种设计导致的是差百分之路好,那我这是一种设计。

如果是其他两种设计呢,又会导致不同的事情,我们来看一下其他两种设计,比如说第一种设计教代码固定IP去判断,啥意思呢,就是说他这个IP地址呢,它就不是不在数据库里面储存了啊。

这种呢就是说数据库存储的IP保持这个登录,那如果说换第二种思路,这个数据库把这个IP地址呢A直到代码中,那就不是产生这个猪了,那么其实就很简单,就说啊我固定好一个白名单IP,比如说叫做什么。

就是这写了这种写法,那我就按这个写是吧,比如说这样写的,再写个什么排名的IP,就说是这个id我才能要进一,对不对,那如果说是Z1种,那就那就没办法了是吧,那就不是我们操心的事情了。

那这种那可能说是这种呢,它的安全隐患是什么,安全隐患就是绕过隐患,logo隐患,不能说是为什么说是绕回隐患呢,为什么说是招鬼隐环呢,来大家看着啊,来我写这种,我给他再测啊,虽然他现在没办法租了。

但是不要紧好,我们先给他登录试一下啊,那我点登录是吧,我尝试登录了,哎哎等一下啊。

这个哦这个IP地址是结束的,是还还是那个字啊,还是二个字呃,就是说判断一下,这里呢就判断那个IP进入这个循环啊,我这个逻辑写的有问题啊,啊,其实就是说这里呢就是判断这个这个IP地址。

是不是等于一加起尼斯的话,我们就让他进入这个下面的执行条件,就这么一个逻辑,结果还要加一个那个事情啊,就不用判断这个词了啊,这个就有绕过隐患,这个我就不给他演示了,就给他写上去了。

正因为这个演示呢就要改一下代码,改的蛮麻烦的啊,其实就是说这里那就直接判断这个,判断一下这衣服啊,这个变量IP呢是不是等于是这样写的吧,是不是等于它啊就结束过来的值,是不是等于它等于它之后呢。

就这里呢就把这个语句呢给他执行执行下去,那就这个事情,然后呢如果不等于它就执行这项目,去把这个改一下就可以了啊,那这种呢就会造成什么绕过隐患。

啥意思呢,就正常逻辑呢只允许本地登录,但是我可以修改这个地方,需要刚刚才这个地方把它改成12700,不就可以了吗,因为我就帮他让他解释到是12701呀,对不对,能理解吧,那我呢就绕过这个判断。

能理解吧,所以说他这种呢就是绕过隐患,就和猪猪不相干了,刚才产生猪入了,是因为他在数据库里面去代入了,绕过隐患,那么还有一种情况,比如说房租入记录里面。

把IP呢去保存数据库,那也有可能的,一种呢就是说去判断,还有一种就是把这个登录的用户IP呢,他有保存到数据库中了,那就是inside的输入,就是说还是和数据库打交道,还是在这里面。

再把你这攻击IP把它记录进去是吧,比如说记录攻击IP的,他也记入数据库,那么你是不是也是可以通过你,你随便伪造一个攻击行为,让你的IP地址以伪造伪造一个SQL语组合到inside中,不是有这个主动吗。

说了三组,我不知道大家能不能理解,说实话很好理解,理解不了,那只能说呀对吧,一些东西呢没学好,可能大家会问答,那这种IP判断不就直接能绕过吗,不是的啊,不是的。

你用P与几批的这个差for word去接受IP,它是能够绕过的,你用其他的那几个函数去解释IP就不能绕过,或者说如果你不用PPP这种策略去解释IP的话,也不能绕过,这句话能不能理解,可能大家会问了。

学的越说的越来越玄乎了,听不懂了,听不懂啊,说实话我现在生病,我的脑子是吧,我都能跟得上,我不相信你听不懂啊。

好我先问大家,我说的这三个东西能不能听懂这三个啊。

来我说的这三个情况能不能听懂,那我做了一个实验,就是做这个了,做哪一个啊,做这个对他造成了SSELECT入入,我说如果说是这种代码配置的IP去访问,他只是车流绕过,真的这个能不能听懂。

第一个这个能不能听懂,不能听懂,我现在就给你实验,你就实事求是说能不能听懂,一是R是什么鬼,R是听不懂吗,不会是吧。

好大家看着啊,我就只写这么一个东西好吧,你看着啊,我先把这个蛋包把它改掉,看着啊,所以说这个基础太差了啊,这个是真没办法,我不是说这个课为什么说前期安全开发,这个讲过了是吧,这个讲过了。

那为什么后面我还是要把这个代码呢,给他滚一遍,就因为我知道有些人他压根就没有学了,完全没法听不懂,你看着啊,我们在只写这两个啊,因为我怕我改着改着把这个代码全部改错了,你后面浮现不好浮现,你知道吧。

所以我前面都没有改它,你看着啊,这个情况啊,这是那个代码嗯,你看着啊,这刚才代码好唉。

果然是吧,这里就报了问题,尴尬啊,咱们先自己整好,大家看着啊,来我先登录来看着吧啊。

那我登录拒绝访问,看到没,他你不管你登录正常还是返回全部拒绝访问。

因为就说你从一开始他就进入这个循环,为什么你IP不位移小于零。

我怎么办呢,我把它固定到是白名单,白名单是什么意思啊,就是说这个IP呢是我自己提前写好的。

我不是把这个IP呀放我放在的是什么配置文件,我直接入代码声明中,就是我说的这个意思,好吧,你如果说连这个概念都没有,那就是压根就没有学过开发,我就不说了,前面那是把IP呢放到数据库里面。

所以导致了数据库出入,就是IP呢是不是在数据库里面所知,所以从数据库里面查询出来的,所以导致设注入,而这个呢是我直接写到里面的,相当于说我配置文件里面,或者说我直接代码声明里面好,我这样去高。

然后呢我为什么说这里会造成糟果呢,你看一下啊,那我抓个包给你看一下啊。

那我现在是什么都是拒绝返回,对不对,然后我抓个包嘛是吧,男主不。

那写上127001再包放出去,看人面的提示可以登录。

不就绕过那个衣服了吗,不就绕过那个东西哪个逻辑了吗。

就进入这个逻辑了呀,这还不好理解呀,啊这不进入这个逻辑了吗,哦进入这个逻辑了吗,等于这一心理好,那么现在我又说了,哎呀,这个第三种房租路IP保存数据库有啥意思呢。

这和刚才这个央啊,和刚才这个央啊,就是说有些攻击者,如果说我要实现这个功能的话,就可能会导致这种字幕,我实现之后呢,我把攻击者IP呢保存数据库,那不就是和刚才我讲那个原理不是一样,求一样的事情吗。

那种话我还好还没有查,就在这里,那就这里呢就和这种不是一样的事情了吗,就是他把这个攻击事件的IP,比如说在这里,我把IP呢用这个插for v改改成这个语句。

不和这个server exside的语句重新组合,形成四个主体一样的道理吗,都是一样的思想,就是换那个功能啊,我是以广泛的设计功能去给你讲,这个漏洞的原型,第一呢是让你知道以后。

你知道这些漏洞会产生在哪里,第二点呢是让你明白这个漏洞为什么会产生,知道吧好我刚才又说了一句话,我说如果是呀,这个刚才有人问说,那不是IP能够绕过吗,不能绕过啊,你不说这里能够绕过吗,我说了一点啊。

这个绕过呢,PET的特性和特性,中的那个什么。

把这个东西拿出来啊,别说IP的账户其他方式啊。

这就是知道过啊,就说你用其他方式,就说他不是IP接收有几种方式吗。

网上还刚才给他查了一下,其他几种方式就不能在数据包去更更改了。

就是他接收IP的时候呢,他可以从刚才那个插佛头里面去接收。

判断IP,如果说你用其他方式接收的话,那么你在数据包里面更改是没有用处的,或者说它不采用pp语言去解释IP,采用的是它的一些电脑上面的一些方法,或者其他语言的一些方法。

或者是等等一些软件的方法去解释IP打哪个IP,可能就不能造成伪造了,就是我们不能去根据数据包去修改,让他去想怎么接收就怎么接收了,所以如果是其他方向的这种接收的话,可能就不会存在这个IP方面的一些问题。

所以原则上来说它涉及这种东西理念是好的。

只是说用到的是pp语言,而刚好也用到了pp语言里面的插for f头,这东西来解释IP,导致这个IP呢是能够伪造的,就是说他是能够伪造的,知道吧,所以才有这个安全问题,如果他不能伪造。

那么就不会有这样的事情发生,就是你更改不了你的IP,除非你自己那去换了这个网络去上网,那才能更改IP,否则的话你是固定的IP,爱你姐吧,就说解收IP的方法有很多。

我们只是用pp语言里面这个代码去解释IP,你也可以用什么其他软件,其他产品,其他语言,那么每个语言解说IP,它的这个实现原理都不一样,有些是你在数据包里面更改是没有任何用处的,它不以那个为准。

他是走的是其他协议,那是我们做不了的伪造,知道吧,能不能理解,你不要说这也不理解啊,那有那我就没话说了啊,所以你不要说我今天讲了是吧,你看到网站之后,你说哎这个什么有IP限制。

哎我讲过直接什么插photo,我一更改就围绕绕过他,你要具体情况具体对待,它是以这个叉FF头去接收判断的IP,你就可以绕过它,如果是以其他方式,你就看是什么方式,不是说所有都可以明白没有。

你不要说是他一说检查比你说能到,我不是这样的啊,那么现在呢这是这个结束方式,那么这个结算方式讲完之后呢,其实呢也告诉我们一点,这个侏儒呢我们可以看到了啊,通过前面的post的学习。

和这个什么这个数据包的学习,也就是说呀,数据包的任何地方,都可以成为注入的一个测试地方,啥意思呢,呐这是个数据包,前面讲的get是在这个上面注入,那UA我们刚才说了。

如果他在这里呢也把这个UA的信息呢也接收,并且有进行数据库查询,那这里也是个注入点,也是可测试注入点,就是把注语句的写到这里测试,那同样道理,这个地方像我刚才说的什么插佛头,甚至这里没有的。

我都可以把它写上去,就像这里呢差,否则如果没有是吧,我把它写上去,然后呢把注点写在这里,AH注入,还有呢是在刚才POS的基金中,是不是啊,也其实说上到这里你就应该明白了。

这个驻点呢不单是你你看得见的和看不见的,你在浏览上面看见的是网子,那就是针对这个上面的是吧,那么上个pose之后呢,发现下面也可以玩,哎,上过这个AP头的,发现这中间这些参数值呢也可以玩。

具体就是看网站它接收什么,他你可能会问,那我怎么知道他解释什么呀,看功能呀,对不对,看他的反应呀,有源码是看源码,没源码就是看反应,你说什么反应呢,就像我刚才说的,我登录一个网站后台。

它提示我怎么拒绝访问呢,或者说IP限制,那我就知道哎,他在正在解释我的IP,对不对,所以那你就尝试哪些参数能够围绕IP的,就钩子上去让他测试,如果说你都不知道提示也没有,那不好意思,那就全部来一遍是吧。

把这注解写到任何,写到数据包的任何地方都测一遍,能理解吧,那就是扫描器要干的事情,当然你也可以自己做。

好我们接下来呢再看最后一个支点啊,最后支点那就是数据的请求格式类型。

本来呢是有个真实网络给他用的,但后面想了算了,那数据请求格式是啥意思呢。

哎说白了啊,就是类似的这种情况呢,我们举个例子呢,那我写个看网上,我找一个。

这玩弄你一子的啊,你看我们就搜一下,给他看一下,这还得是谷歌搜啊,嗯这里面的,大家看一下这个例子啊,那你这呢这个你可以再看一下啦,这是个网址地址啊。

这什么鬼东西呢,你看啊咳id等于MQ等于等于要不。

如果不知道的就咋办呢,就这样写了,id123呐,这样注入啊,这样就在后面尝试这样注入了,但是你这样注入了,发现注入不了,为什么呢,他有可能有出入,但是你输入不了,为什么呢,因为这个MQ等于等于呢。

它是一个加密值,你可能说我怎么知道是加密值啊,那前面那个什么加解密算法那种特征。

你就白学了呗,那讲的有什么意义呢,是不是要观察的啊,你要观察到后面的值的类型,是铭文还是加密还是编码等等,那base64里面看你这MD5,MQ等于等于你把解埋一下就变成一了,那你可能说。

那这又和我们常规注入有什么区别吗,是这样的啊,我们思考一个问题来。

数据采用加密或者是编码进行传输,那么后端如果它有解密解码代入数据库呢,那么你注入你觉觉你觉得要干什么呀,很简单的道理,它MQ等于等于你在上面写着安等一等于一,还这么多语句这样写,那么B方会解密。

解密之后这啥东西啊,加密是这样的,解谜了解不出来,为什么,因为这是个,编码的和一个没有编码的,两个加在一起,解密不了,不能死,所以对方一减啥都不是,啥都不是,怎么代入数据库查询,怎么进入正常逻辑。

进入不了,那该怎么办呢,他的正常逻辑是怎么办的,我们这里呢先给他看一个例子,我们写的贝斯尼斯这个主页面,你看着啊。

类似就是写了一个这个代码页面,我都给他写好了啊,如果你学过前期的开发课程,这东西,那是能够写出来的,那MQ等于等于请求VR023这个登录页面。

然后这个数据库呢是请求这个值的啊,60里面那R20如果等于R就是消失的,安全博客肖老师开课来,我们来请求二,取消2M就是M5G等于等于你看啊,他也换成mg,等于换成三,那是MW等等于那是一再改编的是吧。

他是个对应值,那么你租的话,你该怎么租的,在租的吗,有任何用处吗,没有任何用处,该怎么租啦,先把这个解密出来,解密之后,然后在这里再写上三,大家分,你注意一句怎么写。

比如说you will i will connect,1234对五六,放上去,i id加上去扩散,是不是六个,12345啊,四六个吧,六个啊,我这里没报错,我让他报个错,哎啥情况,大家不能阻入啊。

U n i l snect,123456,对的啊,123哪里写错了,嗯啊什么情况哦,怎么三天复制复制到这个来了啊,第二啊,他这里呢就正常显示了显示三的这个地方,但是没有报出那个数字,这哪里写的有问题啊。

哦这个单引号哎呀,我说你妹的咋回事啊,一个单引号干扰我,所以说呀我就刚才说的嘛,有很多这种意外都要考虑在内的,你稍微这个不考虑啊,那就给你是吧啊,这样去写这个注点B和那个单引号,嗯放这里来试一下。

你看这包出四和五啊,然后那你栽竹路该怎么办啊,比如四和五都应该显示database,对不对,别号放再来,哎你主语是这样写的,看到没,你不这样写,注入不了啊,为什么你看他代码逻辑啊。

他介绍了你的id之后呢,他用个base60呢把它编码,把它解码了,解码之后呢才到数据上去,就说他做了一个还原,就说表面上那个id值呢默认是三,它把它变成了一个base64的加密值,放在上面。

诶你呢你在上面傻乎乎的敲明文做语句没用,他结束过来之后,解码之后呢,啥都不是,所以这个语句呢就有问题,你就必须按照他的逻辑,因为他是一个什么逻辑啊,是前端加密。

后端呢要进行解密,再带入数据库的,所以你就把你组合好的渔具,测试局也要进行编码,然后代入进去,再正常的解码,进入正常的逻辑,你看这个示例网站就是这么一个案例啊,你看它就等于MQ等于等于你在这后面敲安等。

你等你有用吗,没有用啊,那么很简单,既然你在你敲都没有用,用扫描工具能扫出什么东西嘛呢也扫不出来呀,因为扫描工具它也不是智能的,他哪里知道这是个加加码值啊,啊所以这就是我们为什么要伤这个软件。

就说其实很多东西它是个死的,你必须要结合你人工再配合工具啊,有些东西它会有一些意外的情况,你就让工具知道有这意外情况,告诉他工具在扫之前先把解它诶,他在扫菜,就能经常进入他正常的扫描工具逻辑啊。

所以说像这种他该怎么测呢,是不是就是我们说的这种方式去测呀,你看MQ等于等于,那就是乙嘛,so i id等移的这个地址,你看我们再把它换一下是吧,既然14M修等于2A呢,就是那mg等于等于。

你看他会不会改变的呢,那可是第二页了呀,这是第二个呀,那同样道理删了,你看你看我就知道他的访问逻辑,那是你你哪知道呢,你一看那是码的是啥鬼,这id怎么这种情况,你看你的第三排第三的,那等于三的值。

对不对,那很简单,你这条猪,那就是这个情况是吧,就和我刚才一样的order by啊,这种情况你这样去注他,以上期我还讲过这种类似案例,就这样去讲它是吧,后面呢我这这个东西呢还租。

哎他的不知道包了个啥玩意啊,我试一下啊,我看下是这个报错还是什么的,我把后面加大一点,其实这里呢这撕那也不对,那报错了还不对,但难道说这就就就奥特曼一吗,那显然不思啦,对不对,也不知道有没有租啊。

现在还不清楚啊,那包子包给面,那可能是什么原因啊,可能还有一个原因是什么,单引号原因,对不对,可能还单一发问题,是不是因为他也跟我们那个可能也是一样的,那啊也是一样的那种玩法,对不对,也不清楚啊。

都不清楚,只能盲猜啊,是吧,只能盲猜,所以说这就是那种你在,在那个实战中的各种可能性啊,这里我就不测了啊,我的真实应用啊,上期我测过真实网站,你下次去测啊,我就不测了,那他就是那种玩法。

就是我们这种玩法去测它,那这种呢是我们说的贝斯尼斯,那还有一种就是我们介绍温,那什么叫介绍温的JSN,也是最常见的一种啥情况啊,我们先给大家看一下,这个JSN的这个这个地方啊,啊在这里有个用户登录这。

我给他写好了啊,大家看下啊,那我比如说登录艾德米和这个账号,我们先用这工具给他抓一下,好我先给大家看一下这个地址的,然后呢我们对比一下两个地址的一个差异,看来这个地址登录账号密码了,艾米艾米啊。

你看他登录的一个信息有花屏,妈的老是花屏,好我登录一下啊,哎我这在这边信息这里还没再找,你看啊登录了,你看艾特米,你看看这个值呢只是他的一个登录信息啊,我们把它记录一下,放这边来备份一下啊。

好我们再看这个正面的啊,这个网子的啊,它有一个登录,这我们都是自己提前给写好了啊,你看啊,同样道理都是输入这个东西,那我们提交下,那这个登录,你看这两个有什么区很哪区别呢,啥区别大家可以看到呢。

那这是这种的一个显示,刚才那种呢这种显示啥情况,数据格式呢,这个呢application jsn的一个指向,刚才那个什么application什么3w x mode,啥意思啊,这是数据的一个显示啊。

你可以通过这个浏览器能看得更加明白,那你看我浏览器抓包的这个地方也可以看到,那我们随便输。

点击登录,你要在数据包里面呢,这个发送数据呢看到没,他这种展示模式啊,JS文的格式啊,嗯刚才那种呢post的那种歌词呢,你看啊post那种格式。

A positive gu,那你看看啊。

那他也是这种的,那这种人是这种情况,这种很常见的。

网上不是很多这种情况办嘞,对不对,那这种该怎么注入呢,也是一样道理啊,他也是一样道理,租点呢你要明白这个是你固定的值,那就不说租点,那是在哪里租了,那比如说他要租,我该怎么办,这驻点呢是默认都有的。

代码中的,我给他写好了啊,这是结束这个值嘛,解释过来之后,用JS文件把它进行解码,解码之后再从里面去取出一字name对应的兼职,这是兼名。

就取这个username界名,取出里面只复制给个USM,然后代入数据库查询。

这是那个SQL语句,这是租原理,这不说了,代码逻辑就不讲了。

那怎么租它呢,就在这里输入来,再输入啊,就把主语写到这来,然后呢,他有单引号的这个干扰法,写单引号先屏蔽掉you,And i were disconnect,然后呢写到这后面来注释一下,看一下能不能行。

go返回啥都没有,那就可能来写错了,有井号行不行,好有了,你看报数二和三在这里弄的it base,数据不明是吧,id3这里显示版本,5。7。226,对不对,这就是如来啊,那注意写在哪呀。

这里是JS问的呀,然后看一下我们上课的内容呢,上哪些请求类型,数据的类型,数据请求格式有的会把编码,有的会换成JS文,其实都没有什么太大改变,改变就是让你知道格式改了,类型改了会有哪些不同。

我们说的这个类型改呢,是因为这里面有什么单引号啊,括号啊,什么百分号的一些干扰是吧,就是因为你如果说要搜索的话,那语句可能这样写,写了这样,那我们租的时候要拼接这个语句,让他正常才能租。

所以就会导致呢我们在做的时候呢,拼接不好就租失败,对不对,所以我们要知道这些可能性,这是上了这一点,那么这个请求方法呢就是告诉你在租的时候呢,有很多数据呢不仅仅是在浏览器上面。

还有的呢是在这个数据包的post里面是吧,还有的呢是在这个这个头里面,就是看他要接收谁谁代入数据查询,就在谁那里去注入,如果说他接收UA,那么你注意就写到这里来,如果说检测什么这个这个地方呢写这个奶。

如果直插F头,那就如果没有就自己再添加个是吧,写了这个奶是告诉你这个事情对不对,然后呢第3年呢讲这个数据库格式的时候,是告诉你了,有些数据呢并不是按照我们的逻辑,还有的呢可能是这个进行了编码。

好我们还有把解码重新的组合,设个语组合组语句呢把编码重新发送,还有呢像这个JSN是吧啊,看上去呢像没有数据一样诶,有注入点呢,你就按照正常逻辑写到这个传输数据这里来,这还是只是讲的他千篇一律的一章节。

还有很多要讲啊,这个SQL注入呢是个非常大的一个章节点啊,叫网上呢有本书叫什么社科书与防御第二版,但是有一老了,光一个SQL书就三四百页的内容,哎你就可想而知了啊,其实我们讲的呢说实话啊讲的很深入啊。

也不恰当啊,不讲那也不行,这个东西讲了之后呢,像后面不管说是在java中的呀,在这个在什么点net中,各种语言中的一些SQL中呢也基本大同小异了,只是说数据库不同可能会有一些差异,大部分的这个利用方法。

什么请求方式上面的数据类型方面的呀,还有些什么鬼,忙族方面呢都差不多了啊,所以我们拿MYSQL的KV把它讲的深入点,那其他数据库呢,基本上除了他的一些特征之外呀,就相同理论我们就没必要讲了。

嗯其实讲这么多讲的详细的,主要还是在这个代码审计中和碰到的时候呢,有些用处,和大家在发行时有些讲究,嗯今天内容就讲这么多了啊,我不知道大家能不能听明白啊,那下节课呢我们就还要讲EF杂性的。

就是我刚才呢在用的时候呢,大家可以看到我用的最多的SQL语句,在租的时候我用这个un snack是吧,但这种呢是最理想的一种情况,有很多注点呢是用这个语句呢,它是用不了的啊,他用用不了的啊。

他用不了这个东西的啊,因为有很多语句呢他无法拼接这个UNSNECT,他无法拼接这个语句,因为拼接它就会有问题,或者说直接没有任何显示,你也不知道有没有成功,就我们说的一些这种无回显。

诸如和一些报酬莽族方面的事情,那下节课就讲那个事情啊,然后盲租呢主要还有很多方面的一些原因产生,那下节课再讲的时候呢,我们就会基于这节课的一些代码呢,做一些小微的更改,大家就明白一些事情的啊。

就是我在这里呢写了一个代码文件。

写了一个叫SQLI,这就是放入我们所有讲的SQL语句的代码和文件,然后呢还会给大家打包一个SQL文件进去,就是我们这个这个四个文件是吧。

我要打包出来放放进去,你们呢下去之后呢,就只需要把这个SQL文件导入数据库里面啊,就是创建一个SQL逗逗零,然后呢在这里呢去运行这个SQL文件,就可以把数据导入进去了。

代码呢就放到那个pp study里面就能正常运行了啊,这点应该会的啊,这个前期安全开发如果伤了应该是没问题啊,如果没有伤的话,你多琢磨一下也是完全OK的啊,就是用这款工具呢是吧。

连接到MYSQL里面去之后啊,新建个DMI啊,和我名字取一样,然后在这里的右键是吧,运行SQL就选择我给你打包了个SQL文件运行,那么自动这三个东西那就有了。

然后再把我们这个源码呢放到你那个pp study。

那个web目录下面啊,自己去访问那些配置呢。

我基本都配置好了啊,简单的自己如果说要修改的话。

就无非要改的就是这个文件嘛,就是个数据库配置文件,这里啊,如果说你的密码和我不一样的话,你把这里改一下就行了啊,其他的基本不用改了。

先写好了,然后环境那是我们说的这个。

pp study的这个这个奇的一个pp版本啊,我用的是这个企业的奇的这个版本啊,就这个版版本保持一致啊,我用的是个PP7版本啊,如果用其他低版本无版本的,或者说高版本呢,其版本是个适中的啊。

五方面可能有些小问题,注意一下就可以了,好今天就讲这么多了啊,等下我们把源码,还有一些相应的工具呢给他打包。

那个数据库连接工具我就不给他打包了啊,因为前期已经放过很多次了。

包括这个刚才看了什么这个这工具是吧,这其实也放过了啊,那有些人老师里面的前面的坡不上,突然砍一颗,然后一工具人看到了就和我要,其实很多情况下我都打包了,以前上过这个内容的都打鼓包。

这几个看到呢我没有放进去,他就不知道到哪里去了。

啊今天就说这么多啊。

啊看大家有没有问题啊,有问题就问没问题,我们就我先把录录录像关了啊。

把那几个东西来给他打包,放到网盘上面去。

这个问题的话,我还是老老实实给人家打包一次吧,唉那其实在前期找那个编码解码的时候,那,就已经打包过的,讲那个签名前面那个什么加紧密的时候啊,这是个ESE的啊,有些操作系统那还不兼容SQL文件。

是那个SQL,还那个源码。

怎么黑客八呀,黑客八上节课就打过包,你不可能说我每次都打包啊,那也占用大家的空间呢,这前面的源码都是我以前这是源码是吧,这个源码的是我今天讲的是LI,这里面的这都是以前,商在前面讲安全开发自己写出来的。

你前面如果一路跟到来啊,一路跟下来的话,这两个都是讲过的,我只是在上面做了一些简单的修改是吧。

我们没有用网上的八重给他讲,都是自己写出来的是吧,前期将将它的开发,对不对,这个火狐浏览器呢你们要的也行,然后我再给他打包一次啊,后面我就不打包了,打包一次你们也得占一些空间,实战如何找RCE用收招啊。

那不然怎么办呢是吧,文件名注入那个再细讲一次,下节课就会讲啊,哎一样的道理啊,你听都听不懂,没办法,他就是一个insight注入,有啥讲的呀,复杂点就是设计了个20组,还有个高级玩法。

如何准确的查找资产归属,用网上的借口批量帮你查啊,解密不了,这为什么解密不了,解密不了,我帮你查一下能不能解密啊。

那姐不倒。

我也没办法直接做,解密不了,那有什么办法,非关系型数据库注入,你就说的是那几个其他数据库嘛。

唉你们老给我出现难题,你说不讲吧,感觉有点那个,但你们说的这些东西呢,它本身在那个里面就存在较少,这讲的跟没讲一样,就好比讲了个什么鬼,gs s那个什么鬼叫什么呀,JS连像什么VUE1啊。

那什么漏洞一样,他本来漏洞就少,怎么讲啊,以前那个你说这个非关系户的那个什么猪,就拉几个,出现过几个几个那个什么几个漏洞没了,我们讲的几个数据库呢,不是说只讲这几个是吧,MDB的那个租了也有。

还有什么LOSQL,Losql,以前我还讲过,还一旦被命名成高端,还专门讲了个专门支持LOSQL的组织工具,后面发现没什么卵用,因为碰不到NO sl呢,也是非关系数据库是吧,还有什么这个MONDB啊。

H杯死啊,瑞迪斯啊,对不对,你在网搜他那个驻点本来就没有啊,你很少出现的都是几个那个CF1,那些漏洞包的和它相关咋讲啊,他又不是像我们这种MYSQL里面的,SQL语句的一些问题。

哎,MONDB的可以讲一下MONDB,还有啊MONDB的几个漏洞啊。

那几个漏洞复现,那就是讲了吧,前期我们上期还以前还讲过LOSQL的,讲了个工具,后面发现没什么卵用,因为碰不到,还专门还讲了个工具支持他,你们说的就好比就像我说的那个道理,就是你说的那个事情呢。

他本来网上漏洞就少,你讲他你也碰不到,碰到那他也没漏洞,本来就是个碰运气的事情,他也没有什么知识点,讲不讲嘛,又是基础,number one讲的里面的跟没讲一样,碰都碰不到,蛮尴尬,这个事情干。

不是什么高端不高端的事情了,这个和那高端没关系了,你讲的也不是高端的。

不讲那根本不高端的,将来,那也不是高端,因为你碰不到,你也永远不到你,除非是瓦台漏洞,好今天就说这么多了啊。

我们下节课再见啊,还要问什么文件名注入,再讲一次都说了呀,就是一个inside之路,有啥讲的啦。

那你直都给你讲了,还讲啊。

P44:第44天:PHP应用&SQL盲注&布尔回显&延时判断&报错处理&增删改查方式 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

今天讲这个第14天啊,讲什么呢,讲这个租屋嘛,忙猪啊,额这个忙中呢给讲一下诶,有两个点,那今天主要讲两个点,一个满足的方式,一个呢是这个几个查询方式东西,首先呢在讲课之前呢,我们先了解一下啊。

这个SQL注入SQL操作中有四种方式,一种叫增加修改,删除查询四个,那么相应对应网站的功能呢,就是像一些数据查询这些东西好,那这里呢讲这么这样讲呢,很多人都不明白。

我就给大家用个案例来去讲解啊,看着啊大家都知道一个网站中呢。

如果说要对数据进行操作的话,那么呢就会用到数据库的操作中西,然后呢对数据库自行操作东西呢,又会有几种模式啊,我们来具体说,首先第一种啊。

这种叫做查询模式,类似于呢把星星的给它取出来,那啥意思呢,我们来看一下啊,比如说像现在我们进行一个SQL语句select查询,那么呢它就取出这个表里面的数据,我们从中呢去取出我们想要的数据呢。

在页面中去显示对吧,这是一个很正常的snack的的一个查询,那么它会应用在网站哪些方面呢,就是网站的需要对用户呢进行这个查询,这个很好理解啊,前期我们大部分都是看到的,这都是这个stack。

那除此之外呢还没有呢,比如说想新增新增是啥意思呢,啊新增是啥意思呢,来给大家演示一下,比如说像现在啊我们找一个这个表啊,像艾米表里面对不对,我们呢尝试在这里呢去操作,比如说像这里啊写成一个什么比赛。

And you,然后呢加上这个名字叫艾特米fiddle,这里呢写上什么呢,字段名啊,这里呢就是括号,它的字段名,字段名是什么呢,就这几个东西嘛哈那第一个他的这个id。

第二个它的什么username on,第三个还是word,注意啊,这个符号呢是这个符号,你不要写错了啊,不是那个单引号啊,因为单引号就代表的是那个那个啥呀,呃珠串的嗯,还有个是我们的id对吧。

然后后面写上faux,写啥东西啊,就ZIS3就好了,比如说id搞个三,然后呢账号呢写成小点SZ,就写个小迪下滑牙cc啊,然后密码呢在这个X123456IP地址呢,随便写个127。0001好。

进行一个执行,好哪里写错了好多来多来一个符号go好,他说执行成功,然后我们再刷新一下这个地方诶,出现了个新的数据写进去了是吧,没有问题啊,好这个呢是一个插入,那么大家想一想插入是什么操作啊。

在网站的功能中就是什么新增用户添加新闻,啥意思啊,在网站的web功能中,就是网站的用户功能中,比如说你注册用户,新增用户,注册用户和新增用户都是一码事情,都是添加用户的意思嘛。

然后呢你在后台里面去添加新闻,在前台里面的会员里面的,去更改你的一些东西是吧,修改就上传一些东西,那这种的都属于新增,那么它就会用到excite功能,snack的这个语句呢。

就代表查询excite就是要向你们去添加数据,那除了添加数据,是不是就有删除数据,Delete delete,然后for删除谁,删除二的米里面条件是id等于三的,刚才这里呢IDN3的时候,刚才添上去的。

我现在把它删掉,来进行勾执行刷新啊没了,那么删除就很好理解了,删除用户删除文章,删除新闻,删除信息都属于删除,那么同样道理,除了删除之外还是有修改呀,就比如说像现在这里呢,用户名是小李。

密码是password,我想修改这个信息该怎么办呢,update是吧,Update news,然后呢,还有这ADD me里面的是吧,条件是这个id啊,好不就不用讲条件了。

set it设置一下这个密码密码为小迪,那这里呢我就把这个艾德米的密码呢,修改成小迪啊,那么怎么修改呢,条件式username m呢,等于这个什么admit来进行一个执行,在了刷新这里看到没。

是不是改成小题呀,好这个四个操作那就是简单的理解,就是我们这个SQL语句中的常见四种,增删改查查询修改删除增加,为什么讲它大家思考一下,它就和网站的功能对应上的,你可以通过网站的某些功能测试来去猜测。

当前可能在代码中的执行的SQL语句,能不能理解这句话啊,那么讲完这些之后,我们再思考一个问题,什么问题啊,增删改查,我们可以想一想啊,查询你要不要对数据进行操作。

大家觉得如果说你选择的是snack的查询,那么这个查询出来的数据,你觉得你会把这个数据要操作吗,就是在代码中的话,假如你用到了查询,你要不要对这个数据进行操作操作呢,就包括比如说我把它转移到哪里啊。

显示到哪里啊,或者是怎么样怎么样,这个操作都属于叫操作,你觉得你用查询的话,你会不会对这个数据进行操作,还有人说不要是吧哈哈,那不要你查他干嘛呀,大部分都是要的吧。

是不是大部分都是要对这个数据进行操作啊,你不邀他,你查他出来干嘛,因为你查询就是为了把这个数据取出来得到嘛,那你得到你肯定是要对它进行操作呀,不然你取它干嘛呢,好。

那么新增用户的新增用户他需要对这个操作啊,就是他新增之后,他需要说对这个什么新增东西要什么操作,什么东西吗,你想象下啊,这其实就是一码事情,就是很简单,就像我们人质去交往的时候一样的道理是吧。

你去怨女孩子,或者说你去想约别人,女孩子,你肯定是就先去问别人有没有时间,对不对,不没有,因为时间那才有这个瞎文对吧,那像这个增加呢,增加是啥意思啊,就比如说你给别人一个东西一样是吧。

你给过去了就不关你的事情了,你管他有没有给成功呢,给成功了,就是说给成功了,没给成功就没成功,有没有对这个数据进行操作的,没有吧,他就是要一个要的是一个结果,就是成没成的,结果完了。

但是你这个查询就不一样,他是要对这个数据来进行操作的,而像这个什么增加呀,修改呀,删除他看的是结果,就是成没成功的,结果就是我修改成了没有,我删除成的没有,我增加成的没有啊,并不是说对这个数据感兴趣。

因为对数据感兴趣,就是查询把数据取出来,而这后面三种增加修改删除呢,就对数据不感兴趣,他只对操作的结果感兴趣,那么这就是一个很明显的一个区别,既就是这个区别才衍生出这个盲族的概念,那芒族是什么东西呢。

我们先来看这句话啊,盲租那就是在注入过程中,某些数据不能回血,我们需要对这个方法来进行判断,然后去使用这种方式去注入出来的操作方法呢,我们称之为叫盲注,盲,就是没有点。

就是不知道前后的一个逻辑的就是什么,就是乱搞的一种注入,好那你到了这里之后呢,我们就先给大家看一下啊,有三种满足,一种叫基于波尔的盲足,就是逻辑上面的判断去注入,还有基于时间上的盲注。

也称之为叫延时或者延迟注入,还有一种呢是叫包错的四个房租,就叫包错注入三种方式,那么对应的在MYSQL中就是这几个函数,在其他数据库中啊,大同小异,都是一些简写或者说稍微复杂一点的东西啊。

都是可以进行这个相应的对应的,那么接下来呢我们就来做个实验,让你明白这个盲足存在的意义,大家看一下啊,首先我们还是来来到我们上节课呢。

上过那个研案例啊,我们在这里简单修改一下。

让大家明白这个盲族的这个概念,好这是我们上节课写的那个代码是吧,好大家可以看一下啊,首先呢这里那就是我们正常的这个注入好,首先这里呢这个while循环是取出里面的数据,并且把数据呢进行这个显示嘛。

是吧呢,还是把数据呢进行显示,这个下面就是显示数据嘛,那把呢数据取出来之后呢,就等于这个变量,变量呢后面就把进行这个显示嘛,哈这是我们上节课的那个操作是吧,我们来可以看一下这个地址代码啊。

大家看一下啊,这是他现在显示的那比i id0,那显示的数据ID2是吧,i id3啊,这三都没有数据的,比方这里的IDL有两个数据嘛,就是这里的看到这个两个数据嘛,啊这两个新闻哈嗯好。

那么现在我去注入哈啊这是之前那个注入,我先把这个回血把它去掉,啥意思啊,就是我这里那就是干了个什么事情呢,就是只执行的这是个语,我并没有对这个执行执行SQL语句的结果。

这个date那是那个取出来个结果嘛哈,就执行完这个语句不是有结果吗,我并没有对这个结果呢进行操作。

就是把这个注释掉,代码没有了没有,之后我再访问这个网站,大家可以看到啊,我再访问这个一二有没有数据,有没有呢,你看这个数据全部为空了,全部报错了,因为呢你这个数据呢相当这里是吧,有了它就会显示。

我把它注释掉,它就不显示数据了,因为他就是相当于执行了啥都没干呢。

数据呢我也不不管不问了,那么像这种事情,我们再按照之前那个操作的注入方式,来去讲的话,那看一下啊,我按照我之前的方式去注入,是否还能注入呢,对不对,执行啊,然后呢就像刚才之前那个猪一样啊,我们写个这个。

是吧,写那种主语句是吧,什么这个微信啊,那我去执行,执行之后啊,我们来你看一下,我先把它还原出来啊,先看看之前的啊,确保之前是正常的保存刷新,那之前呢能够注入显示它版本,对不对,好。

一旦把这个回形把它去掉,刷新呐,看到没没有了,之前那个猪语失效了,为什么之前那个猪语需要数据回显才能输,那么对方假如不回血怎么办呢,是不是这个租入方式就没有用了呀,没有了吧。

所以这就衍生出来这个盲注了,那么盲组里面有三种方式啊,我们来一一给他演示,首先呢第一种叫讲这些简单的叫逻辑判断,逻辑判断啥是逻辑判断呢,好我先给大家演示一下啊,先演示一下,把这个概念搞清楚之后呢。

我们再到这个案例中去,给他演示什么叫逻辑判断啊,来,我们就拿这个代码来给演示啊,这是他正常语啊,你看一下啊,好这是那个正常语句啊,逻辑判断,首先第一种啊,逻辑判断里面呢有几种方式。

那这是逻辑判断的这几个语法啊,我来看一下,首先呢你看这个啊,这叫enter lift database旗子,啥意思啊,这句话啥意思啊,长度database是数据库名等于其,就是说获取长度是不是等于其。

那我看一下下面的这个这个参考了,这下面写了好嘞,这个嘞limit,那life获取它的长度,这后面写的这个注释啊,那获取长度是不能齐我运行,然后呢这里返回个空,然后我看一下我的数据库名叫demo01。

我的长度是六位,这里是写的七位错误,然后这个回旋的数据呢没有空的,当我把它改成U之后呢,我们观察一下,看到没数据正常回旋说明正确的,这是判断它的数据长度,还有呢就像我继续讲的啊,除了这个之外。

还有他什么这种数据库的这个,前面的第一位就是limit特lift,就是呢获取database的第一位这种东西啊,来运行一下,那比如说呢D位执行是不是等于P,不等于改成它的真实的第一个叫D运行。

数据正常会写啊,你改其他的都不行,都会错是吧,然后呢你再把这个一呢改成二,就是获取它的第二位置1demo吧,一数据,哦哦这搞错了吧,这是获取他的截取A长度的这个AB啊,就A长度的低前低位。

好这里呢什么鬼情况,我写错了哟,我哦这是两位啊,他是不不是说第二位他要写两位,写个D啊,D那对了是吧,你写D其他的就错了,Tell me,然后呢三比三位,那是DEM就是正确答案嘛,英文是多么零一嘛。

数据库名你看对了,然后你写其他的呢,那写其他的就错是吧,写其他就错,那大家就知道了,他其实呢这种的也是判断数据回旋的,他有个条件。

那就是说如果我进猪的话啊,呃我先把这个先把它开起来啊,开起来来看啊,我按照我之前那个思路来去注入,之前是用这种语法输入的嘛,现在让我换一种方式,看到r and的,接上刚才这个语句呢放到后面去。

先我判断它的长度是吧,我先判断它的长度,写到这来判吧,把网址放这来好看一些啊,那先判断它的长度啊,那额长度是刚才是六位的一个判断,我已经知道了是吧,那个LILIFT那个操作啊,先看看啊,执行。

嗯哦这里有代理,先把代理关一下,诶什么情况。

等一下啊,呃这哪写错了,我去看一下,这DSS啊报错的,然后你看啊DM你看页面是不是增长了呀,然后以此呢猜第四位,当你猜到多某的时候,对不对,哎也正常了是吧,然后你看拆其他的来拆其他的是不是错了呀。

对不对,所以呢继续拆第五位,那就是依次的去改变这里的值啊,零哎它就对了是吧,你改成其他的呢就错了是吧,以死呢就把这个数据库名呢给他猜到了,然后呢以此往下猜,这种呢就是我们说的第一种叫叫什么布尔盲注。

但这个布尔盲足的有个差异,有个方有有有个要求,什么要求呢,就是必须要回写。

必须要回写,就我这写给大家了啊,就是这个布尔芒族呢。

它需要有回血,如果没有回血,我把这里去掉。

把这去掉,你看他这里行不行啊,这四位嘛刚才是正确的嘛,你看他还是不行,对不对,他也不行,对不对,那这一种呢就是我们说的第一种,那大家可能会玩,你刚不说这个不回血,有那个不行,那这个蛮族这个也不行。

那咋办呢咋办呢,是不是还有其他两种方式啊,比如说这个延迟,那么接下来就给大家看一下这个延迟啊,延迟有什么概念啊,大家先来看一下什么叫延迟,延迟里面呢先要介绍第一个叫做if语句,if语句。

什么是if语句呢,大家看一下啊,嗯写上个if啊,然后里面呢有三个条件,就是这里呢条件一是一个参数,五和零是两二参数和三个参数条件成立,返回五,反之返回零,啥意思啊,比如说啊一等于一好,后面写个五。

写个零,写个零好,我们运行一下看一下啊,执行完之后呢,哎,执行完之后呢,你看啊他也没啥关系,也不知道是零呢还是五也不清楚是吧,但是你可以加上一个什么呢,加上一个呢叫sleep,就是延迟。

就是延迟睡眠时间,休息时间的意思,写成这个无人来好,大家思想一想啊,这句话就变成什么呢,条件一等于一,如果成立就是执行,第二个就是斯利普,如果不成立,就是sleep什么零,那么这个10。0啥意思啊。

我们先让它不成立,看一下那一小于乙,那这个肯定是不成立的条件,甲那就返回第三个条件,就是呢成立就返回第三个啊,成立返回第二个不成立,就是返回零,就是返回第三个条件,我们运行执行呢。

哎这里呢发现执行的时间呐呐这是执行的时间,0。01秒好,那现在我们把它改成等于一之后,成立之后再去执行,你看卡了卡了啦,查询时间开始增加,增加增加增加增加到五的时候,哎桥结果出来了,那不行的话。

我再加十秒来进行执行,那增加增加增加是吧,一直会卡十秒,对不对,你看567是吧,到十之后呢,这个数据啊,结果才出来好,那大家知道了,这是延迟,那这个延迟好像就说这里面的就是延迟一下呀。

这和那个猪肉有什么关系呢,简单了呀,看着啊,我把这个条件改成一个什么东西,大家看着啊,比如说我改成一个snack,查询database是不是等于角逗M的E,这不就成了个条件吗。

你可以获取数据库的长度进行条件判断,可以获取数据库的名字进行条件判断,来通过这个延迟的时间,来判断你前面的这个逻辑是不是正确的呀,你比如说像现在查询snack的demo。

加大力base他的数据库名是不是等于多么零一,如果说他成立是返回斯利普斯啊,不成立就返回斯里普林呀,我们就会通过这个执行的时间来判断,我写的前面这个第一个条件是不是真的,是不是写写对了好。

我现在呢大家可以看一下好,我问一下大家,我这样写,你觉得他是不延迟还是延迟十秒,问一下大家,延迟还零十秒一是什么鬼啊,延迟还是不延迟是十还是一二十还是零,零是吧,看着啊,直引。

这个结果呢说的是这个什么呃,零秒为什么,因为语句写错了,语句写错了啊,不要大惊小怪哈,不是说其实他真的来讲,你回答死是对的,对不对,我语句写错了啊,你觉得这个咋语句写错了嘞啊,啊或者说我换个语句。

我先把这个长度搞进来好吧,我不搞这个好不好,我只问大家来我写这个啊,来我写这个好吧,来left ft的database齐好,这个是零还是一啊,还是十还是零啊,这个好,我写这个来,这个是十了,又变成十了。

这个又是零了,来执行一下啊,结果是零,结果是零啊,好我这里改成六了,你可能会打死了吧,这还是十还是零啊,自信十了吧,有人刚好说反了啊,我不知道你咋理解的,我想问你说你说死啊,你要说你说零的时候。

你要说实,我真是拿你没办法,三星官,因为我的数据库名字的长度就是六位啊,多么096位啊,所以他就返回条件阿斯利普十啊,所以这是十啊,知道了吧,或者说我再把这个条件那整理上来来,或者把这个呢搞上来嗯。

这个这个获取它第一位长度的好,我问一下大家来,我把这个写这个了,这个是十还是零啊,执行零呐好,这里改成D了,把P改成D了,不行是不是死了呀,为什么,因为他底位结果是D啊,刚才P不对呀。

所以返回实力不宁啊,对了就返回实力不里十啦,这不用说了啊,不用讲了啊,所以这个就是延迟好,那么刚才我在这里把它注释掉之后,我用刚才这个语句进行这个呃,布尔的一个盲足的时候是吧,这逻辑判断的时候。

那他是不行是吧,那我用延迟你行不行呢,来我把这个主语写上去是吧,写上去呢看着啊,然后延迟我就搞小一点吧,零是不延迟嘛,我就搞个三秒好吧,有延迟大家就知道来写成零,这个第一位是真低啊,来看下执行。

看它呢正在连接正在连接,正在连接正在连接哦,出来了好,你说哎呀,这巧合网站卡了,那我看一下啊,我搞个错误的,那X你看那执行秒出来了,看到没秒出来,看到没来秒出的啊,来,哎,嗯这秒秒出来的。

秒出来的R能秒出来的结果看到没,当你一旦把改进去了,第一执行,那,这他妈的真是啊,那正在连接正在连接,正在连接正在连接啊,三秒哦,出来了,对不对,没问题吧。

那么大家看这个延迟注入需要有这个回旋吗,不需要啊,对不对。

所以这个延迟入呢,他不需要还有种那叫包错盲组。

什么叫包错盲足呢,那这里加上这么一个代码呢,O d r i d e mysql error,啥意思啊,就是说来我不是执行这个SQL语句吗,如果执行的时候,这个数据没有或者有一些其他错误,就报这个错误嘛。

其实就是我们这里看到这个错误这个提示嘛,对不对,就是它包出来的,能理解吧,就是包出来的啊,对不对,现在报出来的,避免大家影响。

我可以把这个主讲这个是包是写了SL语句的,对不对,来我执行,那就是你错了,语句执行有问题,他就会包出这个结果嘞,错误里面呢有结果是吧,这个是包错的,然后呢我就不用这个东西了。

我再用说包数组,什么叫包数珠呢,就是说你的代码中做了容错处理,就是报错,做了回旋,有数据的操作,把它显示就叫回旋,两个都没有,就是啥都没有好我们先把这个解释清楚,我们先来说包错,什么是包错啊。

包错呢有很多玩法,基于每一个数据库,都有每一个不同数据库,比如说MYSQL里面只是一些保水的玩法,那有十多种,但是举主要常见的就是前面我们讲的这两种。

给大家演示一下啊。

那我执行给大家看一下,就这语句执行了强制性在用这个性质,让它报错执行,你看它会显示什么查询这个什么叫V型的执行,你看这里是诶什么情况,呃哦再再把去掉下,大家看到没写错了啊,语句他妈的写了个这个东西。

这个不是那个啊,写这个一般的,那这个非in查询一呢是不是显示了一个错误啦,叫5。7。26,把这个VI改改成什么,数据库名字啊,然后你看我这个前面这俩符号是什么,前面两个符号就是个零差零起一代表了啊。

你把这个去掉的,他只是为了让他这个钱值得更加美好对吧,你看这个就没有了是吧,他装它会显示更加美好,知道吧,这个零差七一就是说让它间隔,就是有时候能用一些工具去写那种,爬那个结果的时候呢。

他就会用这个东西呢来进行,从这里塞这个中间值来更好的去分析,所以他有个零差其一哎这个不写,那你写其他符号也是完全OK的啊,这个零差其实就是这个这个符号的一个那个啊,16进制的一个编码。

不不不是说这个东西啊,你可以改其他的,改其他的也行啊,这符号呢主要是做一些这种安全开发的时候,那写这种脚本去提取那个值的时候更加方便啊,也没什么其他意义啊,嘶好这个就是我们说的这个包出租这几种。

还有一种呢就是我们这里看到的,采这种也常见啊,这种也是一种方式,那你给大家看一下啊,那这里呢查询个什么,查询这个C特table,就是查询这里面的tables的第一条数据。

你看他查询一个叫CHRESSTNS,就查这个来information的这个这个数据是吧,那就查这里面的这个tables的第一条四句,来看一下,那他查的就是这个,你看啊等于什么limit1。

然后查询这个table name啊,看TIM那是不是就这第一张字呢,不就这个值啊,来结果,嗯是吧,然后再改成二就查到第二个嘛,哎好这次查询零和二,对对,然后呢,如果说查其他数据。

这里就相应把这个表了一改是吧,比如说查这个PY交叉版本,那不把没出来吗,那这个斜杠呢就是这个的零差5C的意思啊,就你改成刚才那个零差七七十嘛。

T1那就是那个那个华啊波浪号嗯。

对对唉,所以说没没什么太多能起来,那这显示那我占领,那大家就知道这个包出书了啊,像大家还有疑问,就说我这里查的什么表明啊,他的列名啊,我怎么查数据呢,其实呢后面你可以参考一下文章,你看他后面的写写了。

那查到这个呢包出租呢就像包出租查的那样,如何包用户呢,然后包库呢就是和前面一样呢,就查这个东西呢,继续呢就是还和我们之前查一样,报库啊,报表啊,报字段啊,然后再查,就他的操作呢要比之前的要复杂很多。

所以说我们呢没必要去讲,因为这个后续的这种很操作很复杂的东西呢,大家用工具或者说网查下资料就可以,后续呢就是如果说你要查具体数据的话,很麻烦,就每一步都要走,先查他们的名字啊。

那个东西大奖都是一个包出租资,能讲一节课,啊然后呢这个讲了啊,好这个呢我们就这个把稿子进去了啊,这个是那个两组,然后你看上面那还有这几个呢,你看还有很多啊嘞这几种各种不同的啊,是吧都有啊。

啊但是那不是说每个都比较等用,不是说每个都有用,他这个呢其他的这种报错呢,是基于这个数据库版本来决定的,有些数据库版本呢可能不再支持,某些的报错入了,但是大部分的都支持这两个。

这个第二个第三个是用的最多的,第一个呢也是的,后面这几个呢就是看情况了啊,有些是不支持的,具体看数据库那个版本里面的功能决定,然后刚才还有问说那个网址,你要知道我只要涉及到网址,我都会给这个链接啊。

懂得都懂好了,这个报错又是什么概念呢。

它在什么机会下运行呢,大家可以看一下啊,首先这里的可以看到我回显已经把它注释掉了。

所以说这里呢它是没有回旋的是吧,我刚才用这个盲蛛的这个延迟注入,它可以用那个布尔型,它不可以,因为波尔型需要回线盲租呢,他不需要是吧,这是刚才那个操作嘛,这是刚才那个操作,大家看到了啊。

那地址我在这里啊,那我写这里,刚才这个操作呢它就延迟了三秒,就说明这个第一个只能等于D好,OK的,这是刚才那个盲注没有回血能成功,那么现在我们再来看一下,用我们这个报错是否能够成功呢。

直接把这个语句写上去啊,来看一下啊,来执行,看到没,哎这他妈的真实啊,这鬼东西啊多么灵异,飞行少写了根,有人在这里呢注视了一下,所以大家复制的时候呢也要注意啊,把删掉吧,我知道了啊,不用你写了。

还有注释,这下符的时候呢,有一些特殊符号,大家注意一下啊,来看到没,那是不是报错了呀,那我访问他直接保存呢,把这个改了改啥,对不对呢是吧,能够写出来啊,哈没问题啊。

你包括这个下面这条语句也是一样的道理是吧,来了停下是吧,写出来,然后呢,你如果说要查信息的话,那把这个去掉,是吧也出来了哈。

所以这个呢就是包出注入,那包注入是什么条件呢,就这里啊,就这个代码啊,如果说你看啊,我现在把这个代码给去掉,他去掉了啊,啊先不去掉,我先把这个代码写上,把这行把它注释掉,就是不要有这个后面这个东西了。

就是以这行为主,那么现在我们再观察一下这个执行,看到没又失败了,那么这个失败了有啥办法呢,那就继续往上面翻翻翻翻翻嗯,好再用这个试一下,可不可以,这个呢延迟延迟延迟延迟延迟延迟OK延迟了。

那么现在结论已经出现了,结论就是什么呢,三种忙中都有各自的条件,基于延迟的盲蛛,啥都不需要,你报错没有,你这个回血没有都可以,我都能进行,他是一个万能的叫延迟布尔类型的,需要数据库的输出。

就是数据的回血才能用布尔包戳,是需要对方做了容错处理,那么可以用包戳,能理解了吧,然后哪种类型是什么情况呢,延迟就是基于时间上面的判断,他时间最慢,结果操作最麻烦,波尔呢稍微简单一些。

但是需要输出报错呢,需要它做容错处理条件写上去了啊,那不需要条件,需要数据库输出判断条件,报错呢需要数据库呢啊进行这个包出处理,这是容错处理啊,好那么把这个讲完之后,大家再来思考一下。

刚才我讲到的增加修改,删除和查询四个操作,大家思考一下和这个上面有没有关系呀,那就有很大的关系了呀,大家想一想,你增加用户,你删除用户,你更改用户需要对数据把它取出来进行回写吗,不需要啊,那你想象一下。

如果是insight,如果是delete,如果是update这种类型的猪,你能不能用我们常规的什么这个那个UNIN,SNEC的那种东西去租呢,不能为什么他对数据都不处理,没有回血,你用那个东西用麻呀。

没有用处啊,我将这四种方式增加修改删除和查询,第一个是告诉你它和盲族的关系就是引出盲注,第二个呢就是指导告诉你,这个驻点呢不仅是在产生在这个啊,我们常常用这个数据呢写上参数之后呢。

然后看到数据回写不仅是在这个方面,还会产生在很多方面,就是我刚才说的这些方面,都会产生出这个什么新增用户啊,删除用户啊,那个呃承接用户,你像还有没有,大家还记不记得我上节课说过一句话。

还上节课一直有个人追着问,说那个文件上传怎么导致的叉SS出入,我说了文件上传,把文件上传的文件名呢保存到了这个数据库中,很简单的道理,比如说这个表呢,这里不是有个这个文件那个路径吗。

假如说你上传的文件的路径呢,它要保存到这个表格,就是这个表的新闻,我添加了新闻,新闻里面呢我写了张图片,这个图片呢就保存到这里,那么我上传的图片文件名单,如果说写到这来。

那不就是典型的一个inside吗,插入啊就怎么添加呀,那么不就是inside注入吗,是不是啊,那么大家可以看一下这个inside的输入如何抓,就很简单,那个语句呢,哎我们就给社区呢去看一下那个语句。

那雨应该在这里,那我们讲啊还没有啊,把删掉了,在这里还有刚才写了个excel哦,在这里你看啊,就这里呢嗯他不写这个插入这个数据吗,那这个ADD me里面呢就拿这个来讲吧,是的他不查点执行之后呢。

这里就有个数据进去了嘛对吧,那如果说呀像现在是吧,这是它保存的地方,假如这代表那个文件名一样的道理是吧,我把它写了,写了之后呢,对我后面再加上这种对不对,主语句,比如说这个刚才的布尔类型啊。

或怎么地类型的一些这种注意语句,比如说延迟啊,好吧,那下去延迟一秒钟来执行啊,勾,好当然这里呢他不能执行成功,为什么,因为这个语句不能这样写,他这个excite注入呢,他不能加,这样直接加啊。

等下我们会说啊,就说你这里固定呢能修改这个地方,那么后面都是inside的输入,这就是说针对这个查询方式的注入,大概看一下文章,这是下节课要讲的啊,因为下节课要用到这种东西呢。

来引出那个二二次注入的事情,这个价还价,嗯你看这个,这其实就是我之前上课的一个笔记哈,再租了类似的那种操作啊,然后他的租鱼呢就稍微麻烦一些啊,就是啊就类似这种啊,啊引出这个报错的一种途径呢与操作。

它也不行,他还是要写到这里面来,对就是类似于就是说你把这个地方改一下啊,啊执行啊,你看第三个字有个错误,翻译好,这里有个问题,网传一些东西呀,还是要吸吸脂,你看不出汗了,这个一晒的植物是不是出汗。

你看现在是多么灵验,网上这个单引号都写错了啊,所以网上粘贴复制的时候要注意一下啊,来那么很简单的道理,我把这个文件名改成这个名字来,这是我注于我把文件名改成这个语句,这不就注入了吗,上传文件嘛。

他把文件的名字保存到数据库中,我把文件名字改成这个注入语句的名字,当然如果说你说哎呀,他把文件名进行随机命名了,那就是另外一回事嘛,那就不是和我们这个相关的嘛,就是不要讲那些条件啊,我就说一下它原理好。

后面下节课要讲,因为这个东西呢还要引入二次注入,二次注入也是我们下节课的内容,我先说这几个事情啊,呃这个刚才讲的这几个东西啊,好,那么像现在呢,我们把刚才那几个东西讲完之后呢,大家来思考一下啊。

除了这个之外,这个每一个猪的方法都会有一些显微的差异,啥意思啊,你比如说像现在我给他写了这个页面啊,大家看着啊,写了另外一个页面啊,就是用网上这个JH呃,CHKGP啊,这个智能工具啊。

机器人呢放我们生命的一个这个工具啊,生命的这个写了一个这个东西。

哎哎写了个界面啊,就是我在这win了一下是吧呢。

用它来去写一下那个一个界面的一个代码啊,诶怎么还不出来,什么鬼啊。

怎么卡还卡起来了。

啊就这个就是一个这个新闻管理,然后这里呢有插入新闻啊,更新新闻啊,这个删除新闻和查询新闻,你比如说我这里要点一查询,你看他就帮我查到了啊,小尼老师改改了夏利安全博格副标题内容,好瓜呀,然后他ID1的。

然后你就写A啊,他就把这二个数据呢也消除了,消除你,然后三次新闻啊,咦你比如说写一啊,我们这里呢就会怎么样呢,查询新闻吧,它是指新闻操作呢先刷新啊,我重新添加个啊做测试,我避免把那个删掉了。

随便写个什么东西啊,都无所谓的好,这是第三条这个信息嘛,哈第三条信息我们看一下啊,我点击三点击呢勾删除成功刷新这执行的呀。

这是我给他写的啊,你也不用问我怎么写的代码给他看一下啊,这前端页面这个我是直接从这个app上面问,他帮我写了一份啊,啊就自己写的比较麻烦吧,我就问他帮我写了份啊,没没写其他的啊,后面的代码呢就这里嘛。

对你看啊,呃他就结束这个几个值呢,定义好数据库的名字,然后呢嗯这里那就如果呢结束了呢,是inside,那就是插入就在这里插入数据,如果接收到是update,那就是删除数据,如果让接收到是这个snack。

就是查询数据啊,就是我代码已经全部写好了,如果是update就更新数据,就我们这个前置页面呢就拿来操作啊。

那么试试看一下啊,如果说是删除操作的话,就像我们一样,我们假如选择删除以及新闻,那么它就会删除一同样道理啊,那么这样子呢我能租它呢,那比如说删除这里,我租他该怎么办,大家看一下啊。

删除这里你可以看下代码,看有没有回血,我们看一下啊,来到这个代码段,delete执行删除操作,删除一个接收过来的id值啊,接收过来的id值,然后i id值呢为多少就删除。

如果说删除的时候执行语句条件为真,那么就删除成功,否则就删除失败是吧。

这是他的一个逻辑,那那这里呢我写三对不对,执行三成功啊,他语句能执行,执行没问题是吧,删成功好,那么先看下,我可以看代码中。

他把语句执行之后,他有没有把这个数据给它取出来呀,没有取数据吧,取数据是这个DOTF变量circle的吧,好吧啊,取数据是什么,是不是执行的,用EQ为执行这个SQL语句对对。

取出来他只做了一个什么执行语句的一个判断,为不为真,就说这个语句有没有执行成功,执行成功,提示删除成功,没有成功就提示删除失败,并把这个错误显示他在这里呢是没有进行什么。

没有进行这个数据的什么回形操作的啊,对数据进行操作一些这种操作的只有什么呀,报错处理。

那么没有回血,只有报错,我们就能选择两种方案,一种是延迟方案,一种是我们的什么包出处理方案,比如说我用包出处理方案是不是能够租它,我们来试一下,在三这里写上报错语句,写到后面去进行一个删除,确定一看。

读了,对不对,那么同样道理,如果形成延迟,是不是就可以直接的进行延迟啊,嗯安德一人1sleep50对吧,如果一等一就执行延迟五秒,否则就是返回零就啥都不干,对不对,来看一下能不能执行成功,执行删除哎。

先是删除成功,并没有延迟,难道是这个条件不成立吗,不应该是访问sleep5吗,怎么是这样子呀,是这个情况啊,有时候在这个用这个东西安的时候,要注意这个and的呢是一个逻辑的,且条件OR是一个什么或条件。

有时候呢要改动一下那个and的啥意思呢,因为呀你可以看一下他这个新闻中呢,已经没有删这个id的新闻了,你说他三除这个三本身,前面语句呢就啥都没有了,你后面还写个and的,就是戳加上另外一个东西。

所以那你写个豁,就代表说不管前面是个什么情况,后面我都执行,就这个意思就是就很简单,就和你说话一样,你要连切的肯定的语气,并且的去说一些话,那么那个东西呢就很小的可能了。

你把那个花呢说或者怎么样或怎么样,那就有很多可能了,对不对,那很多东西都不能命中的意思啊,和这个社会语也是这个道理,所以他写个豁再运行,你看延了延了,它延了延了五秒,然后咔嚓一下再出数据呐,五秒二呢。

那时间有点长啊,因为有可能延迟的时候呢,它会延迟十秒,那它才提示出来,这不是没就就这个道理,是不是,那延迟也行,那么我再用这个包这个布尔行不行呢,那布尔呢看一下啊,用布尔行不行呢,你看啊。

那3database是等六吧,它的名字是new的吧,数据库名字是六吧,多么零一吗,点删除哎,啥情况哎,你说这换成OR呢,但他就提示这个你也不知道这成没成功,你写齐呢,他也是个两毛四心的。

写齐也是个两毛事情,所以说这个就无法判断,为什么无法判断他没有回弦呢,你怎么就布尔呢,布尔的前提条已经讲过了呀,他需要数据回线,所以这个delete呢在这里就只能用延迟和报错,原因就是因为在代码中呢。

他做了包错处理和这个什么啊啊,延迟就啥都不用了啊,那报数你先就报数可以用,延迟也可以用,但是呢没有对数据进行操作,是不是,但是你看下面下面这个snack的那对了,数进行操作,我就不再演示了。

因为刚才那个都之前讲的那个这个东西呢,我们就已经给大家演示过了,这东西啊,对不对,然后这是delete是不是啊,好你再看这个这个其他的像这个什么删除啊,呃这个这个插入啊和这个这个update啊。

这个呢我们就暂时不看了啊,因为马上的案例就会和这两个相干好,那么上到这里啊,这是我们一个简单的实验,对于这个查询方式四种的了解,同样呢也引出了这个蛮族的三个分类部啊,报错和延迟。

同时呢给到了这个延迟不啊,和包错三个房租使用的时候的一个条件,延迟什么条件都不需要,布尔呢需要回血,那么这个报错呢需要做容错处理,这是他的条件,同时呢也告诉你了这四种查询方式,增加修改删除查询。

除了查询可能会对数据呢进行操作,数据回现代化,其他三种大概率是不会对数据进行回写的,那么也就是宣告说,用我们常规的什么u n i n n snack的查询的,诸如和这个布尔型的猪就没用了。

那么大部分就会选择后面两种,就采用时间忙租和这个报错,那么我把这话一说出来,大家是不是能够理解,如果说听了这话和前面呼应不上的话,那前面就听错了啊,如果能听印上,那就和前面知识点都对应上了。

那把这个东西搞清楚之后,下面那我们就用两个案例呢去给他,把这东西呢再稳固一下,再和这个真实的一些应用呢结合一下啊。

能不能搞清楚啊,刚才说的那个一个简单的总结,讲过的支点和那个分离和情况,好讲清楚啊,啊讲清楚之后呢,这个我们就来看一下这个呃最后一个了啊,就是这个类似的这个,那你两个CMS就是呢为什么搞两个cm s呢。

很简单的道理啊。

因为我们正常面对,那不可能是我们这种这种零散的是吧,写个这个代码大大帮你分析,大部分都是一个完整的网站源码啊,我就用这个网站源码里面的去讲这个东西,分析漏洞呢,我们具体过程就不讲了,就主要说它的利用。

就是我们今天讲的啊,它的利用,因为大家知道啊,你假设你去这个源码中去挖漏洞的话,它是有几个过程的,首先呢是挖到漏洞,然后呢再对这个漏洞进行验证和利用,那么现在我们讲的就是说。

比如说我们想发展一个四个图图,那我去利用这个漏洞,就是刚好能和金钱资源能吻合上去的啊,就这个意思啊,那么前面这个为什么怎么挖的这个漏洞,这是不是我们操心的,现在还不需要为表里这些啊。

但是后面那个讲到这个代码分析的时候,那审计的时候,那那些东西我们再说的啊,我们就说要知道这个过程啊,知道这个过程啊,他过程是连贯性的啊,你这个前面这个漏洞的,就是你挖到漏洞,那还灰你。

你把漏洞浮现出来才行呀,不然的话你你只造漏洞也不行啊,那么利用漏洞就是我今天讲的啊。

就比如设个组,这个利用是吧,把复印出来好,这里呢搭建两个网站啊,一个是这个网站,一个是这个网站来,这都是网上的一个cm s是吧。

啊这两个网站那个cm s r搭建的,那么其中呢在这个两个里面。

那就有今天讲的这几个漏洞啊,先来说这个第一个啊,把他的原码啊,啊这个安装呢唉还是给大家讲一下吧。

我说实话啊,我怕我不讲下去呢,优势很多人问这个这不搭建的答,建不起来呀,唉说实话你如果说真打你不下来,我觉得你浮现的必要也没有了哈,唉但是呢我们还是把它搭建一下吧,把那表一个删掉啊。

基础太差了啊,其实这个东西我没有必要讲的,因为如果说你连他的答卷答卷不了。

你学这个东西是没有必要的,我把源码先删掉啊,然后呢就把这个两个源码给解压出来,那我一个个给大家看一下啊,我怕等下下去之后呢,有些人不会答,你说这咋办,是不是啊,真是没办法,先把这个解压检测出来啊。

有些人他积积数差,他还不细心,是真的很没办法的,你知道吧,他有些人他是本来技术就差。

他很不细心,我里面的技术比他好,我都比他细心,你说你怎么可能去把那东西浮现出来,你像刚才那我解压的时候,你看我把这个压缩包解压是吧,它里面呢还有记目录,有些人那就可能直接把那个目录复制进去。

发现那到时候一访问唉不行不行,其次呢就是个目录多了一层而已,喷都会碰到情况哈,那先把你IP地址写上去,这个IP地址怎么写呢是吧。

自己一查是吧,我这个是哎这个东西啊,当然你也可以写域名,它也绑定这个同步host啊,你可以写域名哦。

写域名吧,来看着啊,写域名也行啊,比如说叫熊海cs点com啊,这里有个叫同步host的一个操作,就是说把你host修改,那么就是说你访问这个系统还是MS,那就会指向这个网站,然后呢找到这个目录。

那这个目录啊把它选中啊,这个端口呢就叫800或者其他端口也行啊,那选择版本是5。4的版本,因为这个程序有点老了啊,5。4的好,点击确定好,那么现在呢我们就来访问一下3W点,琼海3MS端口被占应用。

尝试关闭啊,不关闭,把端口改一下,改成83号端口好,3W熊海cm s点com83号端口,声音,好这里的出现了一种情况,哎打不开了,哎这里面的翻车了啊。

终于翻车了,横叉了啊,开心的要死,对不对,因为什么呢,他说呢这个绑定是这样绑定的。

这说实话,所以不推荐用大家用域名,就是这个意思,因为他有时候呢你必须还是要写那个IP词,那真是尴尬是吧,写个这个东西吧。

还是写这个吧,21。4香啊,哎啥情况。

哎又说哎呀翻车了又翻车了。

哎呀翻车了,我翻车,我能找到解决方案,你们觉得是什么方案,是什么问题啊,多大IP错了哎。

1。4,这你妈什么情况,啥情况。

查询瓜把这个货色给去掉,妈的鬼鬼鸟吗,活死不去掉。

啊出来了吧,好密码,那就有纳米亚,输入名字呢就叫熊孩斯莱斯,然后用户呢叫root,点root啊,名名字那就叫就叫熊海森S叉吧,还一点这里哎呦,是你们错了啥情况,密码写错了,123456,再点哎呦。

错了哦,没有数据库名,啥情况,他没有,你就给他创建一个呗,点击新建呀,新建了再刷新,这不有了吗,安装好了呀。

好像是这个啊,哎这个呢是吧。

这个还要安装啊,来再来添加网站1。4,八十四号。

然后找到那个路径KK的嗯,KK跑哪去了,AK还在这里,还没有加搞进去,注意us是当前目录,不要选错了目录AK放进去好。

选中KK保存额版本,那就搞5。6的或者7。0的也行啊,5。6的吧啊如果没有这个版本,自己在这个软件管理这里下载啊,这就不要叫了啊,这要叫那就顶不住了。

80,好来刷新音。

需要安装允许安装数据库名,就叫KKCMS叉数据库名,名字密码,两3456,点击开始安装哦,恭喜两者成功哦。

OK没了好,那这里就完了啊,两个都安装成功了啊。

那么接下来我们就来分析两个程序源码的,一个安全漏洞,首先呢我们用这个id1呢打开熊还是MS。

打开它的程序目录。

找这里确定窗口,在这里呢我们首先分析漏洞,肯定要找到它对应的代码端,那么这里呢我们先来分析它的第一个漏洞,就是我们说的包出租屋的第一种叫insight,包租搜索inside关键字查询。

这里的insight的关键字Ctrl shift加F全局搜索,搜之后呢,再看一下啊,因为我造注入肯定是数数字。

关键词是吧把,所以关子呢哎啥鬼。

那么在这里呢,你看啊他有这么多来第一个选进去,那这里有个inside,查询这个什么INTRACTION,这个路径路径地址是SPILT,点pp下面呢有个什么呢,执行这个SQL语句。

L有个什么DIEMYSQL,这不就是妥妥的报错处理吗,包处处理,那就可以采用包错盲注和这个什么延迟输入啊,那肯定优先选包出盲租啊,有这个条件的,是不是inside插入,那这个代码呢是叫哪个文件名啊。

这个我看一下它路径啊,复制下路径地址在哪里,我看一下啊,复制路径应用,它是在循环上面是files下面的SPUTER,点PBFSSP。

点pp拿我正常来讲,我是不是就怎么样呢,访问这个例子对吧,然后呢,怎么样访问这个FS群这个SPT点P11访问,发现这里啥情况。

怎么一个报错呀,这是啥鬼啊,是这样的啊,他这个访问呢有点不一样啊,他这个访问呢是一个什么访问形式呢,这个我就不讲了啊,他是在这里大家看一下啊,就是你通过这个访问之后呢,后面加上一个问号。

这个R参数呢来指向包含这个files下面的。

那就是说R后面等于SPUTE,那就包含这个files student pp,所以它的路径呢应该是这样放的一个方式,是引号应该是pp或者不加它也行。

问号R等于16访问这个R等于SPUTER之后呢。

这里就结束到这个file file,那就结束,这样就这那SPUTE嘛。

X等于SPUTE嘛,所以这里那就是触发刚才那个地址对吧,这个是刚出那错地址啊,这触发的不要紧,这里还要有这个什么数据的,这个提交和数据处理,那么就是这里嘛哈是吧,这个SPUTE。

那么谁给这个SPUT点pp处理呢,我们搜一下嘛是吧,谁给他处理啊,XY等于我说直接点SSPT点PHP哎没有SPT,问号attention spt有没有呢,哎有了一看有个路径。

content里面有个路径来看到没,content里面有个路径,app呢提交给这个问号,ardent spt就是触发我这个代码文件,因为我的那个EXCE的代码呢是在这里面啊,其实我没必要给他讲这么多。

都是代码升级那种,我不会讲,我就直接给他演就完了啊,我就说他有这个介绍。

我知道告诉你是这个原因,那比如说来到computer里面,C t。

好吧,就这里就说哎他的这个文件名字叫content的,所以问号R的tan呢就访问这个文件文件,这里呢在代码端这里啊,这里有个叫什么文明发言和发表留言,这里那会啊在提交数据之后。

他会把请求到AUDISPUTE,那就会请求给这个文件,然后这个文件的接收数据呢啊。

执行后面的excite,我们看哪里文明发言,难道看都不用看了,就在这里嘛是吧。

你看那就是评论区嘛是吧,那评论区我就知道了,刚才这个insight呢应该就是解锁评论的那个地方,那叫这个表明我们给对应这个表面看一下,适不合我们猜想的,能够呼应上啊,找到这个熊孩,下面是查。

然后呢使这个excite打开一看哦,岁月岁月卖碟,这里地址看一下这里的评论区的几个新闻。

岁月岁月卖碟,哎呦对应上了啊,没问题,四个情况啊,那就是这刚好这个数据呢,就是和这个东西呢对应上的额,对应上了之后啊,那么我们写的这个几个数据。

他想里面查入数据,查的这个什么类型啊。

销售啊,什么CD类,那其实就是这个留言者信息,我们就可以怎么样进行注入,那这里是盲蛛,盲蛛该怎么玩呢,啊有个报错,那你说该怎么玩呢,好简单哦,对不对,看下,然后把这个拿出来写到这来。

待会问你不是之前用这个吗,咋就这个前面这个什么鬼,这是写了这多了个什么东西啊。

多了个单引号,为什么多个单引号,你看这里没他数据写进去的时候,变量是全部用代号括起来啦,你的数据可能就是其中的某一个这个变量嘛,比如说我昵称这里可能就是其中的这个内,这有变量啊。

我需要把这前后变量给他给消灭掉啊,对不对,把闭合掉啊,不然我都写到这个单引号里面去了,那不就成了这个什么这个字不穿的吗。

上节课还有人问这个问题啊,那肯定要闭合掉啊,前面把单号闭合掉,后面再用and的,一定把后面单也闭合掉,这个就是圆形那个报错语句嘛,没什么区别吧,写到这个里程这里啊,你可以说我写在其他地方行不行呢。

也可以啊,写到邮箱这里啊,网址都行啊,就是看他自己验不验证,这个邮箱和网址的那个写法了,你正在写着呢,邮箱那就随便写个啊,嗯呃王子3WM小于标点com啊,啊这里呢就随便写啊,然后呢9A3T。

提交看看有什么反应啊,查询的是个什么这个版本提交哎,验证码错误啊,什么鬼啊,四九进四,看到没,直接报错,5。7。26,不是租的吗,对不对,那你不信的话再试一下,那把FASION改成个database啊。

哎我这里呢是吧,我还可以给下个端对吧。

给分析一下,但这这这现在没有必要啊,那点击下,哦这里可能是数据新增错误啊。

他新增一条数据进去了,因为这个数据呢重复了。

你看这个数据是不是刚才那个哎没有重复啊,那换一个数据,到这写错了,我说怎么回事,就多了两个东西,你妹的来看没循环,上面是叉,是不是啊,典型的那个爆出出路,那有人会问了,那能不能用盲租啊。

那你说能不能用盲租嘞。

然后这个就是那个熊海森S的一个那个操作,对不对,这不就找到了,那至于这个漏洞为什么找到会怎么分析出来的,这不是我们现在担心的问题,我们就担心告诉大家了,找到这个地方了。

那大家看一下这是不是和我们关系对应上了呀。

来首先看功能点呃,发表留言,这里我们填写这个注入语句写进去了,然后呢提交这个注入,把注入搞定了,发表留言属于什么留言,是新增的还是修改的,还是实时查询的是什么,发表新增语句对应的是insight。

你面对的是insight注入好,你可能会问,那我黑盒这种我怎么测呀,黑盒中午你能测的话,我问你个,就像我和你面试一样,我想问你来,这是个发表留言的地方呃,你注入你采用什么方式注入好。

你回答盲注盲族采用这个报错岩石和布网,你选用哪种啊,我问一下对不对,你回答怎么样,你可能说哎呀,迪老师讲过哎呀,这个回答这个延迟和啊回答这个什么东西啊,回答不上了,正确的答案,你就这样回答。

报错和延迟都可以用,但是这个报错呢有可能会失败,原因就是因为呢它需要有报错的这个代码端,由于这里呢我是黑盒测试,我无法预知它有没有报错的这个容错处理,所以我只能尝试,但是延迟呢大部分都可以。

但是可不可以,那还要看一个条件,就是我们说的什么符号问题。

假如说他这里呢不是单引号的,是一个括号加上去的是吧,又麻烦的呀,能不能闭合呀是吧。

你都要测呀,这是取决这里了,你这个答案你给别人,别人就知道你学得通,你什么都知道优秀,对不对,不愧是小迪教出来的基础,Number one,啊你要回答哎呀我用布啊,那就完了对吧。

那你没那个查入这个地方呢,本身就不会对数据处理回答个不啊,哎,你就说是隔壁家的,对不对,他就把隔壁骂一顿,就不会找我的麻烦了,好这个是我们的熊还是MS的一个情况啊。

那么接下来我们再来看这个这个delete的啊。

我们再看这个这个这个这个网站的啊,好看这个网站打开这个网站源码。

这个叫做KKCMS。

好那这里呢找的是delete注入,哎这里呢刚好有个delete好,我们看一下啊,那接收这个delete啊变量,然后执行个SQL语句,执行完之后呢,提示一个删除成功和删除失败的一个情况。

好大家看一下这个代码我先不说啊,你觉得现在有哪个三组忙组里面,延迟报错和这个不用哪个三个能用,还是用一个还是能用两个回答一下,你觉得你能用哪嗯,哪哪哪几个是一个还是两个,三个都能用,还是怎么听啊。

你就我家这个代码给到你了,你就说现在啊能用哪个都写出来,对不对,你用哪个啦,布尔延时这个报错,你们这三个能用能用哪些,看到没,你们自己说,在你们自己说啊,来,这就是你这个课你讲的再好总结,说了半天。

依旧还是有人回答错误是吧,哎,说都不可以说什么联合查询,说延迟和不啊,延迟延迟不啊,还有人在说不啊,你回答这个报错我都好想一点呀,你回答个不啊,我真是没想到啊,真是,不要说故意欺我。

如果每节课我问到问题都能99%的堆,就不可能那么多人说挖不到漏洞了呀,我找不到工作了呀,你永远记住是吧,这个失败者只会抱怨成功的,只会埋头嫌弃你少,不要老说我玩不到漏洞,我这个什么鬼,找不到工作。

你学你的技术,你不要想那些其他的,你好好踏踏实实搞几个月,你再说这话,不是鸡汤好喝,这是个真实的,你们不要老认为这是鸡汤鸡汤,有些鸡汤是要喝,喝了好喝的香,这个呢没有报错,也没有这个这个什么数据显示。

他把这个语执行了,下面就啥都没有了,这个什么弹出,这是个提示,这个数据你看他执行之后连个变量都没给他敷,我们前面还好歹假装一下样子执行这个鱼,还复制个变量,接收一下这个执行的结果。

他这个连个变量都没有付,只判断他这个自媒自行是不是真条件,然后就提示这个东西完了数据首先没有回血,不尔就首先排除,然后这里有没有包出出,你那没有这哪一个错误处理呢,你可能说这衣服else这不是吗。

这不是的,我说那个容错处理是针对这个SQL语句的执行的,结果助理,但结果的这个呃这是否有错误,就是我们说的那个什么MYSQL,那个执行错误那些东西,所以这里呢用的是延迟啊,我们等下可以试一下。

用那个那个那个唉包错看行不行啊,行先知说,首先布尔是排除的那些回答布尔的啊,我是真拿你没办法,你回答个这个报错,我还好想一点,好那这个代码呢是叫,哎大佬叫什么鬼啊,我用这个吧,这个也行啊。

这两个单位一样的,那这两个咱们一样的啊,额这两个都可以测啊,都是一个删除,这都可以测的,这边有一个啊,这个叫user grap,然后这个叫AD,一点pp都可以测啊,这两个都可以吃嗯。

然后接受这个DR嘛,然后路径地址,我看它路径啊,复制管路径路径是在ADD me下面的model。

点AD的pp访问一下,a AD model点AD点PT则按路径啊执行访问。

那没反应,但啥都没有。

然后呢还个这个是路径地是啥呀。

X这个路径。

放我的空白,嘿嘿是啥情况。

是这样的啊,他需要登录,这是个后台的驻点,你可能说哎呀,你妹的后台驻点有个难用啊,这个账号密码默认是123456啊。

密码是12356,默认的,嗯你说后台有什么用啊。

我们挖的是漏洞,不在乎它在哪里,这个漏洞你挖到了不影响他有漏洞。

只是说它的漏洞呢比较鸡肋,是个后台的漏洞,好这里呢找这里啊,访问刚才这个model,然后,他是C哎,刚刚是G哎,a AD点PB对吧,这个这个刚才那个东西装完空白,然后呢还有个优质呃,就这个路径嘛。

反正都是空白,啥情况也看到他们这个网站代码。

那全部是PB代码,它没有任何前端代码,全部是接收数据,你说咋访问有东西呢,因为它本身就是个PB代码,就结束数据处理完了,他哪一个显示什么数据呢,所以它前端有个页面,你可能说哎这你们不懂了。

不懂就学安全开发,安全开发里面不是讲过吗,有什么前端页面,一个后端页面分别处理模板,就和这个东西相关的M非C的模型一样,model failu和council讲过TP框架和那个东西。

包括在java里面也提到过什么什么spring put,那些和这个概念全部相关,就有前端页面,如果你不知道,那我们可以搜一下看一下啊,嘶啊这个不,这是那个代码的分析逻辑和代码开发啊,我这里呢播一下吧。

讲的太多了,说实话啊不利于现在的一个学习,不需要了解现在这么多,后面呢一样的,那这里有个包含的包含这个user model,那就是一个什么cm s user group。

点PP,你看下面就有这个ATM代码,那这里就可能是前端页面。

那复制一下路径引用好啊,访问一下这个路径,是不是啊,诶这里有了。

他说在删除有三种操作,那应该就是这里的这个删除user go up,user up就是用户的等级,那这个应该就是这个删除,应该就是那个触发地方,那当然我可以在这里呢来执行也是OK的啊,那我可以看一下啊。

D e l,然后呢去这个执行好。

那我们试一下啊,来访问一下DEL,然后呢他操作的是在哪个表里面,X t group,我们找一下它对应的这个表,party grp就这里嘛好啊,三个啊,93个嘛是吧,普通会员基本会员,超级会员就三个。

就是只能看到三个,你在上面操作呢,你看路径呢我复制一下给你看一下,先选择这个删除按钮的时候,路径呢是不是就D2等于一啊。

是不是就删除那个一的,对不对,给他传一,然后呢这个代码呢就真的接收到一了嘛。

这一呢就在g u id能移的就把删除掉。

那它g u id嘛呢u g id哦,对好吧,这里呢我车子我就怎么操作它的呢。

我就不测试它本来数据了啊,我就不删了,因为它本来数据库我就不删了啊。

我就写个私,因为私这里不存在嘛,删除一个不存在的。

然后呢再用这个o or语句呢来进行记录,怎么注入呢,删除没有报错,延迟一下嘛,and的哦,sleep if判断一下,首先呢一等于一看他是不是能够延迟,是不是有诸如sleep,条件是吧,显示延迟一秒。

然后呢如果说不延迟,就是选这里呢,好这里呢最好是用这个bb suit来来分析,这样子更加规矩一些,因为你用人工判断的话,没有工具呢,那么智能啊,因为这个延迟呢考核到这个时间。

有些页面呢它是不会显示时间的,只能靠你自己人工的去判断嘶,所以这里大家可以用这个工具来分析,那个危险事件啊,给大家演示一下啊,啊如果用脚本呢自己写脚本,那更好了啊,好我们来看一下啊,好这是那个语句。

首先呢我把这个语句呢给他删掉,那保存它正常的一个运行状态,先等于四,看它的返回状态,在那可以看到啊,是斯密特斯,他这是转换的啊,思密达,然后呢,你看啊,我把刚才这个东西写上去,延迟一秒的时候,我勾啊。

卡啦卡啦卡啦卡啦卡啦卡啦,咚30434,延迟了呗,而我可以延迟时间更长一些,看对不对,来改成R卡了,卡了卡了太卡了,对不对,卡了,比如说两秒这么长,你看变成6024,刚才是3024,现在变成6024。

再换成个三,是不是成倍增加,变成9024呢,卡了卡了卡了卡了,就哎95020差不多,你可能会哎呀,这怎么回事,明明三秒,这好像好像是五秒六秒,七秒八秒的样子,啥情况啊。

是这样的啊,他这个呢会和这个数据的这个条数有关系。

啥意思啊,就是说你现在呢这里有三条,如果说你写个延迟三的话。

它如果不存在这个数据的话,它可能会乘三,就说你写了一可能就是三秒。

写了三就可能是九秒,能理解吗,你可以下去执行一下啊,但是这个不重要,因为重要的是说不是说你写三台延迟三秒才对,它只要延迟了就对了,就和正常的之前没有延迟有差异,就行了,你不用管管它延迟多少秒。

延迟多少秒,是取决于它那个呃,前面条件和那个他的那个数据库里面的,那个多少数据,你可能问那要是有100条数据,那怎么办呢,那你没100×30年是300个,我等6分钟吗,还不是那样子啊,他有些会存。

有些不会成啊,这个具体好像是那个数据库里面,某些东西决定的啊,我也不是很清楚,好像是和他前面这个丝如果不存在,就那个啊就会这样搞,你只存在他就不会那样,不不会那样搞好,那既然延迟了,那我现在在注入。

你看啊,那怎么注入呢,想要什么,这些什么呐,select啊啊,这历史先谈谈长度,miss这个database,等于起好下课就判断它的数据库长度等于七啊,勾哎不延迟,那秒出不等于七,那等于几呀。

九是不是啊,勾也不等于那十啊,延不延迟,那什么鬼啊,那究竟多少位啊,我先看一下多少位,这十字在数据库面,那数据库号号是可以塞满什么,我刚才取的,不知道是K上面是X还是什么鬼。

你看啊你们那有些人就他妈的完完全跟不上,我在说数据公平,他搞个user group,还有人说什么x t CMS user,哎呀哇这是真没办法啊,一个在说天名,一个在说表明我说的是数据过敏呐。

这查的是德特贝斯啊,你说这咋搞啊,这,这不尴尬呀,那是这个啊,KK3MS是X啊,这个K3MS是我之前装的那个啊,后面给他重新也是装,是这个是这个啊,因为这个和那个装的一模一样,那就这个啊这个是多少。

万12345646位,对不对,六位啊来看一下啊,我们把这个,20new,哎卡了卡了他卡了,兄弟们太卡了,又饿了呗,好来我继续这个六位知道了,那是不是就是获取他的这个什么对。

比如说他的这个第一位等值等于多少啊,第二位等于多少啊,是不是来看一下啊,那我来第一位看一下啊,就用这个之前我们讲的这种呢这个看过的呗呢,诶跑哪去了,就这里了是吧,第一位啊,第二位啊是吧,一个猜呀。

那第一位等于这个他的第一位是等于多少啊,啊注意一下啊,这个上面那要空格呀,这个空格要加上20%的啊,不要搞错了,要加20%,这空格加20%啊,如果你只空格这个有问题的啊。

因为他这个是在数据包的这个头部啊,你在浏览器里面可以可以这样空格,但在这里不行,因为这空格之后呢,他可能是认为你是下一个参数了,注意一下啊,呃这个是白毛204,刚才在哪里哎,跑哪去了。

if版本0limit,哦对这就这里啊啊不用写了,写着写出去了,然后他的第一位是等于多少啊,第一位是等于差K是吧,等于K的,我们先看K啊,勾哎报错了啥情况,这不是能K吗,那第一位是4K啊,啥情况。

不是我翻车了,我告诉大家,这里又有一个东西了,就一个内置的过滤,有人还说大K嘿嘿有内置过滤,有人说是这个阿斯卡码,唉你不知道原因呢,你说阿斯卡码是解决方案,但原因要知道啊,原因是什么。

原来是这样的啊,他这个里面呢有个自带过滤,有个傻子在过滤呢,嗯有个对单引号进行一个魔术引号的过滤。

就是用单引号就不行,知道吧,用代号就不行。

呃你不信的话,我把这个代码给你输出一下啊,大家看着啊,我把这个代码呢给他输出一下,差不执行这个代码啊,把它输出一下啊。

大家看的清楚一点,那我执行一次再看一下来,只要执行的语句看到没,K这里它自动加上加上这个转移符,这是一个PPT里面一个开关的魔术引号过滤,这个我没讲啊,啊后面我们再补充时候会给大家讲了,这个怎么绕过呢。

就不用这个这个这个这个这个什么鬼啊,不用这个东西就完了呗,不用单引号啊,不用单引号就用什么码呀,不讲了嘛呢啊对应的关系啊,那用阿斯克码呀,阿斯玛这个B友们的,那直接在这里呢写这个东西呢。

ORD加上前面去就行了呀,下前面去啊,O r d,对吧,然后再括起来,我就怕你妹的突然子又呃注意一下啊,加上去,然后这里呢就给阿斯克码,阿斯克码呢就是K的那个对应值转换一下。

o id就是取它的那个阿斯克码值啊,取阿斯卡码,然后K的对应值转换为十进制为107,那么这里后面就写107了。

就不需要单引号了,不用单引号那个东西就不会出来。

107看下有没有延迟勾,哎什么情况哎,完了呀,这他妈的哪里写错了呀,勾好严呐,赢呐赢呐赢呐,太严了啊,看语句就不会有那个斜杠反斜杠的干扰了,你看执行语句这里那就没有反斜杠的干扰了啊,你看是吧。

来107对应上了,你可能说那里面的碰运气好了,我改成109108了,你看看延不延迟啊,来勾不延迟啊,108呢随便你乱改了,都没得用户啊,哎,那就一次嘛,第二位是吧,第三位拆起来了呗。

后面就不说了呗是吧,这个注入就这么情况啊,嗯那么还是一样道理。

呃刚才不是还有人说网哎这个包错吗,那我试一下包戳之后呢,再试一下,来来把包出租呢写到这来看下能不能行啊,来放到上面去。

空哥百分二零啊啊这里有一个空格,百分二零,怎么老是写错了,把这个鸟毛事情你妹的,不行不行,什么原因啊,是不按等于原因啊,然后把它改成OR他妈的,完了换换码了,换码了,换码了也不行咯,换码了也没猪肉。

法师娃娃也不行咯,那就不用看了呗,报错没有啊。

嗯好这个今天内容呢就是这么多了啊。

讲完了啊,下节课呢我们就来更加稍微更加复杂的一些。

这个注入的一些什么二次猪猪啊。

非解猪猪啊,还有一些简单的一些对峙的一些过滤啊。

包括他的一些其他的一些什么不一样的啊,就把它讲完就算了啊,那么最后MYSQL的猪就再讲一节课啊。

嗯比上期呢要少讲节课。

原就是因为这个侏儒呢唉怎么说呢,后面也会讲啊,也不说少了吧,总的来说就是把更多的时间呢,放到了其他知识点上面去了,大体来说是差不多,好今天就讲这么多了啊。

大家有什么问题呢,就问啊,为什么是阿斯克这个支持那个语法吗,就和你那个16进制一样的道理嘛。

ORD就是那个转换的数据库里面,那个转换的写法,他把转换成16进20阿斯克码,所以后面那就是阿斯玛的对应值。

那个word就是转换字啊,转换的你可以看一下这个间接嘛。

那个函数是是个女自带的啊,因为你用那个做数字的话,就不用单引号了,如果你用这个用单引号的话,就会受到那个过滤,导致语句报错,所以用到阿斯特码,具体解释呢可以看一下这里嘛。

ORD就是呢去专门来解释阿斯码的一个函数,这个语音,什么时候讲盲族的顶20log利用我告诉你啊,那个什么盲族顶二是log,没有没有的啊,你不要想多了,迪亚斯logo里面和诸如结合相关的。

MYSQL里面只有个是那个读入查询,就是那个nod five那个东西有有用,其他的联合联联合不上去,就拿一个,所以讲跟没讲没什么意义,网上玩的话,什么赛克猪肉玩出什么顶,那是诺克了,那就是大忽悠。

就是让你看上去更高端,其实实战中你碰都碰不到,我伤心,我伤了的,发现是什么用都没有讲了,跟没讲一样,后面大部分都把他忘记了,当时听的时候牛逼啊,后面的发现碰都碰不到,你要想象一下。

你有些知识点呢你要思考一下的,你不要说网上说什么东西,你就说什么东西,那个DNS x log,那他能解释到数据,就是相当于有对方的去请求过那个DNS s log,地址了,你首先思考一下这个SL组中。

如何能做到让通过SQL语句去请求一个网站,其中呢只有那个MYSQL中只有那个什么note file,就是读取,然后呢加上那个远程地址,让他远程去读取,就像是远程访问,然后把他数据把它DIY数据了。

其他的像这种猪肉哪能带歪呀,带个毛啊,他都是对自己数据库里面的东西,他咋个能放外面的网站呢,访问都访不了,咋个断Y呀,用不到哇,本身买这个猪肉就少,再加上又是root性注入才能进NO的发。

如果说呢他还开展了个什么鬼限制开关,你多的FI都用不了,三个条件,一层你还在实战中能碰到吗,碰个鬼呀,学跟没学一样的,不要搞那些花里胡哨的东西,没价值,就这个东西还是上节课讲的呀。

首先他要支持node file,note file呢又要root权限,还要有这个note file,那个没有设置,就是我说那个SERV,那个PRV那个开关没有关,高档门的一半把他开了。

那还要是哪四个主点高权限注入点,nod f能够使用才能用这个df logo logo那个组,好今天就说这么多了啊,然后呢今天还有个东西给大家提一下啊,就是我们今天讲的是代码,有人可能有疑问了。

那我在实战中怎么去搞啊,所以你也知道,我们今天呢从代码方面来给大家讲的,白和我就不说了,就说代码给到你了,你代码的分析能足够是吧,那么实战中呢对不对,实际上做这个盲足就产生在什么方向呢,其实就是我说的。

你根据这个四个方向去决定啊,就是你在租的时候常规注入注入不了,你就会使用这种盲租,但是说实话说回来了,实战中你用手工注入机会也不多,手工注入是建立在你用工具租不了的情况下面,然后呢你再通过工具的分析呢。

再去佐证的是这么个流程,不是说啊你上麦你就手工,谁都想图图简单,你手猪是鱼,你哪记得猪呢,这么多都是用工具,工具用不了了之后呢,再通过工具的判断是哪方面组织的,还是哪方面原因,在和这个手工进行对比。

去寻找原因,去修复工具,变换工具的一些语句,来实现这个再去租这么个年份,而有人呢在实现之后,他还是住不了,那就是真住不了了,是这么个情况,讲这科呢第一个是让你在白百合中去分析漏洞。

然后浮现漏洞用的在黑盒中呢,就是佐助你工具遇到这种不能做的时候,分析原因,解决问题用的,不是要你在实战中咔咔就把笔记对准一个暂停,一个复制,不是的,实战中哪有这么麻烦的,用工具就完事了。

升龙马普高就可以了啊,搞清楚流程啊。

还有刚才大家说什么什么在实战中找社科书。

唉你这个问的,我这这这咋回答呀。

那实战中怎么找漏洞,你说怎么找漏洞呢,那怎么好讲呢。

是吧个漏洞那么多漏洞,你说咋找漏洞啊,怎么找出路啊,用手找啊,用工具扫啊,自己分析呀,有源码从源码中找。

没源码,从黑盒中工具扫扫不了,自己通过功能自己排,有些有些源码里面是吧,工具能扫到,有些工具扫不到,就就自己手工车,手工怎么车呢,你像就像这种的这种猪猪,你觉得工具人少的好吗,来捡钢材。

在假设我不知道源码,我在这里呢,它这里有个驻点,你工具能扫到这里来吗,工具难不成把这里把它进行抓包,然后自己写个主语,提交之后还看反应工具有这么智能吗,大部分工具没有这么智能吧,他了不起。

嫂子这里知道这有一个东西,他还真在这里去写数据,还帮你识别监理证码,有詹姆斯吗,没有啊,那这个侏儒怎么找的呀,自己手工找的,你可能说我手工,我怎么知道找着你呀,一起看一下吧,发表留言。

inside inside用哪些主语句啊,对不对,思考一下呀,你们不会傻傻的还跑上去,用什么u n i n snack的吧,那不是白学了吗,这些点都是你自己要考虑的,我不讲,你也通过这个课之后呢。

自己私下里去思考,并且现在呢我没有讲到这个SC组织怎么找,先把漏洞学完之后再考虑漏洞怎么找,如果说你学完之后,你还不知道怎么找,那就是你学的没学的有问题,压根就没有学明白,不知道这个情况。

好今天就说这么多了啊,看来还没有什么问题啊,漏勺工具会不会讲,你们这不是温的一些哎,你说高端的内容我不讲,我还好想点。

P45:第45天:PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件 - 逆风微笑的代码狗 - BV1Mx4y1q7Ny

好我们看下今天的内容啊,今天呢是这个circle注入在pp的这个最后一讲,讲完它之后呢,我们下节课呢要上新的内容了啊,你可能说这个SQL注入后面还会不会讲啊,这个后面呢还会讲SQL注入。

但是是基于其他脚本的,比如说像这个java的是吧,还或或者这个点net的是吧,包括什么sex server呀,oracle啊,还有什么post circle啊,MONDB啊是吧,会有那么一点啊啊。

数据库用的比较多的,就课程多一些,这个中呢后面还会讲,只说那是会针对其他数据库的一些讲解了,这个MYSQL呢就没了啊,pp里面居多的嘛,嘶咳当然在这个像java中呢,他也有这个MYSQL的数据库。

那这个呢就没必要讲了,因为我们针对的是数据库类型,只是说这个语言呢和他搭建啊,如果说用java的话,那数据库的攻击呢还是这些方法啊,只是说代码不一样而已了啊,这个中呢后面还有啊。

只是说在PPT里面这个章节呢就不再讲了,今天讲完就讲PPP的这个其他漏洞了啊,那今天呢讲哪些漏洞呢,讲三个漏洞也是,上节课呢有人提到过什么个DNS slog的一个这个,这个漏洞啊。

还有呢像这个今天所有的20注和对立柱,在上课之前呢,还有人说了一句话,说这三个漏洞呢是不是在实战中很少去看到啊,这种情况啊,实话实说呢,的确是的,他比较冷门一些,但是啊呃冷门呢他有个好处。

就是热门漏洞呢大家都注意,可能你在挖漏洞的时候,那反而还不好挖一些冷门漏洞,那反而好挖一些,所以说呢各有各的优势吧,你想啊,这个呢我们今天讲的第一个就是这个二次中,你像我们前面上过的啊。

就是根据这个租的什么这个请求的方法呀,请求类型啊和请求的格式啊是吧,然后根据这个请注入里面的权限呀,啊各种各样的展开了是吧,有基于这个权限下面的不同的思路,有基于这个猪的格式数据,他的请求方法。

包括呢在祖宗呢什么这个不能在在租的时候呢,不能回血,还有这个报错等等的一些这种方式哈,那今天呢就说这个猪里面的一些另类的,一些东西,就这三个,先说二次输入,这二次入呢很多人很难理解它。

其实呢一点都不难理解啊,你只要搞清楚几个着重点就可以了,他是一个什么情况啊,在前面我还举个例子,说一个文件上传导致一个注入是吧,还有人问说是什么原因,其实呢他就是个二次注入的一个原因。

就是个二次注入原理,你把这个原理搞清楚,你再回想一下文件上传的导数,是不是就很好理解了,好简单来说呢,二次注入呢它有个特点,它的一个特点第一点就是什么呢,就是有第一点就是要进行一个添加插入操作。

就是excite语句,干嘛呢,就是通过这个添加插入语句呢,把一个东西呀放到数据库里面去,然后呢,这个数据库呢再把这个数据给他,取出来的时候呢,形成了一个注入,这种流程,我们称之为叫二次注入诶。

那大家就说还是不理解什么意思啊,来我举一个很简单的例子来来看一下啊。

一箱,这个先啊就说我们先呢,比如说拿这个租车用户来讲啊,然后这里呢有个这个修改密码是吧,修改用户密码的一个东西好,我先注册用户的时候啊,用户名呢我写上一个叫下礼仪,然后加上一个这个注入代码是吧。

比如我加个注入代码,这个什么这个一些那个报错的一些主代码啊,好先用户名密码呢我就随便写了嘛,然后我注册一个这个类似的东西好,我然后呢我修改密码大家都知道啊,修改密码呢有几种情况。

一种情况就是没登录状态的时候就没登录,使得修改,还有一种呢是登录后的修改,啥意思啊,这我修改密码,那就像我们这个网上去找回密码一样是吧,有种情况就是说你登录进去,那你选择修改。

还有呢就是说我压根就不知道这个密码了,我要直接重置密码,有这两个选项好,那我们先看没登录的时候修改密码好,这里呢就肯定要有个什么东西啊,要获取你要修改的什么这个用户名是吧,然后这个用户名呢是由你自己啊。

有你输入的,对不对,就你要修改谁,你修改谁的这个密码,肯定要给这个用户名修改这个用户名啊,好如果说你是已经登录了,那么网站这个修改过程啊,就直接是吧,验证这个九密码,然和呢和这个什么,接受这个亲密。

是不是就完了呀,大家看一下是不是这个逻辑呀,来这个怎么理解,先把逻辑搞清楚啊,那这逻辑搞不搞,搞新的呢,我注册个用户,我登录它好,然后呢我要修改密码,需要密码呢一般就是两个途径。

一种呢就像这个是重置密码一样的是吧,就我这个密码忘记了,那我修改之后呢,我就好登录了嘛,哎第二种呢就是说你已经登进去了,登进去之后呢,你也可以修改密码嘛,因为很多网站有这个功能嘛,是吧啊,登进去之后呢。

自己修改自己密码,那么大家思考一下,如果是第二点的话,我们着重看这个DR方向啊,在这里修改过程中,一般他会邀你输入你的用户名吗,大家先思考一下,问一下大家,你在登录后修改密码,你自己看一下网站一些功能。

它会不会要你输入你的用户名,不灰好,大家说不会,那么你还有人说灰是吧,这个灰和不灰呢,你自己可以网上去找一下,你登录过一个网站用户之后,你再点那个修改密码,他是要不要啊,90%的都会要。

那么他这个用户名从哪来,那么用户名从哪里来呀,从哪来,是不是就是获取的就是你不是登录了吗,就获取这个当前登录的用户名呀,对不对,那么就获取你当前用户名当做这个修改条件压,是不是啊。

就获取当前登录的用户名当做修改条件呢,那么试想一下,如果使用户名,在注册的时候是一个SQL语句的啊,是一个circle,有这个什么SQL注入的一个自助餐,那不就是拼接,那不就是会,那不就是个组轮了吗。

这个就是二次注入好你们说长度限制,那不是我们现在关心的长度限制,有分前端限制和后端限制,我等一下会说长度限制,前端里面限制长度,你可以把修改的可以绕过的,知道吧,如果说是后端限制,那是没办法。

但是呢前段限制是给logo的,你不考虑这些东西,这现在不是考虑那些东西,那是不一样的,我们先说原理,那么很简单,因为他修改的时候获取这个条件,那比如说修改的时候是不是一个update啦。

比如说的就像我们的update是吧,修改这个user里面的,然后那个什么site设置这个表里面的,比如说cs这个密码啊,等于比如说你新输的这个A123456,然后呢安然后条件是什么,是不是当前用户名呀。

对吧,用户名,比如说username等于,然后呢这就是你注册的这个用户名,它会取这个嘛,就说他后面呢再去修改这个语句的时,候的语句应该是这样执行,更改当前表设置里面的password。

然后条件是用户等于小迪的,就设置用户等于小迪的这个密码,而这个小迪是你的用户名,如果你在此之前,就在之前把这个小迪呢注册成一个什么小D,单引号and update这种输入语句进去之后啊拉等等。

那么在这里这个代码不就会成为这样子了吗,这叫执行,它不就是一个注入点吗,啥意思啊,其实二次注入就非常好理解,先将攻击代码植入到一个数据库里面去,当这个用户被重新调用释放出来的时候。

重新会拼接成另外一个语句,一个语句呢会把这个结果,就是这个取出这个数据库,结果把它拼接到另外一头,形成了一个注入,所以他呢称之为儿子读,其实就是先把攻击泄到数据库里面,然后呢再连接一个新的语句。

形成这个组,好不好理解,这就是二次注入,那么现在我们用这个demo的一个代码端,给大家去演示,大家就明白了,这个原理大家能不能理解,能理解,我们就用多么单单给大家演示一下啊,但是他有个条件。

条件我们也会说啊,来大家看一下啊。

那我们这里呢有这么一个代码。

那我可以等下呢,把这个代码呢给他打开看一下啊,先演示,我们再来看一下这个过程啊。

beans啊。

来我们看一下这个代码端啊,那这是那个前端页面好。

那是个什么情况啊,大家看着啊。

我们这里呢看一下这个表啊,这个表呢是这个users啊,那看着啊,我先注册个用户,大家看着啊,那先注册个用户名字,那叫呃ADD me是吧,然后呢账号名呢密码呢123456点击注册,他说啊注册成功。

我们刷新一下,这里是不是有了,你要是有了啊,注册一个用户好,那这个时候呢你在登录用户ADD me是吧,输入这个密码好,它提示你欢迎用户,对不对,也正确了,求名格拉是一个修改密码的一个操作,是不是好。

比如说现在啊,我修改enemy的密码为修改成123456,修改成六个一,我看这里啊是不会修改这个密码,看一下啊,点击修改,他说呃什么哦,哦他这里是这样的,这个当前密码,当前密码就是他以前的密码啊。

123456,然后新密码12345修改,它要修改成功,我们刷新下这里,那是不变成六个一啊,修改了吧,好功能都是正常的好,那么接下来啊大家要注重关节了啊,首先他的攻击先注册的时候注册一个什么。

我们看一下啊,之前讲过一些盲蛛嘛,因为他这里没有回血,对不对,没有回旋的话,那就是要借助一些忙族,忙族里面最好死的,那肯定就是这个报错和延迟了,延迟呢稍微麻烦一些,还延,那么报错是首当其选的。

就把这个报错鱼呢当做,但报错余有个条件,我们先姑且认为它存在,然后呢写成了个单引号是吧,写成这个东西,后面呢再加上一个井号,啥意思啊,因为等一下在租的时候呢,就要考虑这个单引号闭合好,我先把它写进去啊。

注册个账号密码,然后密码那我们就123456吧,来点击注册,他注册成功好,然后这里呢我们刷新一下,那是不是就注册了一个账号进去啊,然后这里有个这个这个东西。

稍等一下,我先把那个删掉,那个是那个笔记面粘贴的一个那个蛛丝啊。

谁在那注释了,所以你要注意一下啊,哎这里又多了一个人物系,把去掉啊,好重新来,注册好,然后这里呢刷新一下啊,看一下数据库里面是不是有了啊,有了,那么现在大家看一下啊。

我们呢尝试性的用这个刚才注册的这个账号,密码呢啊用这个账密码呢去登录一下,登录下用户先把它登录,哎密码是多少啊,密码这个账号啊,密码是这个123456,刚才输错了30万,哦他说了,欢迎用户啊是吧。

好登录进去,现在看一下啊,我修改密码的时候会产生什么情况啊,你看啊,我随便打任何东西,看着啊,随便打东西,这密码绝对不对的啊,这密码是不对的呢,我打这么长,这密码不可能对吧,来这我写这个密码嘛。

这个是它当前密码输入之前的密码是吧,来随便打,那我点击修改密码,你看发现什么发现什么细,哎,啥情况,怎么5。7。26,什么鬼东西啊,怎么出现这个情况来,这什么情况,这个呢你要搞清楚。

就需要用代码去解释它,啥意思呢,我们来看一下这个修改密码这个地方的代码啊,为什么它会造成输入。

我们来看一下代码的,找这个代码端啊,这个叫千几password pp啊,我看他是怎么操作的,看下啊,他这样操作的的,这个地方是处理修改密码的请求,然后他怎么操作的啊,他不是要接收这个提交过来的。

当前密码和新密码吗,然后我们都知道我刚才讲了,你修改密码的时候,如果是已登录状态的话,已登录状态的话是不需要获取用户名啊,因为它会获取你当前登录的用户名,我刚才登录的用户名,所以用户名呢我就先获取。

我把那个用户名呢保存到cookie里面中了,就我登录之后呢,cookie擎中呢就有一个这个用户名,所以我就接收这个当前登录的用户名,然后呢,再结束你输入的这个什么这个新密码和旧密码。

然后呢一般去修改的话,肯定是要先验证一下你这个旧密码是否正确,所以呢它就有个语句,snack the symbol will use name等于它,and the password等于这个密码。

这啥情况就是验证当前的旧密码,旧密码是否正确,因为你真缺了,他才会去选择性接受你的新密码,然后呢用了update语句呢,去怎么样去更改他的密码为新密码,条件是这个用户名的,是不是这么一个逻辑啊。

那么在这个snack的这个语句中,由于你已经是登录状态,而这个用户名是你已经登录了,所以他获取这个用户名。

而用户名是我提前注册好的这个用户名,哎那这个语句放到这里来。

不就是直接执行了,等同于在这里就相当于是,不就等同于执行这个语句吗,那后面我就不写了,那这个语句不就是一个典型的报数注入吗,能理解吗啊这就叫二次注入,就是提前把工具代码插入到数据库,通过插入后面呢。

当有一些逻辑的时候是吧,就会引用这个插入的数据,让他去拼接到SQL语中,导致的注入称之为叫二次注入,啊注册源码是怎么写的,这你们还不懂啊,那这注册源码呀,来接收这个用户的这个输入的账号和密码。

然后呢是吧,查询一下,看用户名存不存在,如果存在就提示存在,如果不存在,就进行这个数据的这个插入就添加吧,但是这里呢有一个条件,大家可能忽略了什么条件呢,就是,插入数据的时候。

需要有一个过滤和转移这个工具才能实现,啥意思啊,大家思考一下啊,我攻击的时候呢写的是这个攻击单,选择工具档啊,呃然后呢如果说你这样去写,写个enemy组成enemy,然后呢写个单引号是吧,写进去写。

这样写,大家想象一下啊,你这样写他查到数据库中啊,会有一个问题,什么问题呢,大家有没有想过这个问题,那你把那个原始插入的语句,把它拿过来看一下来,这是在插入那个语句,让我看一下啊,加语句哈。

我们对比一下,呐。

然后用户名我这里输的是刚才的这个代码是吧。

这是我刚才输入的用户名,那么等同于他在插入的时候执行的语句,这样执行,对不对,那这样执行之后。

你放在我们SQL语中去看一下,还有就有谁的性质,哎这哪里是吧,你看我这样一写之后呢,这就出现什么情况呢,报错了,这个为什么报错呀,大家看一下为什么,因为你看啊它这里呢是两个值,你在这里写了一个值。

后面呢也没有写逗号,后面这个逗号呢被注释掉了,那这个值呢按正常来讲,它是一个username的值,但是username值呢,你这里已经把箱子括号括起来,已经结束了,后面呢又没有单引号把它闭合掉。

那这咋办呢,所以说你把这个代号给去掉,把井号去掉了,那他能执行呢啊它它它它能正常执行是吧,就是咱把这个去掉,就是呢哎前面嗯这个中间呢是一个条件,后面的又是个条件,哎它就能执行,你看它就能显示进去。

那这样呢它就能显示去,那它就有数据了,对不对,就是完全把它当字符串,它就能恢复作用,但是你要攻击啊,攻击的时候要后面拼接其他语句啊。

你要攻击的时候拼接其他语句啊。

所以你必须要怎么样用,这里要用井号,这里呢要用单引号,为什么。

因为我们后面要出发的时候,他这个地方呢比不管是snack的还是后面的,那他这里是有单引号啊,你肯定要闭合这个单引号啊,而且要把后面注释掉这个语句才能执行。

呐,呐就是这里面要闭合单引号,所以你的语句里面是必须要有这个单引号的,和这个井号的,但是你有了这个井号和单引号之后呢,哎预计又报错了,无法租车了,那这功能就是死的,所以啊二次注入有个很重要的条件。

这个条件就是对方的代码中有转移,和这个开了这个注释啊,开了这个转移的函数,或者开了这个开关。

也是我们称之为叫魔术引号的一个东西,那我在这里你看到啊,用户名这里我用那个函数叫ADDRACHS,这啥东西啊,这个是个转移的一个函数,那么也可以在pp的模式引号开关里面。

开启之后也会和等同于这个函数的作用,它啥意思呢,这个是啥意思啊,他会对单引号进行反斜杠。

你可以看一下这个代码,这个地方的一个东西啊,他插入乙写斜杠时候,经过转移的会变成乙下划线移,那么数据库在抄到数据库中的时候又把它还原,你可能会这是干嘛呀,怎么你妹的一专一又还原,这是干嘛呀。

这是这样的啊,简单来说就是不转移的话。

你直接把工具鱼写到这里面,语句是会报错的,无法执行,因为他的对应不伤啊,你这样一写这个井号把后面注释了,那么这里就只有一个了,一个这前面有两个东西等待复制啊,你复制一个了,后面东西是啥呢,没有了呀。

语句会报错呀,他无法无法插入数据进去啊,功能有问题,插都插不进去呢,后面还怎么搞,二次组的搞不了,所以他就必须要转移,转移的意思是啥是啥呢,就这个语句在执行的时候啊,它会对应对一个单引号来进行这个转移。

就变成这种东西了,变这东西呢就自动加上个斜杠,然后呢你在租的时候再执行诶,他也能成功执行哎,数据呢是吧,他就进去了,看到没数据就写进去了,而写进去时,那这个斜杠自动没有了,因为写数据写到数据库里面。

会自动把那个斜杠去掉,但是你在代码中去执行的时候呢,它会把代入这个函数,就会自动在这个单引号这里呢加上一个反斜杠,其实就是因为有这个东西之后,才能保证你的数据能够正常的写入,能理解吧。

否则的话你是无法正常写入的,因为这个工具代码你要这样去写的话,必定会报错,而你又不能不这样写,因为你不这样写,那后面也注入不了,能不能理解大家说的是不是,人里物里不听不懂的呀,听不听得懂啊。

听不懂就直说啊,不要说,不好意思啊,听不懂,是这样的啊,我们再来给大家累赘一遍啊,其实这里做实验呢是更好理解,但是我们又不能做实验哈,也不能做实验。

首先啊我们该理一下啊,好我们来看一下这个地方的那个代码段啊,这是后面要执行地方,但20组呢是先插入这个数据,后面再去执行这条代码是吧,先插入然后面的再执行的时候呢,触发这个代码形成的注入好。

首先来看一下啊,我们来思考问题,首先啊如果你要租的时候,那么首先你的用户名,就必须是这么一个情况是吧,用户名,必须是不是尾他呀,是要这样写啊,你可能说我能不能换个其他写法换呀,你换整不管欢的话。

但是前面有个单引号和井号,你是必须的,为什么,因为在这个snack里面,或者说其他语句里面,它有单引号吧,它默认代码中是有这个单引号的呀,你看他把括起来呀,因为这个用户名肯定是字符串,它必定有对号。

那么就你必定的要B和这个单引号。

其实就是说在二次组的最后一步的时候,有个什么东西啊。

就是必须要B和这个什么单引号,才能注意好,因为很简单,你这个用户名不可能是纯数字吧对吧,所以呢不可能为数字吧,就说不可能都是数字吧,你如果说有用,有这个有这个嗯字符串呢,对B0呢。

毕竟这个SQL语句是用了这个什么单引号,我起来的,对不对,那么你就必须要闭合单引号才能出好,你必须要用到单引号进行这个这个东西的话,那么你想象一下啊,那这是刚才语句,对不对,那么在语句呢。

那就是他的这个变量,它在这个插入的时候呢也是这么一个写法是吧,这是它的变量哈,对不对,还要插进去吗,把数据插进去,然后呢他要查的时候输入这个东西好,输入这个东西之后呢,我们来对比一下啊,这是他原有啊。

就是这四费用户。

多用户手套,那完了注册用户的时候呢。

你看啊这个语写进去,我们按照正常来讲,这是我们要提交的这个用户名嘛是吧。

这个语句呢是吧,就把它写进去了呀,对就这样写,这是我们注册的语句嘛,我们写艾德米啊,加上这个东西是吧,然后一执行执行个毛啊,错误为什么啊,它提示什么这个语错误,为什么会语错误,那很简单的道理。

这里有两个咧,又是什么和他是我的,你给的是一个后面这个井井号,把后面怎么样屏蔽了,后面箱子没有了,就后面写不写东西都无所谓了,因为他还是个错,只有一个值到这里,两个值这语句报错呀。

报错了,你这个工地语都写不进去,那和怎么会有下面这部呢,没有啊,没有的呀,下面这步就相当是怎么进行的,没办法进行啊,你要先把雨写进去,才是下面这一步啊,那怎么办。

你说肯定要写是吧,那写那我能不能就像我刚才说的,我能不能怎么怎么写呢,哎就像刚才说的啊,我把这个代号去掉,或者让我再加个单引号行不行啊,是吧,我就说不写井号,我再加个单引号是吧,我执行哎啊。

这个也不行是吧,那我就这样子让他行是吧,哎这样子唉他行了,对不对,他行了,然后呢是吧,你刷新来这里没有代号了,后面也没有井号了,那没有代号,警号这个东西看一下SQL语句。

把组合一下放到这来,这代表也是个鱼吗,你把绑进去,那执行语句为这个了,这还能注入吗,猪猪个鸟啊,全部被扩到单元上去了,里面东西啥也不是了,就是个字符串,怎么注入啊啊。

所以说就必须要有个转移,要么是函数转一。

要么是我们魔术引号转一,一旦这个在插入的时候没有这个函数,或者说没有那个魔术引号的开关,导致这个攻击语句这个地方转移的话就会失败,你不信的话,我可以给你撕一下来看着啊,那我不写这个不写这个这个函数是吧。

我不写它看着啊,我给你演示一下来,我注册都注册不进去。

来看看啊,我注册了,比如我注册了个工具代码,就拿刚才那个那个测的那个点来是吧,那我注册个账号啊,比如说呢随便写个名字,好啊,这是注册代码啊,那我写的东西是吧,后面还有井号,那我注册这个用户名啊。

点击汽车那报错,为什么,那提示错误是啥情况。

包了个错误,为什么,那然后呢,你可以把它打印一下嘛,来给他打印一下,看一下啊,查一下这个数据,再看一下来重新来再提交一下。

那SQL语句打印出来了,你看这是他执行的SQL语句,只要执行这个鱼,我们放到这里来看一下来,是不是这个E320啊,是不是刚才的一模一样的呢,报错吗,数据写不进去,为什么井号把后面单引号屏蔽掉了。

下次就一个东西,你不解井号呢行不行呢,不写井号行不行,也报错,为什么,因为这里呢这里有个代号,前面的有个代号,这中间有个代号,你要么就拼接好是吧,你这里写个单引号呢,他就会把这个屏蔽了。

那这后面又是个啥东西呢,啥也不是啊,所以你又要把这个去掉才行是吧,这个去掉呢,哎写进去了,哎成功了一刷新,哎的确成功了,成功有什么用呢,这个取出来还怎么注入啊,注入不了啊,注入不了了呀。

因为这个东西取出来,和后面那个snack的还对应的上吗,和这个语句能能能拼接组搞到一起的注入吗,全部写到这个原来的这个代号里去了,还租了个了啊,注入不了了,所以说他有个条件的啊,条件就是说。

在这个地方呢他做了转移,要么是函数转移,要么是我们魔术引号转移,魔术引号呢就是这个批评里面有个开关,叫做MANAGGYJPC。

那个东西啊,就这个东西啊,再提一下,就这个东西啊,买了几GPC啊,就这个啊有这个的开关是开的话啊,它就会自动的对这个,那它开启之后,在这个PPPI里面,如果开启之后呢。

就会自动对这个单引号和双引号进行转移啊,这个也是一种防止。

就是说这个函数和这个模型以后呢,它其实是一种防止SQL注入的一个功能,因为一旦SL组里面用到单引号的话,它就会自动前面加上个反斜杠,导致SQL语句出错,但是阿氏族里面呢就希望有他,没有他就不行。

哼所以说蛮他很尴尬啊,他的单独使用那是为了防止这个注入,但是二次注入呢又非他不行,嘿嘿很很有一些这个矛盾的地方,就说你要用猪的攻击的时候,单次注的时候是吧,猪它用到这个单引号,他直接前面加个反斜杠。

让你很尴尬是吧,阻止不了,然后呢在二次入的时候呢,有非他也不行,他没有,他还反而不行。

所以说这个阿斯珠呢简单来说他的条件呢。

条件就是什么,大家能不能想出来啊。

阿指数的这个利用条件就是很简单嘛,首先第一个在数据插入的时候,就是你植入攻击语句的时候,在这个地方有转移函数或者是配置里面有转移,第二个就是后续呢还会有一个利用插入数据,这才是一个二次组织产生的根本。

它需要两个条件,第一个条件就是功能上面是有先插入,后利用的一个功能,然后呢第二个条件就是在查的时候内有转移,这就是二次注入形成的条件啊,然后大家也会问道,我在实战中我怎么发现这个20猪的漏洞啊。

实战中怎么发现这个二次猪的漏洞啊,基本上是发现不了,为什么这样说呢,因为点太多了,你不可能每个点都测得到,而且你没有那么长时间去测,一般这个二次组大部分都是通过代码,源代码中省出来的,就你在黑盒中。

就是如果说没有源码,直接在实战中去测的,这个可能性比较低,原因就是因为啊你不明白对方的那个逻辑,也不明白对方语句的SQL语句怎么写的,你写的攻击语句,即使他有注入,可能因为你的攻击语写错了,导致呢。

他没有成功,而且你也无法判定他有没有转移,如果说他没有转移,你写再多也是无用,就因为你不满足他的利用条件,所以说在黑河注入中,不是说他不能测,是测的这个可能性和失败原因太多了,你无法预知。

你需要大量时间去测,所以呢就相当于说很难去测出来,不是说不能吃啊,大家能不能理解我说的意思啊,我要讲的,首先你要知道对方有没有转移,这个转移呢不是你能看出来的,代码中才能看这个条件,你都不知道。

你测测半天也不知道是成功是否,还有一种原因,就是我说的你那个攻击语句要写进去,而攻击语写不写进去,比如说就像我写这个包子,如对不对,你还不知道这个包出入对方能不能支持,对不对,因为我讲过爆出珠呢。

是对方呢在执行的时候呢,有容错处理才能才能用这个爆出入啊,当然你说你可以用延迟入好,那你用原植入的话,对方有没有单引号,有没有括号,这些你都不太清楚,你要不要过滤单引号,要不要过滤括号,你都不清楚。

你你只能靠猜对不对,而且即使说你全部都搞清楚了,你是不是还要满足一个条件,就说在哪里去触发它的对,在哪里去触发它,因为你插进去啊,你要找个地方触发这个插入的那个数据啊,要不让它调用起来呀。

如果他没有这个功能怎么办呢,你找到有这个功能点错地方,也会可能他没有利用了,可能性太多了,所以黑盒中是很难做到精准的测试的,你不要说你花很多时间一个个测啊,那个时间和效率呢不值得这样啊。

所以一般20组呢,为什么在实战中没有这样测法,是因为它可能性太多了啊,你要测的话还要找功能点,还要找满足条件,很难的说都满足,一般都是在代码审计中,百合审计终端去提取,现在呢我就给大家演示一下啊。

这个一个CMS的一个这个这个东西啊,我们可通过这个代码逻辑和白盒的一个分析呢,来看,同时呢也观察了一下黑盒中的一个功能,来大家看一下啊,在这里呢我们有一个这个一个这个搭建好的。

一个骑士3MS的一个这个东西,大家看一下啊,他这里有二次组,我们先把它利用出来,然后呢再给大家说原理,再看代码,那这里呢他发聘招聘好,先登录用户,那这里有个叫创新简历,简历,这里随便取名字哈。

这里就随便取了,好再取到这个去到这个地方来了啊,然后点保存下一步啊,好这里呢有一些这个其他答案,我们就随便选了啊,好大家看一下啊,这个地方就看一下啊,好这里看着啊,我写个代码呢。

这个代码大家看一下是什么啊,学校名称,我写的这个东西,大家看一下,然后刚才有人说,在写的时候不是有些长度限制吗,你看着啊,那我写这个呢,它是有长度限制,这个是干嘛。

user就是我们查询数据库的那个那个用户嘛,井号有并和后面的单引号啊,写东西,你看这是常用写的,写不进去的,啥情况,长度限制,你把这里改呀,把他妈的他限制20码,你改成一巴,这不写上去了吗。

你老问一些这种事情,我真无语了啊,他前端限制里没什么用,除非说是后端,他只接收那么多数据,那才没办法,这前端线直接浏览器进,把它修改了不就得了,来看下我把这个地方一保存,大家看有什么效果啊。

来我先把你用出来好回车啊,然后大家看一下啊,我看一下啊,查看我交易经历啊,你看这里那就是网上企业写企业信息是吧,然后你看简历管理的诶,大家看到没真实姓名。

这里变成是啥root log host了啥情况诶,然后你再看刚才这个简历管理这里啊,我如果说我是修改哈,我把user改一下,你看一下啊,我把它改一下,我改成什么他的这个database或者这个什么嗯。

版本类型好吧,数据库版本来我改它,这个地方写不写都不错啊,报称好,大家再看解题管理来,哎这个简历管理这里还没有更新出来,Bing,比较修改,诶他这个还没改动啊,啊应该是这个造成的。

我先把这个这个地方也要改一下,他搞了一次,这里显示入手和host,该版本还没有用呢,啊再加加一个吧,再讲一个吧,来看到没变成5。7。26,看到没,这版没有出二了,好大家先看一下啊。

我们先从黑盒的角度来分析它为什么产生漏洞,再从代码层面去分析白合角度,现在从fake角度,恒河里面它为什么产生这个注入,先看一下二次注入的原理,创建等同于什么,添加数据嘛,插入建立管理会显示数据。

先是数据在里面,这5。7。26是什么情况呢,对不对,你看这个简历,这里那可以看到吗,大点的打开看来变成5。7。2的个人简历,这个就是我那个版本这啥情况造成的呢,其实是这样的啊。

从20组的原理架构来讲的话,创建等同于向里面插入数据,而在他这里呢去显示显示这个数据的时候,然后显示数据,这里呢要显示真实姓名啊,这些信息的时候,诶,我在这里呢写了一个这个学校名称为这个东西。

导致他注入了这个查询这个facing,而FANAME是flies什么呢,就是你的用户名字的那个列名,他相当于就是说把联名呢设置为vision,vision是谁啊,就是版本。

所以呢就导致用户名那里就显示了真实姓名,那里就显示facing,facing就是版本嘛,就是5。7。26,知道吧,就是因为呢在这里呢学校名称的时候,你插入的是这个值,然后后续呢他通过查看简历的时候呢。

通过这个选项名称呢去编辑这个用户名,还有编辑的时候呢把这个什么BNAME设置为VIC,所以那显示那就显示了用力,它是满足一个什么20租的一个地方的。

那么可以通过这个代码呢给大家来看一下。

这个黑盒角度啊,就是呢它满足了插入和显示的地方,因为插入是把工具就写进去,查看呢,就是去把这个攻击语呢,给它重新拼接到插入语句或者更新语里面去呢,去分析,然后呢代码就被释放出来了,就重新拼接SQL语。

所以他是满足的,那么从源代码里面看的话啊,我们可以观察一下这个代码呢。

这是它的文件代码,因为你在保存的时候呢,那触发代码是呢user里面的p r f o r reset。

点app是这个文件啊,那就这个文件啊,那他是这个user里面的这个目录,这个什么这个文件,然后你在提交保存的时候呢。

来我们点击修改的时候,提到保存的时候,你看一下啊,我给抓个包,看到出发的地址按钮,那点击一下确定,那触发按钮为什么触发的地址信息,你看一下为CF,那保存的这个什么ACT等于CF这个值。

就我点击确定之后呢,他就把这几个词呢给他提供过去了啊,提交的值呢就是这几个呢,所以我就刚提交这几个值啊,所以你看代码中呢,我们搜索一下这个地方呢,就是ACT等于它的时候就会触发它。

那么它刚好命名的参数呢,就是这个什么ACT等于这个值呢,ACT等于这个值,对不对,那会触发代码栏这里,然后你看他就结束id,接受你输入的这个什么school学校和开始时间,结束时间。

这地方教育的这个什么sign,这些东西其实就是结束你在这里输的什么,来开始实习结束期。

学校名称专业名称和学历啊,这就是了学校开始实践,结束实践学历来习题是吧,那就是你们的开始时间,结束时间,学校名称,专业名称,收购的学历和选择学历,然后你看啊,他把解释到之后呢。

复制给这个参数变量叫sea SQL a r,对不对,复制给他后面呢如果成功就提示修改成功,如果是东西的就保存失败,然后你看这里呢有个代码代码是什么,大家看一下它,If update table。

然后表明为result inte地方,这个地方你看这个呢把跟踪一下CTRL,加上单击触发这个函数的地方,哎,来到这里定义这个函数函数是干嘛的,就不用说了嘛,就是呢执行SQL语句的update更新语句。

那具体更新哪些信息呢,其中第二个参数table name,你看它传入的第一个参数就是这个什么tim name,第二参数是接收到的值,就是这个上面提交的值,那么你看他的第二参数叫SQLIT,好。

从这里面呢去啊,for循环把值取出来,后面的再拼接到这个什么SQL语句中来,这个具体跟踪呢我就不看了,这是他的流程啊,因为这里呢我没有说这个具体代码的分析,审计啊,后面再讲代码审计的时候呢。

跟西可以讲一下,这是如何挖到这个漏洞的,我们只是说从代码角度上给他看的啊,其实那就是很简单的道理,通过接收这些数据,然后来调用一个update语句的去更新数据,来修改数据,然后再那就是他接收到的那个啊。

一个是给他更新的表,后面的就是更新的数据,再从数据里面让他接收到,不是全部复制给他了吗,它从这里拿取呢,以此用这个for循环呢把它取出来,取出来之后呢,复制给这个变量。

然后呢取一次的这个复制值,所以我们刚才查的那个这个东西呢。

其实就是在这个变量,就在这个里面是吧,然后后面那他把取出来之后呢,重新复制给这个叫SSEX,好,这个我们就不再细追了啊,这个就是一个cm s的一个演示,从这个cm s里面呢。

我们站在了黑盒角度去分析情况,白河角度其实就是告诉你,如果在黑河中,你不知道这SQL语句是怎么写的,也不清楚这个什么这些东西。

那这个侏儒呢是很难发现的,因为你不知道在这个利用,因为我们可以看到我创建简历的时候有几部啊,有求职意向,专的东西都要都要操作是吧,他那个租漏洞,那写了一个叫教育经历这里,那你咋知道写到这里呢。

你咋不写到前面,写到后面,写到最后面呢,你都不知道啊,所说黑暗中很难测,虽然你知道你创建简历,这里查看简历,这是符合一个二次注入的条件,就是有添加数据,后面是查看数据的这么一个流程。

所以它是有设呃二次入的一个产生条件的,但是你不知道那个漏洞,那个代码写到哪个地方,或者说怎么写,你都不清楚,你只能猜去试可能性太多了,而且撕你也极可能会失错,或者说他没有这个漏洞,你都不知道是吧。

你试了半天发现他没有,所以说呢恒河中很难发现。

而白盒中的话就好发现一些,白河中呢就只需要找insight,先找inside,找完inside呢再找这种什么update和snack,就是先有插入,后有对数据更新或者是查询的操作。

造成的这个漏洞,所以这里让我写了啊,白河思路就是找插入的地方,再来跟踪这个插入的数据,有没有后续进行snack update的数据操作,这就是找20诸路的白合丝路,黑盒里面就是从功能点上面去分析。

他有没有添加后对数据操作的地方,有就给车,但是黑格测试呢我刚刚说了,可能性东西太多了,所以说一般不会这样吃,我就是怕大家问才给他,这样讲啊,我怕有些人说黑客什么车呀,对不对,所以我就提前跟他说了啊。

可以测,但是可能性太多了啊,无法准确的测到,好这个呢就是我们说的二次注入,那接下来呢我们再看堆叠注入,堆叠注入是个什么东西,堆叠注入呢他的条件呢很苛刻,比这个阿斯多勒还要苛刻,啥意思呢。

我们先来聊一下什么叫对立足,其实就是多条语句执行的意思,啥意思呢,就像我们命令一样,也可以多条执行,那你看一下啊,我给大家演示一下呢,比如说我们这里呢去查询一个数据对吧,来for use10。

我查询下数据啊,以前的语句呢是这样写的,while条件id等于一是吧,这样写哎还得查数据,分号呢代表语句结束,那么大家试想一下,如果我在分号后面再写成一个什么,类似的一些SQL语。

写成一个什么great table,然后呢嗯创建一个tables,然后呢随便取个名字叉叉,然后里面呢再写上这个一个联名是吧,比如说叫test,然后呢这个维A类型,那写这个东西,那这是啥呢。

这个呢是一个创建一个表表叫叉叉,然后呢那里有个name叫特斯,然后那类型的FECH好,你看一下啊,我先把这个语句呢把它执行好,我们来观察一下这面啊,现在是没有那个列的好,我再把语句加上去,创建一个表表。

叫叉叉,里面有个列叫特斯特执行声音之后呢,我发现在这里哎,啥情况,我写错了呀,这不是把我搞尴尬了吗,创建一个列,哎呀这看一下啊,是table啊,不是tables是吧,看一下,哎这也不是啊,哦这里有个哦。

这后面好像还有个什么鬼V鬼东西,叫长都还没写进去,哎呀,啊看到没有了,来看叉叉就有了是吧,然后你打开里面是上一个特斯,然后他内心是那个维恰,那这样一写是吧,他就创建了个表,并且呢创建个列在里面,对不对。

那你试想一下。

那么我们这个租的时候呢,是不是也可以这样尝试一下呀,来我们看下啊。

我就把刚之前那个讲的猪点都拿出来。

那这是哎。

那这是之前那个讲的那个猪点呢是吧,这里是执行这个SQL语句啊,那我是不是也可以这样尝试去对它进行操作呀,来是吧,好你看一下啊,那我试着去尝试一下,看行不行啊,这那个驻点吗,那访问他哎。

他这里是接受驻点呢执行的语句,这样的嘛,那我是不是就可以,按照我刚才说的这个意思来讲呢。

哎,啊我不是在这里拼接,后面这样写之后就会创建一个东西吗,对我先把删掉啊,这个表先把删掉,那刚刚执行之后,那就会那个嘛哈你看啊我就来放后面去,是不是,那我让你接受嘛,你也解释这个语句啊,地址回车。

你看他接收到的语句也是这样子嘛,那没问题吧,没毛病吧是吧,哎,但是这里呢我们发现这里面有没有创建成功呢,看下并没有,那我们在这里执行这个语句呢,那就拿他这个语句打印出来,这个语句来执行。

执行可以在蛇口中咋不行,啥情况啊,这个有些有疑问的啊,为什么这个猪轮里面不行呢,执行又可以呢,啥原因呢,是这样的啊,就是在代码中呢,通常执行SQL局会用到这个叫。

比如说批评里面会用到一个叫MYSQLEQUERY,来去执行,但这个函数呢有个特点,它只能执行一条SQL,啥意思啊,因为SQL语句呢后面这个分号呢代表一个与结束,就说这是一条,那么后面就是一条。

是这个意思,你在这里执行,在这里,这个代码就是在这个开发工具,在我们这个连接器上面执行,它是能够支持多条语句执行的。

但是在代码中你用的这个函数啊,用的这个函数啊,这个什么mysql query呢。

它只能执行一条数据,就是它不支持多条数据执行,所以说你要让它存在这个堆叠注入,就必须要用到这种mysql m u i t r qr,这个函数去执行,它是支持多条语句执行的,所以啊我也给大家看一下。

在这个代码中啊,用的就是这个什么my cury m u t r q i,去执行这个SQL语句,那么和前面代码一模一样,哎结束这个id,然后呢用这个函数的去执行,而这个函数是支持多个SL语句执行的。

我们来观察一下,它是不是就可以来访问一下这个test。

点SQL,然后呢在后面写上什么,这个great呢,写上这个代码,写上去之后,创建表名为小迪,里面有个PID的一个列名,我们来刷新一下,这里开美,是不是就创建了呀,哎再来试一下,发型,看没出来了。

唉所以啊这个堆叠组呢。

简单来说他是一个什么情况呢,就是个执行多条SQL语句,其实就是这个猪呢就可以执行这个什么。

你就可以这里呢想怎么执行就怎么执行,知道吧,这个好理解吧,因为就像你用SQL语句来操作你自己数据会一样,这个数据就是你用SQL语句操作自己数据会样,你不用考虑前面这个东西,现在说是前面的。

它就是另外一条了,后面就是你自己想干嘛,你就写你这个语就完了,这是追剧猪的危害,它比常规那个猪肉还要简单,常规猪肉还要还要去拼接以前的语句,它这个不一样,直接里面重新自己想写什么功能。

就用SL语句帮你去写出来就完了。

但是他有个条件条件是什么,他利用呢首先要看两点,第一点就是我们说的这个函数,使用执行SQL语句的函数,要支持多条语句执行,同时他还要看数据库支不支持多条语句执行,比如说像我们现在说的MYSQL。

它支持多支持多条语句执行,SQL server也支持post,SQL也支持,但是有部分数据库不支持,比如说oracle oracle里面就没有多条鱼执行这个概念,但这个等同于没有。

因为大部分都支持这个多条与执行,只是要看这个代码中函数是选用的哪一个,你选用这个在pp啊,这个pp里面代码中如果选用它,那么就可能导致对立输入入选,这个上面这个写法啊,不好意思没有,能不能理解条件。

我给他说清楚了啊,能不能理解,他看两个啊,一看数据库类型支不支持,还有个呢就是看那个你那个代码中啊,就那个猪代码中那个函数是不是支持那个,这是多行语句执行的,如果他不自测话,是没有用的啊。

这不会产生队列输入的,这个队列注入和常规注入不太一样啊,就是说后面的主语句呢就是一个全新的SQL语句,你怎么写,他就怎么执行,而以前的SL组呢是拼接前面的语句,让这个语句正常啊,他不一样。

就是相对说又是一个整体了,又是个新的整体了啊,注意啊,注意差异,那么现在呢我们再来看这个呃,强网杯一个CTF的题型啊,像这种东西啊,就说我讲什么二次注入啊,包括这个啊这个什么鬼,哎堆叠之路。

其实呢他们在实战中呢出现的不多呃,20株呢还在代码升级出现的较多一点,而这个堆叠组呢和二次猪呢,一般在这个CCTF里面需要考考猪的时候,那需要考这种东西,你看这里呢2019年的强网杯的时候呢。

有个这个体系啊,我来演示一下这个这个什么,这个题的一个解法啊。

就是考的这个堆叠,如,也非常简单呐,这里有个疑,那他就输入一之后呢,然后你在这里再写上那个主语句来,先用单引号把后面那个屏蔽掉,然后呢修database就是完全的SQL语了,虽然让他展示属于数据库诶。

展出来了,有CTFTMYSQL,有什么super cirl i有test,有这个数据库,然后呢你再来什么,再来让他展示show tables,就查看下面的表,这个语句有个叫幺幺几级的。

然后呢再来修它里面的东西,RESNECT查询一下坡那个里面东西,那,哎他报错了,说提示不能拥有这个snack的这些东西,嘿嘿你说这尴不尴尬呢,这是他一个考点啊,然后呢这里呢有这个东西呢,修继续修啊。

嗯这个是查看上面的表,查看所有数据库查看表,然后呢,查看这个一九这个表里面的什么一个这个什么,那里面有个flag,那么其实就是说flag在这个表下面,flag是这里面表里下面那个列名。

那么我们就是相当于说要查与flag,就这样写了嘛对吧,那snack查询flag从这里去查,对不对,从这个表里面去查,但是查的时候要提示有这个正则匹配,就防止你那有这个关键词select呀。

update这个语句,那怎么办呢,就不能用snack的嘛,那么就是换了种方式,叫用SQL语句设置变量的方法,设置一个变量为AA呢,等于这个16进制的代码,然后呢,再把这个16进制代码呢。

把它导入到一个变量中,叫一个S型CSQR,然后再执行这个东西,那么等同于的就是执行则传,能不能理解啊,嗯简单来说呢,就是这里呢它有一个过滤snack的。

然后我们怎么操作的呀。

那打开这个16进行转换,那这里呢写上我们原有四个语句,Snet flag for。

查询flag来源于刚才查到那个列,啊这是他的那个,对吧,Yi,就要正常语句,我们是这样查嘛,那snack的查询flag来源于这里,把flag值给它取出来是吧,但这个语呢你这样写呢,他直接报了问题。

报了什么问题呢,大家也看到了,因为这里的关键字select的那匹配到了,怎么办呢,我们就利用这个变量,把这个值呢给他复制到这个settle a的A里面,就等于这个东西16进制,把它封装在我们前面说过嘛。

16进制在这个宇宙中是通用的,0X加上这个值,然后呢语句结束再把东西呢封装成这个地方,然后执行这个ERTCSQL,好写到后面封号,一个语截图,再把封子这里执行,你看哎啥鬼啊,这粘贴到这来看,看到没。

flag就出来了,嗯这就是他的答案啊,这是个堆叠注入,在实战中呢可能碰不到,在CCTF里面也考的,你不知道也不行,呵呵是吧,啊简单的过程呢就是先查看表表里面呢,找到那个关键地方,再查看他的这个点理。

查看他的表明,弹完表名之后呢,查里面捏,发现呢有个这个flag flag在这个表里面,然后呢尝试呢是用查询资料给他,从这个表里面去查,发现了查不出来怎么办呢,就换一种写法去让它执行,你可能会问了。

那为什么要考这个堆叠书呢,很简单的道理,如果不考对列注入,你这条语句在SQL常规SQL注入能执行吗,执行个毛啊,这个东西在常规里面是执行不了的啊,因为它必须是一个单独的东西才能执行。

就说如果前面是snack的这种语句话,他是执行不了,就像这种的,你比如说像这种的啊,我如果是拼接到这后面是吧,我这样去写,他能认识吗,能不能执行呢,对不对,他都不认识啊,执行不了。

啊你可试一下啊,你看下来,比如我这里那个查询哎。

这就不测试了啊,你就把那个变量一改就可以了啊,这个CDF题型呢就是说给大家看一下利用案例,就是知道他这个大概利用,不是说我为了讲它啊,不是说我讲这个题目,因为这个题目呢只是有这个考点。

就说我们这个知识点呢,他有些是在实战中比较多,有些呢是在一些体系里面比较多啊,不不一样的存在了啊,你说你不学他们,那可能在提醒你们出现啊,大家看一下这个利用就可以了啊。

其实呢就是利用SQL语句执行执行就可以了,他无非就是多了个logo,这个logo那就是对你SQL语句这个掌握的一些指引,各种编译情况也不是什么重要支点啊,过一下就可以啊,大家不需要读啊。

好这个呢是我们这个啊对列输入,那么接下来讲讲今天第三个漏洞,叫做这个呆外租,这上节课有人提到的,本来说不讲的,因为没什么卵用啊,后面那也有人提,还是该讲一下啊。

这个队列猪呢在MYSQL中呢也是比较常见的一种啊,但是利用条件比较苛刻,苛刻条件就是高权限,且支持node node f,如果这条件两个都不满足的话,就不用看了啊,我说只满足一个也不用看了。

两个条件必须要同时满足,你可能说了高权限不就可以这个nod fi了吗,不一定的啊,为什么大家还记不记得问一下大家的高权限,高权限是什么意思啊,就是root权限嘛,root权限的高权限且支持NOTIF。

好问下大家,高权限就一定支持node f吗,我刚才说了,不一定,为什么,还有没有记得呀。

因为还有个开关嘛,大家还记不记得是这个开关啊,叫server file p r,FR就是控制安全文件的一个权限的。

啊有些高版本的里面的默认把它开了,把火把它关了,就导致你无法nod f,所以说即使你是root权限注点,那也用不了这个例子DSDS某个注入,而且你会发现呢,你即使用它好像和你用不用它关系都不大。

什么意思呢,就是说啊你用这个注入点呢,啊你用这个那个这个这个这个这个这个note fire呢,用这个代码注入,和你直接用它好像没有什么太大区别,它唯一的区别就是一个不回血,就是解决不回显的一个问题。

除此之外他解决不了任何事情,他解决不了任何事情,啥意思啊,notify是一个读取文件的注入里面去读取文件。

那我给大家演示一下啊,先把表情给他讲清楚,为什么说要有有有这个知识点崩出来,他不不是无缘无故出来的啊,你看啊,这是我们前期讲的那个漏洞啊,这是那个漏洞啊,我们来给他演示一下啊。

等下在我们前期讲的最常规的注入啊,对六四点B的一,好我们在租的时候呢是这样写的啊,U n i o n,然后呢去查询,那这里有个5。4。26欧好。

那我进行node file去读取的时候啊啊note file,会读取是吧,比如说我读取那个D盘下面的一一点TXT哎,他能读到是吧,这是一点TXT的内容,就是我电脑D盘的对吧。

就这个服务器相当于我就是我电脑嘛。

来这就是这个数据好,他能读到没问题,那我如果我把这里一去掉了,但我把这里注释掉,看阿星报错了,为什么,很简单的道理嘛,没有悔意线的,你读个毛啊,读,是不是道理啊,那么也就是说其实有些驻点呢它是没回显的。

所以又存在什么呢,就是有些猪点呐,但有部分注入点呢,是没有回血的,所以这个读取也是没有回血的啊,没回血,那你咋知道什么内容,那有什么意义呢是吧,所以呢才用到这个什么DIY。

这个DIY基本都是解决没有回旋的问题,你不用说,所以有些老温说这个DIY就是干嘛呀,是或或或问一些面试温的时候,也是问这种问题是吧,说没有回弦呐,什么没有发音呐,怎么办。

这DIY嘛DIY这个统称都可以回答上去,只做细节点,你回到好就行,基本都带Y怎么没有回线,都是这么带Y带Y,DIY的意思就是说让他主动把数据交出来,就等同于我们在前期基础课程里面,学到的过一个名词。

不知道大家我说到这里,大家能不能想起一个名字,如果能想起的话,那就学的非常好,想不起来,那就是尴尬了啊,好有人说出来了啊,正反向的问题,对的啊,就是要你这个词啊,回答NC也不错啊,至少想的是那个知识点。

就是我们说的什么主动连接,反向连接的意思就是主动把数据交出去,让服务器自己主动把数据交出去,能理解吧,就是因为他不不显示嘛,你就让他主动出去,把叫到外面去就完了呗。

就这个意思哈,他也和那个东西相似。

好那么现在呢就像我刚才说的是吧,他这个不会显了,对不对,我们怎么办呢,你就刚才那个驻点呢在这个就不会显了嘛呢,但是刚才还显示是吧,那我现在呢我把它注释掉,对不对,他不会写的呗,怎么办呢。

那我就把它带去出去嘛,带出去呢,由于这个dx log这网站呢崩了啊,我就换了一个这底下logo的,我打不开了啊,不知道咋回事,不知道你们能不能打开啊,我就画了这个这个这个另外一个啊。

这个CNY1的这个网站的,那这是我要注册的啊,那CEIO自己注册一个啊就可以,然后注册之后呢,他会分配给你一个这个域名和一个APIK啊,你其实用这个域就可以了啊,然后这里面有个DS这个地方。

那我先把这个全部清除掉,然后呢你就只需要记住这个地方就可以了,在这里记住这个你的这个这个地址,然后呢怎么去写这个SQL语句呢,是这样的啊,嗯这里呢用这个正常执行的话,就是这样写的。

and under load file去读取,读取呢连接这个值,然后呢把database就是查询到的这个database啊,啊拼接到这个地址上面来,后面的这里也可以随便取,所以说这里写随便啊都可以。

这后面都无所谓,只要这个地方写对点,就是连接,这里是snack啊,最好是写一个snack,那就是我们在写的这种啊啊,就是把数据库呢把查询到。

然后把语句的放出来给他看一下。

就这样写的啊。

来嗯读取,然后这个是个拼接符,拼接这个两斜杠啊,查询这个database,查询到那点连接这个例子,因为很简单啊,前面如果说是123,那么他这个地方呢就会在这个记录里面啊。

在DNS记录前面就显示123,所以他查到的是database。

就是数据库名,把数据库名呢给它获取到,然后呢让他请求到这个D上面去,后面这个AABC这个得随便写啊,这个无所谓的啊,随便写,让他有个值就可以了啊,这个是你那个上面的域好,我们就把这个代码呢写进去啊。

放到这里来复制啊。

大家看一下啊,现在呢我们就来到刚才那个驻点那里,他没有这个没有这个内容显示嘛是吧,我就让他这个怎么样来请求获取数据库名,把他请求在了回车,他也会有一个时间间隔,为什么这个时间间隔其实就是他数据呢。

正在把待到这个目标地上去,然后我就观察这面,来刷新我看这个app请求啊,刷新,哎哪个没改呀,你说哪个没改,我第一次没改,哎什么鬼啊,哦这个地址没改啊,尴尬了。

高温小心看这里哈。

那看到没demo01数据库名就出来了,看到吧,对不对,这个时间有点不一样啊,他这因为他这个是取他自己服务器时间是什么,时,11点钟,他可能是放在国外的,我们的时间不对应上。

那么与此同时来我们可以继续操作下来,比如说我再把这个信息改干什么。

这个是user,关起那个user了是吧,咱们查一下,执行。

那你这他妈什么鬼啊,这,唉你呀,我真是没办法。

那正常请求也不能请求了啊。

哎呀你们这也是那没办法了,我请都请求不了了,现在,那这个呢就是查询那个数据库嘛,那就是那就是你把这个你要写查的数据,那就用这个语法取代,那这个呢是啥版本号码是吧,vision这个一些其他的一些东西哈。

这个把写上去了哈,那这又是别人恶搞的呢,访问这个地方呢,小舌底呀,什么小舌底二幺拔的这个人在访问哎呀,就说你这里呢就可以这样操作了嘛,哈那个我们就不带累赘了啊,那接下来呢比如说比如说啥数据的话。

也是一样的道理,看你看下,我给他演示一下,嗯你看这里,那就有这条语句呢,查询这个表里面的第一个第一个它的什么啊,查询table name,查询table name。

从这个information查tables,然后条件是这个数据库名等于demo01的,是要查查到第一个NO limit01,然后连接这个地址,对不对,把写进去啊,然后这里呢改成我这个地址的一个代码。

把写成这个IP地址。

好我们来查一下啊。

就是查询一下这个demo领域的数据库,第一个数据库名字啊。

诶,没错好,我们再来观察一下,这边你看艾特米出来了,看到没,因为我的数据库里面是有个NMI的,第二个是g bk,那我们来把它换一下,那我这里就是limit什么零二。

对不对,看下哦,自行嗯啊不是零二,应该是一杠一,好再来看,这边刷新看吗,激波可出来了,对不对,这个地方就是其实呢它和我们前面讲的蛮族的,有点相似,就是有些数据呢它不显示,那你查询不到不显示。

我就把它怎么样带出来,那忙租的其实也是一样道理,有些不会写,那我就换一种注入的方式都差不多,但这个迪斯诺克呢看上去要花里胡哨一些,要牛逼一些,其实呢发现呢也没什么卵用,对不对,有什么卵用呢。

有个P的用啊。

因为他条件太苛刻了哈,又要高权限。

又要这个什么鬼东西,你想象下他既然都node翻了,能支持node f,你可以直接写文件了,你写文件不比这个读文件要好,你还在这里咔啦咔啦的搞得花里胡哨的,什么把他带进代入进去,搞文件搞什么鬼。

其实呢这种问题呢,都是在面试题的时候需要问啊,显得你好像很懂的样子,但实战中也碰碰不到面试题,问这个东西呢,不是说让你以后在实战中能碰得到,他是看你这个人呐学知识点能不能融会贯通。

因为你学过这些DIY的是查询,他就会想象到是吧,一下是什么SSR服里面呢喜欢搞这种DIY,还有像这个内网渗透里面,喜欢搞什么正反向连接,对不对,他就看你有没有这些思路呢,应用到各种漏洞中。

那就产生这个什么顶原s log diy组,其实有啥呢,看上去很花里胡哨,实际上呢你在实战中呢基本上不会用到,反正我是一次都没有用啊,因为一般碰到这种高权限入点,那用其他方法就能搞了。

还搞这种什么呆歪呆呆拿呆拿干嘛呀,烦得很没必要啊,条件和这个实战情况下面不是很符合,所以说用到情况下比较少,唉就是应付下有些面试啊。

开拓下自己思路,好这就是今天的内容啊,已经上完了。

好我看大家有没有什么问题啊,刚才的你看着被打对了,人在访问,我也是真是无语了,那个二幺拔的是吧,看是哪里的小伙子啊,来小伙子,你,看是哪个小伙子,香港的,哎呀嘿,你还会用代理呀,小伙子还是不错的呀。

看这个啊,看这个是哪个广东广州啊,你们说去施工它没必要啊,这IP地址很难施工,但是我有办法施工出来,但是我不是接触这种技术的,因为我有大家这个这个什么啊,那个录像的播放的那个权限,我能看到大家。

那个用我那个播放器的那些IP地址,我可以在里面塞到,是谁啊。

尴尬啊,无所谓啦,他搞下破坏就让他搞下破坏的,反正不影响讲个精度就行啊。

好大家看有没有什么问题啊,有问题就问,没问题,我们就瞎了啊。

下节课开始呢我们就讲这个另外一个漏洞呢,啊pp里面另外一个漏洞呢。

看大家有没有什么问题啊,为什么DIY里面的root AD r r不一样,是这样的啊,他这个DIY呢称之为叫DNS slog,是走的是DNS协议,DNS协议呢它是不一样的,啥意思啊。

我们都知道在我们的计算机里面呢,放网站配置的都是运行商的那个DNS,其实呢它其实就是相当于就是说和你上网一样,就是有个出口,你是那个DNSS,你负责你那个当前IP,但那个DNA是服务器去解析的。

所以他接收到是他那里,因为你那个解析网站呢,是用的是别人的DNS服务器,所以它就是获取的是那个DNSS服务器的地址,能理解吗,GSN能不能租住,这不是前面讲的借SN租的吗,你还问这样的问题。

一共有多少主路,多的是啊,我只上了1%部分吧,没有必要了解那么深入啊,因为现在没有多少人想学这个知识点,SITI讲不讲,SITI讲啊,I t i,我们在前面的安全开发者,已经已经有投投东西讲了。

就是模板注入嘛,在pp里面讲了,在那个java里面讲了都讲了啊,还有一个就是Python嘛,Python这三个语言居多,咱就是Python里面多一些,我就是模板注入哎,下节课讲什么啊,下节课看情况吧。

他是讲这个夸张的呀,还是讲凡是夸张的,还是文件上传的呀,还是那些其他的,总是这几个,讲讲hp和SMB外援,这个Y带这个猪里面他只有这个玩法,你说他什么HPSYBSMB,它不支持,你说那些协议。

那首先要看他支不支持那个协议,如果支持,那才能外带,就和内网你一样,内网一样,打隧道一样,他有些协议他不支持,你先判断他除网协议才能呢去带,有比SIGNMB更好的工具吗,哦讲SQL学哈是吧行啊。

那下节课呢我们就最后讲一次课,讲一节课就专门讲circle map这个注入工具的利用,好吧,下课就讲这个行吧,就包括它里面的那个架构,还有嗯什么其他的啊。

我先做一下,做一下这个基因漏洞,我怕忘记了啊。

我下节课讲的啊,我做下记录。

好我们就说这么多了啊。

今天就讲这么多了,看大家还有没有问题啊,问题我们就解答一下,没问题就瞎了啊。

posted @ 2024-09-30 09:20  绝不原创的飞龙  阅读(0)  评论(0编辑  收藏  举报