合天网络安全笔记(一)
P1:网络安全先导 - 网络安全就业推荐 - BV1Zu411s79i
(音樂)。
(歌詞),(歌詞)。
(歌詞),(歌詞),(歌詞)。
(歌詞),(歌詞),(歌詞),(歌詞)。
(歌詞),(歌詞)。
P10:第8天:SQL注入漏洞-mysql基础 - 网络安全就业推荐 - BV1Zu411s79i
今天讲的内容比较简单啊,而且我讲的知识点就讲的知识点的话,基本上就只会那几个,也就就是说我我这门课呢,更主要的是教你们一个思路,就是你比如说一些死的一个东西啊,例如mysql守住的一些需要记的一些语句。
就是如果你在理解的情况下,这一个在理解的情况下,甚至就算你这些语音根本都不用记,根本不需要记啊,但是你要知道它的原理。
现在开始上课吧,刚好时间到了,现在开始上课。
啊今天呢要给大家讲的是一个mysql的一个基础,我稍微拉一下mysql的一个基础讲解啊,公司跟讲师介绍我就弄了,大家看一下今天的一个课程,就是今天的一个主要课程,在第二个部分。
这包括这一节课的一个45分钟啊,你比如说你前面的第一部分和第三部分,都可以不听,但是你第二部分一定要学会,我们开始接下来的一个课程啊,首先第一章是一个mysql数据库的一个基础,在讲之前呢。
给大家看一下一个网站的一个普通结构呀,啊大家学了s t m l,然后学了前端的话,这个应该是看得懂的啊,就是比如说这是我自己,我给我这个web服务器提交了一个请求,然后这个请求他就解析到解析。
然后传下这个数据库,那我数据库接到你这个请求,那我就会啊做出一个响应嘛,然后我把这个响应传给这个web服务器,然后这个服务器再传给我这个攻击者,这一部分呢啊你们有没有不懂的,这个应该很好理解吧。
懂的话你扣个一好吧,懂的话你扣个一,让我知道一下,应该是跟你们讲过的,不懂你就可以扣个二,这个没事的,啊好没有quiet的话,那就是基本上都是理解了,这时候我们要想到一个问题啊。
就是我这是一个正常的一个处理过程,然后我这里是一个数据库,那我数据库跟这个vivo服务器,还有这个攻击者,他们是怎样的进行一个传递呢,对不对,他们是怎么进行的,这样的一个过程呢,是你要理解的。
接下来我们就开始看,首先第一个什么是数据库,数据库的话,你简单理解就是一个存放数据的地方,对不对,你们啊,因为第一节课就教你们搭了一个网站嘛,对数据库大概有个了解。
就是我这个数据库就是存放数据的一个地方,就是我这个网站的一些关键数据,都存在我这个数据库里面,然后呢要去查找数据的时候,就是直接从数据库里面调用,这点呢应该啊有没有不理解。
就是你如果数据库是什么东西都不知道,你就扣个二好吧,应该没有吧,如果你们搭了网站的话,肯定是应该会了解一个数据库的基础,就是总体来说技术还算比较开,可以的好吧,我以前教过。
就是可能数据库都不知道是什么东西的,有这样的一些,既然大部分都懂,我这里呢就简单的过一下,简单的过一下。
还是看一下吧,好像他们说是有延迟,o。
那我数据库过了之后,我们看一下思考是什么东西,就是我数据库是叫四个server,然后我思考是什么呢,就是用来操控数据库的一个语言,也就是说我一个p啊,比如说我的一个代码对吧。
我的一个网站我要操控我的数据库,就是我要从我的数据库里面拿东西,那我就要通过这一门sql的语言,来进行一个操作的一个存储,这就是一个sql,那我们接下来看呢,常见的sql数据库有mysql。
sql server,oracle,常见的就是这前面三种的,然后其实前面你要记住所有的数据库,还有最多还有一个access,所有的数据库,它的一个操控原理全部都是一样的,全部都是一样的。
今天我们要讲的就是这个mysql,注意啊,今天的一个重点是你不是要记住这些句子,还是要理解,就是理解这个东西是干嘛用的,啊首先我们来看一下一个数据库的一个结构,这里呢你简单的就理解为啊。
我一个数据库就是一个大的一个客户框,我这个大的框框里面呢,然后就会有一个表,就是我这个数据库之后就是一个表,然后我表之后呢就是一个字段,然后我字段里面呢就是我存储的一个数据,这里呢可能看看的不太清楚。
我们用pcv 4 study的那个东西来看一下,就是数据库的一个结构,你一定要记住啊,很简单,就是首先我是一个数据库,然后我库里面有表,然后我表里面有字段,字段里面有数据,那是怎么理解呢。
我们来看我们的一个,我还是用这个psp卖的命来看,这个比较清晰,啊首先你来看这里呢,就是我们的一个数据库的一个名字对吧,就对应的这个数据库的一个名字,q1 q2 嘛,数据库的一个名字。
然后我这个数据库里面有什么东西呢,比如说我这里有一个d b w a里面都有的吗,d b w a的一个数据库,那我d b w a里面呢,它就有两个表,两张表,然后我看一下user的这个表。
这个表里面有什么东西,然后这个表里面有这么多的一个字段,比如说user id,last name on user id,user password,这里呢就是这个这张表的一个字段。
然后我这里面这个admin,它对应的就是这些字段的一个值,你看这里user就是admin password,就是密码,还有一个数据库呢,就是以一个这样的形式进行了一个存储,这一部分有没有不懂的啊。
我还是挑在这里吧,数据,这个一定要记住啊,记住,啊你还是同样的,你懂的话,你就扣个一,不懂就扣个二,啊不会了,说出来没事啊,就是我看你只有一部分的同学在这啊,不会也没事,就是你一定要记住啊。
就是一定要记住这个,ok一定要记住这个结构,它是一个这样的一个结构,那我们接下来就是一个怎么样的呢,嗯看一下对,就是大大泡小的,这里呢有一个数据类型,数据类型不需要记啊,就是你要知道有这种类型的。
我不需要你记,你只要稍微看一下这个int blood,还有这里呢是一个啊书本里面会写的一个数据,但是我不需要你们记,你只要知道有这个东西就可以了,就是有这个东西,因为很多时候如果除非是你学数据库。
不然的话是用不到这些东西的,然后这里呢也是数据类型,这是文本的这一些,你记住有这个东西就ok了,然后呢有一个约束,这个约束呢也是大家记住啊,就是你们只要知道有这个东西就ok了。
一般都是lost word,你看这个黑空,这是因为为什么要理解呢,就是在执行一个sql语句,比如说要建立表,然后建立据库等这些东西需要用的,这里呢就是待会我把之后我把ppt发给你们吧。
这是中间记住你们记住这三个这几个啊,数据类型啊,还有字符串类型啊,字符串的类型啊,然后还有这个sql的一个约束,你们我不需要你们记这些记,我觉得就是在实战中基本上是用不到,但是你们一定要知道有这个东西。
好那我们就来进行一个操作,你们数据库,我今天给你们发了一个,there be cut for my circle,本来要发新版本的,忘了,待会下完课我给你们发一下,我发的是一个,是一个这样的一个东西。
那个cut,然后呢啊如果你没有装这个的也没事,你们不是有ph b4 study吗,我这是老版本了,你们是新版本pcb 4 study呢,找到mysql工具,有一个mysql的一个命令行。
然后输入密码就可以登录这个mysql,那我们接下来要学的是什么呢,就是mysql的一些简单的一个句子,这里的一个新建数据库新建表,这里有什么用呢,就是还是给大家便于大家理解。
就是记住一些简单的一个sql语句,我们后面的sql注入是可以用到的,首先啊你们看习惯navy cut,自己本机的话就是3306,然后你输入自己的一个密码进行一个连接,连接测试成功就可以连接。
你就可以看到自己的一个数据库这里,然后你要怎么执行一个命令呢,就是啊有一个新建查询吧,应该是查询,然后找一张表,随便找个test新建查询,这里面,给大家看一下,首先是收,然后这里运行这呢。
就可以看到一个数据库的一个名字,我的比较多呀,跟这里是一样的,跟这里呢是一样的,然后我们看一下呢,就是简单的看一些句子,简单的看一些句子,首先呢第一个是创建一个数据库,啊,this this。
然后这里是一个新建数据库,这点如果英英语好的话,就知道这里就是一个新建的意思,debu就是数据库嘛,对不对,我们随便创一个啊,给我创一个空白,好多了个s,ok对,打错了,我知道。
然后可以看到自己就创建了一个空白,还是为了这个是用来干嘛呢,还是给你们进行一个理解,就是理解这个数据库是一个什么样的,然后呢就是也同样的会有一些简单的一个句子,这里呢就创建哪个数据库啊。
如果你们手快的呀,手快的可以跟我来一下,但是如果手慢的话就可以啊,手慢的话你就看一下就得了,课后自己去进行一个操作,因为你操作的话是永远跟不上的,然后呢它这里呢就是创建一个数据库。
这里的意思呢就是创建一个表,然后这里呢有一个a的名的一个表明,the main里面呢有一个username,这个username的属性是vr chat 30,然后它的一个约束是lol,约束是一定要有的。
可以看到这这的一个约束,当然我觉得就是这个创建表嗯,稍微理解一下就行了吧,也不也不需要怎么记,这样弄几十呢弄一个吧,哦的,这里呢就是我创建完数据库之后对吧,我要进入到这个数据库里面,叫user。
进入数据库里面,然后我在数据库里面创建一个表,然后我们输一下这个数据库里面的一个表,哎呦这做的,啊你记错了吧,没事不管他了,这里只要这里呢,只要记住这一个是新建表信息库,这是常见的命令,这个记住啊。
这个还不是重点,重点的是这个就是我个人觉得你mysql里面,不管是mysql还是其他的一个oracle access等,这些这个注入基本上全部是根据这四个,就这四句话,就这四句话来进行一个操作的。
就是你前面什么东西都不记没事,但是这四句这四条,这四条你一定要知道是什么意思,也就是说我们今天整个45分钟,我就学四条就ok了,什么东西都不用学,我就学四条,啊首先看一下这里呢是一个查询语句。
slice,这里呢是什么意思呢,这个就是查询,然后星号,代表一个服用这个表,oc杠user这个表就是我查询oc user这个表,这里面的所有一个内容,这句话能理解吗,能理解,你们还是扣个一。
啊你们应该之前也是预习了呀,就是我们的一个所有的一个条件,这个记住信号是代表所有不啊,它是一个正则的一个东西,然后第二个就是进行一个增加啊,我把这四条语句帮你们,帮你们那个,等一下待会还是发ppt吧。
截个图吧。
这十条语句发群里吧。
这个植入其实真的很简单,只要你们会了这四条语句,这是一个查询的一个语句,然后我们再来看一下这里呢就是一个增加啊,给这个id,username,user。
user p w d email这四个属性添加对应的一个值,就是id,这里就是十use name,就是这个就是一个进行一个对应的这个oc user,就是这张表里面的一个值。
就这一张表对oc user这个表里面的这四个值,即兴音不对,这四个列添加对应的这四个值,这条语句我们来挑一下吧,嗯我找个少一点的表扬,就是这张表太大了,不太好看,好像是这张表吧,对这张表的话。
它东西比较少,你这,这里呢就是一个查询语句,刚刚大家都懂了,然后你们可以看到呀,他这里呢有四个属性,当然他后面也有很多属性啊,有很多他这个内容我很差,自己呢我只是随便的添加一下,id啊,然后上来。
user awd,嗯啊然后,你的xs e r还是没装上,没事,待会儿课后我给你们看一下吧,就是课后我会在那个群里面开个自然课,因为你们都还在吗,都有时间吧,你们有时间的话就扣个一,要是忙的话。
我就再找个时间,我看一下你们大部分人这个时间,of tea,什么什么什么什么东西,难道我又记错了,好久没弄了,insito b r s,high sie啊啊,待会儿回去给你们看一下吧,给你们看一下。
哦已经有了,就弄个12吧,好可以,看到这里呢有添加成功,然后我们再来查看一下,看看他这个表,待会儿都给你们讲一下,就是下完课你们别走,放学别走,待会儿晚上会给你们看点东西的。
可以看到我刚刚自己添加成功了,这里语句呢我也不一样,是我觉得就是这些东西啊,没有很大的一个必要,你全部都记着吧,我们重要的是一个理解,这样就是四个语句,算是一个理解,可以看这里就是更新了。
进行一个更新更新啊,这个语句呢还是给你们看啊,自己就是改更改oc杠,user这个表里面seed就是这个这个是什么,就是这个user name等于,然后email等于多少,然后做了一个条件。
就是修改id等于十的这个usn等于多少,email等于多少,这条应该也能理解吧,然后可以看这里就进行了一个更改,这里呢就是删除删除这个oc user里面,where id等于十。
就是id等于十的这条信息,就是我把这条给删掉啊,这四个语句里面有哪个地方没搞懂的,你们现在就讲一下,就是现在发一下,不懂的一定要说呀,不懂的一定要说,因为明天的话肯定是交新知识了,不懂你就扣个二啊。
我等一分钟,如果没有没有扣二的,我就过了,mysql的一个增删改查,就是这几个语句应该都懂的对吧,那我们看一下接下来的一个重点,接下来的一个重点,就是有一个联合查询的语句啊,你比如说看这里。
我首先查询一个非要uc等于root的一个语句,它就会返回我一个username等于root的一个结果,对不对,但是如果我加一个联合查询呢,你们有没有发现一个变化,这就是多了一条。
多了一条查询的一个信息出来,对不对,所以呢为什么我会说这里是一个重点呢,嗯先给大家看一个简单的一个图,我翻一翻吧,看看能不能翻到,就是,给大家看一个cms里面是怎么写的哦,用靶场给你们看吧。
我们首先来看一下,一个正常有存在sql注入的一个语句是怎么写的,这一串啊,这个应该大家很熟吧,就是我查询这个所有的在这个user表里面所有的,然后这个id等于我这个id进行一个输入的id,等于多少。
然后就返回一个结果,这条语句应该大家都懂,对不对,然后这个id是可控的,就对不对,那这时候我们的id,如果输入的是这一个联合查询的一个语句呢,那它这个返回结果会变成一个什么样的,一个变化。
就是会不会我们后面的这条句子,都是自己可以进行一个执行的,那会不会就是我想查询哪一个啊,想查询哪一个是啊,哪一个东西,就是我随便查询什么东西,他都可以给我返回一个结果,对不对,这里理解吗,理解的话。
扣个一,啊,大部分是不理解吗,那我再来说一遍,再来说一遍,我再给大家解释一下啊,首先我们来看还是同样的吧,我用这个数据库进行一个操作,这里吗,不要uer,等于usn码。
由于root我自己呢就模拟一个查询语句,模拟的查询语句是不是啊,就类似就类似我这一个这条sql语句,就是类似我这个场景里面的这条语句,到这一步懂的话,你扣个一对吧,这个基本上是一模一样的意思吧。
嗯好这里呢是一模一样的,然后我这个输入的id的这个值。
是不是可以自己随意地进行一个变化,对不对啊。
我就拿着这个靶场的一个网站给你们看。
啊比如说就这里了,我id等于一,对不对,就是对应的这个id等于一进行了一个查询,然后id等于二,正常的网站逻辑是不是都是这样的,就是我随便找一个网站嘛,我随便找一个网站啊,上海,我随便找一个网站。
吉利官方网站啊,就比如说我这里呢,它就类似我这个id等于282,就是这辆汽车,就跟我它的数据啊,它的一个语句是不是就有可能是一个这样的,就是我查询这个id等于多少,我就返回这样的一个结果。
给我的一个web服务器,然后我在这里改281好,它商品以及线下,那我改这里了,它这里是294,那我294,就是这一量体力加g281 ,它就不存在,我262就是这一类这一类东西。
就是我正常的一个网站是不是都是这样写的,就是以前来说正常的一个网站,然后这里呢我是不是说了一个数据库,有一个这样的一个句子啊,就是比如说我这里呢就是相当于是一个id嘛,对吧。
那我这个id变成一个啊root,然后打一个信号,然后再加一套这样的句子,一条这样的一个语句啊,就是我把这条句子扣在这个里面了,因为这里是我可以自己随便输入的嘛对吧,那我call在这个里面。
那我是不是他这个sql语句的一个句子,就会变成一个这样子,到这里的话,到这里能理解的话,扣个一,因为我这个id是可控的,这应该就很好理解了对吧,好,那我啊那我就就先演示一下啊,比如说这里。
i d等于-1,然后我这里能进行一个查询语句,u i o n flag,啊我先看一下他的这个先闭合,然后,好像是三行吧,好,这里呢slice that best的,它的一个意思就是我把这个拼接进去啊。
我把这个拼接进去,嗯等一下我找个ua网解码的一个地方。
我拼接进来,他这个语句呢是不是就变成这样子了,这条是我们输入的,那他是不是就会返回这一条select database,然后就变成了就变成了这个样子,把这个数据库的一个名字给显示出来了。
用我们的联合查询语句,是会执行后面这一条语句,懂吗,你就相当于把这个不看,然后他执行了后面这一条语句,然后你再想一下我自己一个select我后面的语句,是不是自己可以控制的。
就是我自己想怎么输就怎么输入,对不对,那我如果要查询它,这里面的一个root用户的一个密码呢,比如说你说啊,如果我这个吉利这个网站,我存在一个sql注入,然后呢我就在这个地方出个个型号。
然后进行一个查询,这是举个例子啊,补充某某某某,然后我就是不是如果它存在注入,我通过这样的构造,就可以把他的一个就可以执行,任意的一个sql语句,然后把它的一个管理员用户密码给他给查出来,对不对。
他这里能理解吗,能理解的话,扣个一还是就是因为我这个id可控,然后可以随便输入数据库的一个语句,这样好了吧,ok然后我们就开始看这里呢,old by排序自己学了是有什么用呢,就是学了之后会让你啊。
学了之后就会让你知道我后面的一个sol注入,是怎么样进行的,sql注入是怎么进行的,首先我们来看这个old by有什么用啊,哦我不我先不跟你们讲这个,我觉得跟你们讲这个的话会太抽象了。
而且没什么用。
先让你们理解一下什么有一个什么样的一个用,对吧,就是我这个old by,我这里呢有一个23列,懂吧,只有23列,然后当我old by小于这个列数的时候,我这个结果会查询出来,就是会把我的结果给返回出来。
但是我当这个old by大于它的这一条列数的时候,那他就不会返回回一个结果,就是会返回错误,那这里有什么用呢,它这里呢是一个这样的一个作用,我们还是来从代码里面进行一个分析。
哦我干脆就找到你找到这个表吧,好吧,找到这个表给你们看,这里我新建一个查询,我先看下几张表啊,啊可以看我这个u s表有三列,对不对,然后goodbye 3,他还是返回这样的,没有问题。
那我old by 4,他就返回错误了。
那我是不是我的by 3,它就有三列好,我们同样的在这个上面进行一个输入,八没有问题,我by 4函数报错,那这个有什么用呢,我们再来看后面的一个语句啊,就是这里有一个echo。
echo的意思就是显示显示了username和password,好,然后我们来看一下,于是那个password对应的是不是数据库里面的,是一个第二列和第三列,对不对,第二类跟第三列。
那我们的这个old by,就是为了查出它这个显示的对应的是哪一列,第一你可以看我这里呢,因为我是o的by 3,所以这里是select 123,不用火狐给你们看吧,这个五个浏览器的ui r编码。
你们估计看的很难受。
至于oby,是为了查出我这个显示的是第二列还是第三列。
这是一个回血的一个常规操作,然后my sl的三个注释符,注释符大家应该能理解什么意思吧,就是我加了一个注释符,那后面的东西就是没有用的,就类似这样啊,我加一个井号随便打,你可以看颜色变了。
就是让后面的语句失效。
啊我其他的不要求你们什么。
但是这三个注册符你必须给我记住,三个注释符,必须给我记住,后面有大用,然后这里面呢有一些常用的一个函数啊,同样的就是我不要求你全部都记住,你给我记住一个就ok,就是我不会的,没事我全部记不住没事。
那我去百度搜一下,或者我记个小笔记,我记一个小笔记写在自己的记事本上,这些你们都全部给我略过,都全部都有,我略过,就是我这一块我不要求你们都记住,你只要知道大概有这样的一个东西就可以了。
后面我后面我再给你们念的时候,你就给我对着这张表来看它的一个sl语句,一个一个是什么意思,因为你一天要记的话是啊,瞬间这是一个一个知识点太多了,还有这个啊,这几个的话应该很好理解吧。
and跟or and and呢跟这两个是一样的,就是雨的意思,for的话就是或的意思,或者还有女的话,就是and跟我应该都能理解吧,and were不理解的,你扣个二让我知道好吧,按个w。
应该没有不理解的吧,这个呢都是为了后面的几节课打一个基础。
就是我不要求你们知道啊,sql语句直接默写出来,但是我必须要让你们知道,它是有一个什么样的一个一意思,知道意思之后很好能真的能很好的一个理解,前面呢前面的这个呢就是sol注入。
你是不是觉得嗯好像就一点点,我支持的一个现实场景,受得住,知道的差不多就这么一点,只需要这么一些,不需要更多的一个东西,啊还是同样的,我强调一个重点,就是我刚刚发群里面的这个增删改查词条语句。
再加上这一个盲注,这几条,还有这个注释的一个句子,你们呢最好就写一个小笔记,比如说我创建一个,我创一个文本,你就自己创一个文本啊,四字输入比,当然你们有那个呃笔记工具更好呀,就是比如说有道云笔记呀。
或者这一些的,你们自己记个笔记啊,一定要记住啊,做笔记的话还是挺有用的,我不说特别大用,但是还是挺有用的,自己做一个笔记,好然后我们再来了解一个表,就是这个mysql的一个特性。
阴风information设置这一个表,这个表呢你就简单的记住,这个表里面有所有的一个mysql的表,就是mysql所有的表都在这个大表里面,我通过这个大表就可以查到mysql数据库里面。
所有的一个语句,这个表。
这个表啊,然后我还是给大家看一下。
我今天好像是不是有点讲的太慢了,这些呢也只是就是你这个东西你理解就ok,记住有这样的一张表,他这张表里面呢会有一个所有的一个数据,所有的数据表,我知道妈呀,然后呢就会有这样的一个句子。
好我们一一个语句一个语句的来分析一下好吧,啊我们首先来看这样的一条语句,啊我们来看这样的一条语句,啊首先我这里呢是查询这个table n,这个tb nt是一个字段。
然后在这个information设置点tables,就是这个库点tb这张表里面,然后呢这个条件是ta search等于这个database,然后这个debus呢,就是当前的一个数据库的一个名字。
那我们结合来看一下,就是我查询这一张表里面的这一个heaven name,就是这tm就是这个表哎,应该这样说,就是查询当前数据库的一个表的一个名字,这条能理解吗,条件是等于当前的一个数据库。
我查询当前数据库的一个表的名字,因为我这个数据库里面是有所有的一个表的,就是有masa所有的一个数据库,这条能理解的话,你扣个一这一条,啊没人,啊这三位同学理解吗,嗯好我再来讲一遍,再来讲一遍。
我们就这样看吧,我们就这样看,我这里呢是这里它的一个数据库,然后我这个数据库的一个tbs就是在这个地方,把这张图抠出来吧,information and tables,就是我查询这一个数据库里面。
对不对,然后我查询之后它就是一个这样的一张表,然后呢再加一个条件,就这个tab search,反正我是查询这一张表里面的这个字段嘛,tb temon字段就是这个字段,然后呢它的一个条件是。
tap search,就是这个等于我这个当前的数据库的名字,你理解的最长的话,后面也就很好理解了,你首先可以看这个呢是每一张表里面的一个,这里就是mask的所有的一个数据库。
然后呢我是查找这一个这个字段,等于当前的一个数据库,也就是我自己的一个数据库,的这个数值,你就简单来说是差这两列吗,然后我查的这一列是他这个tp search,等于当前数据库的一个名字。
然后这个呢其实是同样的,就是我查询它这个列的名字,there are templon等于oc user,oc user呢是刚刚这里面查出来的,所以说你还是这一条理解,不会的,我待会写个。
我待会一个一个给你们解释好吧,我待会儿写一个东西给你们在里面,然后你们今天呢就会有一个任务啊,其他数据库的话就嗯有两个文章在这里,就是你们可以看,其实两个都是一样的,就是跟mysql差距都不大。
然后你们今天的任务就是你去了解这两个东西,啊啊因为时间其实有点点晚,今天你们去了解这两个东西,然后我待会儿把这个语句我一个字给你们解释,写上这一条是什么意思,今天的内容就这样ok了,其实东西很少呀。
东西很少,你就想简直就想四条语句哦,五条语句吧,登删改查四条语句,再加上这一条查找这个表的一个语句,五条语句,你们今天就去理解这五条语句就ok了,嗯好今天的课程呢就暂时在这,然后我待会在qq群的话。
就给你们开始开一个直播,进行一个一些简单的一些东西的一些讲解啊,所以呢我就先下课了,我们qq群见,哇这个好像有点那个呀,嗯找一下,嗯各位同学,你们现在去qq群吧,这个这里我刚刚看错了哟,原来调整成杠杆。
P11:第9天:SQL注入漏洞-SQL注入简介与原理 - 网络安全就业推荐 - BV1Zu411s79i
给你们看一下这篇文章,还挺有意思的,看你吃的东西不能用啊,嗯腾讯课,咦,这里,找一个能转发的一个东西才行,嗯想一下啊,我都,过来,cat,这个,周末再去看吧,好像有点不太对,大概就是它是一个转发。
然后可以把这张图片替换成你们的一个自己,因为你们知道吗,访问xx那个指针探针就可以得到一个ip,然后我只要通过这个东西修改一下qq的xml,把这张图片替换成你的自己的一个地址。
就能获得别人的一个qq好友的一个电脑ip,然后通过ip啊,有一些什么ip定位啊啥的,一些东西就可以查到好友的一个大概位置,这篇文章嗯你们感兴趣的可以去看一下,我看了,我今天看了一下,感觉还挺有意思的。
看,啊c风,56嗯,还有四分钟,听会歌吧,不去爱才是浪费,做不对,没关系,你也不用给我机会,反正我还有一生可以浪费,我就是深深把一片编曲成多少我的优点,没关系,你也不用对我惭愧,也许我根本喜欢被你浪费。
就算我再去努力爱上谁,到头来也许白费,不如永远跟你耗来的快乐,对不对。
啊哈说抄网的话,可以给大家讲一下昨天的作业吗,现在还两分钟,简单讲一下昨天的一个作业,这里呢啊我昨天的gb t是已经89年了,可能他我忘了,简单的讲一下作业啊,因为他这一个昨天的一个课程作业是这样的。
昨天p p t的话也发给你们了,然后呢我后面还发了一个网址给你们,这里呢有一个mysql的一些基本的一些用法,挺麻烦的,然后我们就把作业做一下,他自己呢创建一个微博测试的一个测,数据库。
然后这里呢就是创建创建数据库,然后名字,微博测试看一下,可以看到这就创建了一个web测试数据库,然后呢我们进入这个微博测试,进入这个数据库,然后呢再创建一个表。
然后这个表的字段是admin password,user表,然后有一个命字段的,名字段的话给他当做一个字符,要看,然后一个password,给他一个印,他说的,嗯因为这个的原因吧,啊,有啥,这样。
诶他那个唯一属性是罗斯诺,是看一下,对不起,手贱了,cable对,然后我们看一下这个,说tabs它这里呢就一个u4 表,然后查询一下这个user,不用user,这里呢,因为我这里面是没有数据的。
所以他这里是admin和password是没有的,然后如果是添加数据的话,你毒死了死的命啊,我,好再来查一下,这样就完成了,然后这个课后作业啊有没完成的吗,或者哪里不会的。
待会呢我可以在群里面直接问一下,就是晚上我就把过程这个解发给你们,好然后开始今天的一个课程,就是昨天学完一个mask的一个基础,就开始讲一个sql注入的一个原理,其实我昨天已经给你们提过了。
这个柱的一个原理,接下来看一下,首先第一个是sql注入的一个基础,第二个是sql注入的一个利用,第三个是一个思路注入的一个实例,这个实例呢待会你们啊不要太急,知道吧。
下完课可能明天讲完之后会给你们一个实例,首先我们开始今天的一个课程,第一个什么是四个注入,在两三个柱子之前,大家可以看一下刺客猪肉,他从1998年开始嘛,就出现了,他这个收入的历史就是98年出现的。
它的一个根本原因就是因为把circle的代码插入,或者或者添加到应用用户的输入参数里面,进行攻击,然后再把这些参数传递给后台的思考服务,加以解析并执行,不知道昨天你们啊。
你们还记不记得我昨天讲的这个例子,我昨天讲的这个例子,昨天讲的一个例子是这样的,我这里呢有一个sql语句,然后我这里用户输入,这个是用户输入的一个参数,就是你输入值的一个位置。
然后他没有对这个进行一个过滤,那我把这个id变成一个嗯,昨天的一个联合查询语句代入到这个里面,这个sql语句就发生了一个变化,违背违背了它原本的意思,它的原理就是这样啊,其实很简单,你们就是用理解。
啊因为你就这样想吧,你之前的一个xss,是不是,就是我把系统把我用户的输入的值,当成了一个html的一个代码,所以呢就继续就发生了一个xxx,那我这个思路注入呢,是不是就是因为把我这个用户输入的值。
变成了一个sql语句,进行一个执行,那就会变为雷克斯的输入原理都是相通的呀,后面的漏洞也都是一样的,首先我们来看一个简单的一个拓扑图,就是我们在对一个网站进行一个查询的时候,昨天也是讲过了的。
这是我两个正常的用户,对我的网站进行一个查询,然后这里呢是我的一个黑客啊,也就是说比如说是我我对一个网站的一个查询,它中间呢就有一个过程,我客户端a对网站发起一个请求,网站上接到这个请求。
就把这个请求放到数据库里面去,然后数据库就会返回这个请求,我们来看一个具体的一个过程,首先啊从这里来听就比较简单啊,首先我要查看一个用户id为36的文章,对不对,就像我昨天的啊,我找一个文章好吧。
比如说百度文库,我百度文库呢我要查看这一篇文章,他这篇文章的一个id就是这个东西。
然后呢,我们来看是不是来看。
我要查看这个id为三顺的文章,是不是就要请求我的一个网站,发起一个这样的一个请求,查看36的文章,然后呢我这一个就得到了这个i d为36,然后就构造一个参数,查询这个文章里面id等于36的这个文章。
就是查询这个表里面的,这个id等于36的文章,然后呢,他接到这个,就对我们的一个数据库发起了一个请求,那我数据库接收到这一条思考的一个请求,是不是就会返回一个id为36的一个记录。
也就是我们刚刚在这里执行的一个user,然后vd等于a,他的命在这,啊引号add me等于它就返回一条这样的一个句子,数据库就返回了一个这样的一个结果,对不对,然后呢,数据库呢就把这个反查询到的结果。
返回给我们的一个网站,然后网站就把这一个结果进行一个编码处理,然后再返回给我们的客户端,然后呢就把这一个展示发给客户端,发发给一个用户,对不对,这里呢就是一个正常的一个逻辑。
正常的一个四风引擎的一个逻辑,这个啊明白的话,你们就扣个一好吧,这边还是好理解的,嗯有几位同学不理解吗,3456,嗯好ok,那这个呢我们的过程就它的一个返回的一个过,程,就是这样对吧。
还是回到我们的一个一定要记住自己的id,就是36,那我们来看代码,他是不是跟这个就很像,跟这个就很像了,然后我自己的id没有进行一个过滤,那我在这个id的这个地方进行啊。
输入一条我们第一节课学的一个sql语句,就是联合查询语句,然后呢这个sl语句就会发生一个变化,那就会执行我们一个自己想要的结果,自己构造的一个结果,它有一个设置注入的产生过程,就是这样的。
有没有对三个注入产生的过程不懂的,我觉得应该很简单了,不懂的你就扣个二出来呀,懂的你们就别管了,等十秒钟,呃你是懂了,扣一是懂吗,那我们的一个四个注释产生的一个过程,就是因为我这个输入的这个地方。
它没有进行一个过滤,那我们怎么进行一个利用呢,对不对,或者我这个搜狗输入有什么用呢,首先我们来看一下sql注入的一个危害,这个注入呢常见的就是获取一个敏感数据啊,我们最常用的是获取一个敏感数据。
然后当它权限购的时候,可以对文件系统,然后对注册表这些进行一个铁路,但是一定要记住啊,一定要记住一个点,大部分是获取一个敏感数据,在文件系统操作跟注册表操作,这些都是有条件的,我后面会告诉你们。
我们反正现在的目标就是获取敏感的一个数据,这个执行命令的话嗯要求也很高,到时候后面会跟你们说,嗯好,我们首先来看它一个四个注入的一个过程,就是我刚刚啊刚刚跟你们讲的一个过程,就是我这个数据的这个参数。
改成我们的一个sql语句,然后呢,这个服务端就把我这个sql语句,代入到数据库引擎里面,然后这个数据库,因为数据库它只会接受这个sl mini嘛,我不管你是谁,反正我只会接受这个四个命令,然后执行。
然后就把这个结果返回给服务端,然后服务端再回到客户端,都是很简单的一个过程,就是跟我前面讲的流程完全是一模一样的,那重点是,我们怎么来实现这一个sql注入的过程呢,对不对,首先我们来看。
sql注入的一个方式,set注入,首先通过一个注入的一个方式,分为了get注入,post,注入cookie注入,我们先来看它的分类,它这一类是什么意思呢,我们打开我们的一个bp,bp呢我们首先来看一下。
就是类似这种,这种我直接请求,我这种直接请求,看到没有,他这一个请求的参数,在这个文图这个地方,它就是一个get请求,再给你们讲一次,tm的,还有烈士都讲过的吧。
然后他post请求呢就是它的这个用和田来演示吧。
就比如说我们登录的时候,登录的时候,你可以看我们这个页面是没有发生变化的,但是他这里呢又发起了一个,账号密码的一个请求,它就叫post请求,get和post请求的一个变化。
就是唯一变化就是get的一个请求参数,在这个位置,pos在这个底下,然后cookie呢同样的很简单,就是之前给你们讲过字段吗,ht html的一个文件头,他那个注入产生在这个cookie这个位置。
就叫cookie注入,然后还有一个叫head投注,有个叫head的投注,他害者投注呢就是出现在我这一个啊,这个害者头里面的任意一个字段,其实他就分类很简单,你们不用管那么多,他就是出现在哪个点。
它就叫什么注入,出现在哪个位置,然后注入的方式呢就会有一个回血注入盲注,二次注入,报错注入堆叠注入宽字节注一大堆一个东西啊,这里呢啊你们也首先了解有这个东西,我后面会一个一个给你们进行一个解释。
就是他这个是什么意思或者怎么操作,后面的课程都会讲,我们接下来看我们学sql注入的一个目标,是不是为了找到他的注入,对不对,然后我们来看一下它的一个原理,首先我们来把sql注入的原理再来看一遍啊。
sql注入的一个原理,就是因为我们的这个id他没有进行一个过滤,然后就把这个sc语句传到数据库里面了,进行一个执行,对不对,然后我们在啊玩这个数据库的时候,是不是发现一些问题啊。
就是我这一个数据库语句稍微有一点问题,他都会给你报错,对不对,就是我稍微有一点写错的地方,比如说我这里少一个东西,稍微有一点点写作的地方,这个sl语句,那我数据库都会报错,对不对。
然后你想一下我这个数据库报错之后,那他会不会同样的呢,同样的会把这个报错的一个形式。
返回给我们的一个客户端呢,以这个为例,比如说我随便输入一个单引号诶,他报错了,那就是不是说明我这个单引号,代入到我这个sl语句里面去了,因为我只有带入到我sl语句里面,他才会报错。
然后就导致了他这个sql语句不完整,然后数据库报错,这一步有没有不懂的不懂的,现在马上敲这一步,一定要让你们理解,懂得扣个一,不懂的,扣个二好吧,还是,嗯好啊,你们之前应该也是有进行一个预习的。
也就是说我这个单引号,肯定是带到我这个sql语句里面去了,那就说明这个位置有错,有四个注入,对不对,所以我输入单引号让他报错。
是不是就是一个检测四个注入的一个办法,对不对,给你们看哪个类型这个网站呢啊不是靶场啊,是啊,某一个比较隐蔽,某一个特殊的一个站,你可以看我输入单引号报错。
然后或者我输入一个反斜杠,因为反斜杠有一个转移的意思吗,就是让我这个符号失效,他也报错,那是不是,然后我再输一个诶,他没有报错了,再加一个他又报错了,这里是不是就可以肯定。
我这里有一个sl注入了,所以呢我们在测试和柱子的时候,最简单的办法就是我这里有一个参数啊,比如说我随便找一个位置啊,随便找一个地方,随便打开一个网站吧,随便搜搜什么呢,上城对吧,随便搜个商城。
啊然后我这里呢就有一个抓包,沙发的志玲啊,抓到的这里呢就会有一个就是我们点一个嘛,随便点一个点一个几桶油,看一下请求,再点击随便点一下啊,加入购物车,获取广告成功没有upload。
就例如这里呢我如果我输入一个单引号,看他会不会报错,看到没有,它这里有防火墙啊,它这里有防火墙,卧槽,我以我以为有四个注入了,我以为直接就这样注入了,没这么巧吧对吧。
就是如果我输入这个单引号,他这里呢报了一个错误。
类似这样的,那我就可以肯定他有一个设置注入,所以我们在检测的时候呢,最简单的办法就是我遇到每一个点,我都去进行一个,我就随便加一个单引号进行一个判断,每一个请求我都去判断一下,手工注入就是这么麻烦。
好然后我们继续看啊,就还是以这个为例啊,我找到了这个四个注入之后怎么办呢,怎么办,然后还有一个判断的一个例子啊,这里是真实存在的一个网站给你们看,我首先第一个这是一个有回血的嘛,你这里报了一个四个注入。
它发生错误,这一点大家都知道,那我遇到盲注的时候怎么办呢,就是大家看我这个输入呀,我这里啊是一条正常的查询语句,对不对,我在这个地方加一个单引号,你有没有发现它这里发生了一个变化,那我再加一个单引号。
有没有发现诶跟这条一模一样,那这里是不是就可以说明一个问题,我加一个单引号,他报错了,然后我再加第二个单引号,他把sl语句进行了一个闭合,然后他就回想正确,那它是不是也是存在一个sl注入漏洞。
这一步有没有不懂的不懂的,马上扣个二,懂的话,你继续扣个一啊,你们这居然全都懂了,那就好办了,那我们作为一个啊叫什么,作为一个刚入门的黑客,找到漏洞还是要会利用的,对不对,首先这里呢啊还是给大家看一下。
就是它注入的一个位置,最多的其实就是一个参数值的一个位置,参数名位置啊,啊就比如这些我是我是很少遇到呀,我遇到的更多的都是这个值的位置,试一下啊,没有什么用,诶他们这个就有意思了,你看到没有。
他们这个输入单引号,它这里会进行一个拦截,但是我输入两个单引号,他也不能接,输入三个单引号,它也不能接,他们这个写的有问题啊,那我们哪些地方会存在输入呢,就是参数名,cookie,目录名,文件名。
一切都有可能吧,主要是看他那个程序怎么写,但是我们是一个黑盒测试啊,黑盒的话我觉得要大家要讲究一个效率,就很简单,我就看到一个包,我就去加个单引号测一下,有中路就有中路,没注意就算了,没注意就立马过。
这个包我就不看了,然后那我们正常来说怎么去获取一个注入呢,主要有两个方式,第一个就是自动化,用工具自动化范围广,效率高,但是呢它误报还有测试方法都很有限,第二个呢就是手工测试。
它的一个优点就是测试方法灵活,缺点就是效率低,范围窄,然后根据水平而已,我给你们的建议呢就是嗯手工测试比较靠谱吧,然后哦不对,测s r c手工注入比较靠谱,但是跑普通的这种战啊,比如说嗯你们某个学校呀。
或者什么东西的a w vs会给你们机体,就跟你们说,当然啊你必须要在有授权的一个基础下,才能进行一个渗透测试,不要搞事情,然后我们就来看一下,我如何去找到一个注入呢,啊我记得有给你们有一个那个叫四。
你们来打开这个地址,发群里面了,打开这个地址,这里呢就有一个注的一个网站,当然这是一个练习网站了,我们做一个简单的一个判断了,就像我刚刚教你的,如何手段进行手动进行一个判断,比如说我输一个单引号,报错。
我是个双引号哦,他这里是因为没有这个单引号的,所以不需要闭合,他这直接报错了,反正你记住书单以后或者其他的一个字符。
它如果出现了这一条四个注入就是sl错误。
什么东西,什么东西它就百分之百存在一个适合度,记住是百分之百,百分之百是那个守住,那我们如何进行一个测试呢,待会儿讲还是啊还是同样的,先看一下这一个漏洞依据,刚刚我也给你们讲了呀。
他首先依据就是看你这个结果,有没有成功被数据库引擎执行,因为我们知道吗,只有sl语句它不完整的时候才会报错,那我一个正常的一个微博程序,pad sl语句肯定是经过很多次测试的,百分之百是对的。
只有在我只有在我这一个用户输入的这一个,输入的这个参数的值,被这拼接到了这个sql语句里面,并且生效了,然后是那个sql数据库他才会报错,所以说我这个构造测试语句,就是我们刚刚的单引号提交请求。
然后分析一下他这个返回的结果,如果符合预期的,就是实在是个输入,符合我们这一个报错,那就是一个这个注入,还是同样的今天一个重点,那我怎么进行一个利用呢,就是一个整个的一个流程,大家来看啊。
首先第一个用单引号报错,有注入,这个是刚刚看到的,第二个就是运用一些逻辑语句,and一等于一或者and一等于二,and一等于一是什么意思呢,我们在这里来看还是同样的这一个我们and好。
我们首先查询一下id等于一,他这里呢是不是出了一串数值,我们and一等于一加个13%,可以看它这里and一等于一,是不是没有一个变化,然后我们and一等于二呢,诶他是不是这里就没有出现一个数值了。
这里是为什么,有人知道吗,有人知道的话,在上面啊,挑一下对了的,我给稍微给点福利,到时候,为什么对and一等于一and一等于二,就是因为1=2是错误的,对1=2是错误的,那你想一下。
还记得我第一节课给你们讲的吗,and它是真啊,真and真,他还是返返回真,一甲机甲没错,待会上完课给你们,稍微给你们一点点福利,所以呢这里呢就是不是肯定可以说明,我这里有一个and一等于二,他被执行了。
反正呢就是要在数据库里面执行,这一个逻辑语句。
它才会有这样的一个结果,对不对,要在数据库逻辑语句里面,然后类似这种and的啊,饮酒啊,什么什么东西相乘啊,这种都是为了绕waf啊,就是不常见的好,我们判断了一个输入之后。
还是用这个suki level来进行一个算算,我们首先判断了一个错误之后啊。
我们是不是要进行一个闭合,你们在学xs的时候是不是学过。
就是我要先闭合前面那个标签,我后面的xss语句,它才可以进行一个执行,对不对,那我是个注入,同样的,我要先对前面的一个语句进行一个闭合,我们来看这个语句是什么样子的。
我这个语句我这个id是不是前面有一个单引号,那我这里呢是不是要加一个单引号,跟前面的进行一个闭合,然后我在goodbye,三加一个23%,就是我们的一个井号,我们来组合一下,那他的这个语句。
是不是就变成了一个这样的一个语句,我们传到这个程序里面,它程序就变成了一个这样的一个语句对吧,那它就会执行前面这个id等于一,然后后面就old by 3,这里呢是一个还记得跟你们讲吧。
我就是跟你们说这一个省略的一个朱式服,一定要知道这个注释符的意思,就是后面这条语句都没有用了,后面这条语句直接就消失了,没有用,那他是不是就变成了一个这样的一个语句,goodby 3,嗯等一下啊。
这里因为有个处理的一个过程,得用百分号,那他是不是就成了这样oby 3,那我然后我by 4,是不是就后面变成了一个,因为他只有三列嘛,我昨天给大家讲过,old by是查他当前的这个表有几列。
它这里有三列,然后就进行了一个报错,然后呢我们再查询你一个表,就是我要查询我这个当前的这个表,当前这个数据库的这个表是什么样子的,首先我们来看之前说过,这个despss是一个表的一个名字,还是同样的呀。
这里我给大家看一下oby 3,你先记住流程,oby 3,正确by 4错误,然后呢你就在这个地方输入联合查询语句,123,输入联合查询语句123,嗯前面要用个-1啊,为什么要用-1呢。
首先我给大家解释一下,这里必须要给你们解释啊,首先你要知道我如果是执行一个id等于一,然后加上一个联合查询的u n i n123 ,那它是不是会有两个结果,啊我还是用我的那个,ncs给大家看一下。
它这里面是u s表进行一个查询,好我们,我们进行一个查询啊啊按照它的一个语句,服装id等于,然后un i n等级一,然后后面一个井号再带上这一块,最后的句子是不是就是这样子的,我们运行一下。
而是不是可以发现这里呢有两行数据啊,就是他查询了两行数据,对不对,但是为什么我这里只显示这个d,前面这一行只显示这个数据呢,那是因为我这里写的就是echo一个roll。usn,它只能显示一行,懂吗。
就是我这个web程序的显示位只有一行,那我查询了两个数据,我也只会把最前面的这一行显示给大家,那我查询一个id等于-1呢。
因为我-1不存在,所以呢我这里呢就是变成了id 123,那我这里加个-1 z呢,就变成了id 2,id 3,自己能理解吧,能理解的话,继续扣个一,马云要考试,嘿嘿溜了溜了。
他就是因为vivo的这个显示位只能显示一位,嗯好,如果还有不理解的,你们可以在qq群问我,或者在群里面进行,大家进行一个讨论,进行一个讨论,这里呢就是二跟三,那我们尝试一下,把这个二变成一个。
就是查询我们的一个数据库的一个名字,那他这里呢是不是就会显示这个数据库的名字,然后我这里的二,我在这里把二改成,这里没,那我自己是不是数据库的名字就这样出来了,对不对。
所以呢它是个输入的一个简单的一个过程,就这样,那我们再来查它的一个表,啊我们直接call吧,懒得敲了,虽然我给大家来解释一下这个句子,嗯还是在这里来进行一个执行,大家看一下这个句子啊。
为什么我这里要用这一个,你有一个错误,诶他不能跳出去吗,run user啊,这里少了一个联合查询,我们首先来看一下啊,我们首先来看一下这个句子呢,在这里面执行是什么意思啊。
然后还有一个这个group combat有什么用,我们首先来看group contest呢,他就会把我这个tb的这个表的名字,全部给他列出来,我把它去掉试一下啊,我把它去掉,我把它去掉。
它这里是不是就变为了一个四行,对不对,就是我不加这一个rob concrete,它就是变为了四行,我刚刚给大家讲了。
他这个微博的显示位只有一行,所以呢我这里呢不加,我只能查到他的一个表,我只能查到他的第一个表就是email这个表,那我加一个gram contact,你们来看一下它的一个查询语句。
他就会把所有的表都进行一个输出,所以呢他的第二步就是查我们的一个表,因为我们开始数据库已经查了。
然后数据库查完就是查表,然后呢你看你觉得哪一个表啊。
有比较有可能性啊,就是有敏感信息,肯定就是我们的一个user表,对不对,那我们接下来就是查这个user表里面的一个列。
好,我们来看一下这个语句,查询这一个列的这个名字,在昨天,昨天我让你们理解的这个mask的一个大表,然后while这个tab on等于这个user,就是查这个user这个表里面的一个列,我们看一下。
那他是不是这里就把我们的一个列,它给查出来了,因为这个类比较嗯,那个呀还是同样的给你们在这上面看,就是这个结果,这个列,我们通过这个cut看一下我们的一个优势表,预测表你可以看它有数据的,其实就这几条。
但是呢我们的一个列啊,我们查一下它等于,一个呀,id username password。
诶他这个怎么啊。
有这么多东西啊,他这个列,正常来说不就啊,这是他嗯。
他只有三个列啊,那为什么我这里查出这么多东西呢。
有点奇怪啊。
啊反正到时候先略过,待会儿我再看一下,这里呢我们肯定要看的就是这里两个东西。
第一个,看一下源码id password,这点就是usman跟password,话说他这一个列的东西有点多呀。
我都感觉我是不是哪个地方查错了吗,哦我想起来了,想起来了想起来了,等一下啊,因为我有很多叫user表的这个东西,就是我的数据库里面不只有这一个user的一个表,达,我的数据库可能跟你们不太一样。
我有很多很多的一个数据库,不是不是这个表,而是我我电脑里面有很多的这个数据库,懂吗,因为我这是一张大表,大家懂吧,这是一张大表,然后我那张大表里面呢有很多叫usas的一张表。
就是我其他数据库里面也有一张相同的名字。
然后他就查询出了这么多的一个东西啊。
我们用这个的话就简单明了嘛,我那一个我买个东西太多了。
比较尴尬,-1,然后用这个在线的,你可以看这里呢就是id username password,我才相信我,数据库里面奇奇怪怪的东西太多了呀,啊你可能可能看我这里呢。
你们也会有一个usx的一个表或者哪里去了呀,反正就因为我的库里面东西比较多呀,正常来说你们看到的应该是id username password,然后后面就更好查了呀,正好查了。
那我是不是就查一下我这个值就可以了。
就是uc name password的这个值不是uc。
然后就可以查到我这一个,查到我这个表的一个信息,然后我这个预测表里面的一个账号密码。
是不是就查出来了,那你如如果你想一下我这些个正常的一个网站,正常的一个用户登录网站,那我把他user里面的一个表给他查出来了,例如这是一个admin用户啊,然后我就admin admin直接登进去。
那是不是就成了他这个网站的管理员了,假如啊这是假如,那我如果成为了一个,加个tab设置对,我查了其他数据库的一个表,啊我看一下啊,对然后再加一个条件就可以了,就是我再加一个条件啊。
我再加一个条件,就是我这一个叫什么去了啊,再加一个那个,再加一个那个叫什么来着哦,再加一个那个数据库,数据库等于当前的这个debus。
那我就可以进行一个查询了,待会儿给你们看一下,那么这样的话一整套的一个流程他就走下来了,我们再来回顾一下,首先第一个判断一个sl注入点,然后第二个就是判断它的一个字符还是数字,其实就是进行一个闭合。
把我这个4k语句进行一个闭合,第三步开始就是正式的一个查询,order by把它的列数报出来,然后用debu把他的一个数据库名字给报出来,然后第五个就是把它的一个表的名字给报出来,用这个东西查询。
第五个呢就是进行一个爆裂啊,它这个的话,看一下啊,不要太不,主要是你那里面东西太多了。
vr vr好像是可以加两个贝尔吧。
看一下啊,and嘛。
ok你看我加了一个条件,这样的一个当前数据库的一个条件,我如果过多了,那我就再加一个条件嘛,我多加几个条件进行一个判断就可以了,这个能理解吗。
能理解的话,你扣个一待会儿啊,我们再用这个东西进行一个演示,你就假如说假设这是一个网站,这是一个网站,然后呢这是一个靶场,就是我们的一个网站,让我输入一个账号好,他报错了。
那我知道他这里有个四个四个注入,然后其实你可以看了,就是我不看这条sl语句啊,你可以看到这个思考错误里面,它会返回你这一个错误的地方,就是它会返回你这个位置,你哪个地方错了,就例如这里我多了一个单引号。
那你有没有发现他这个错误,就是我这个单引号没有进行一个闭合,因为这边多了一个单引号吗,这边没有一个闭合的,对不对,我再加一个诶,这边三个单引号,这边还是没有闭合的,那我是不是就不要打引号。
你从这个语句里面就能看出来,那我知道注入之后好,我这个不需要闭合,然后我就good bye,三,o by 3没有报错,goodby 4,他报错了,然后我这个地方是不是就输入我们的联合查询,123。
这里呢跟你们说了,就是一个显示位的一个问题,我加个-1,这里呢就变成了二跟三,然后呢我就开始进行一个查询,它的一个库名叫什么名字,正常来说我都不需要查呀,因为这个debu这个可以代替它的一个数据库明。
他这个可以代替它的一个数据库,没有可以看到我们的这个数据库里呢就叫和田,然后呢我们又开始进行一个查询,查完数据库呢,是不是就要开始查表了,对不对,查表就是,50呢直接哭吧。
发表呢你可以看就是我们的一个tnt,然后呢就去这个information这个代表里面进行一个查,这个百分之30 23%,就是你们记住这个23%或者景点空格,这个一定要有一个习惯性的一个动作。
就是我一定要带上注释符,不管它有没有一个,后面有没有语句,然后百分之20 300分之二十三,其实就是井号呀,一定要有一个习惯,就是我自己给他带上去,报完表嘛就还是爆裂,跟刚刚的一样,昨天的语句还记得吧。
如果昨天语句不记得,你们就啊反正就练把这三个语句给记好,你如果会了这三个语句,你sql注入,后面我讲的所有的sql注入都是围绕这几个语句,都是围绕这三个语句来的,也就是说sl注入,如果你理解这三个语句。
我就可以把所有的sc注一个原理啊,包括其他的我都给你们讲通,全部都能理解,待会儿课后作业,我会给你们布置,就是啊你记住是什么样的一个理解啊,就是包括我每一条每一条语句。
它比如说我这个group come cat是干嘛用的,我这个负重是干嘛用的,然后我这一个为什么要这样做,如果你能理解的话,整个四个柱子都通了,戴耳朵后面给你们看。
所以呢我们的一个社会注入过程就是这样判断,然后闭合爆裂,报库名报表明报列名报纸,跟我们数据库的那个表的结构是一样的,我是数据库,然后数据库底下有表,表底下有列,列底下有数值,所以说它的一个原理就是这样。
还有一个利用过程,再总结一下数据库的一个四个注入原理,就是因为把我们这个代入的位置,就是程序没有写得好,把我们的一个查询语句直接变成了sl语句,进行一个执行,然后过程就是这样好。
今天的课程呢啊就是到这了,待会下课我会把这个ppt发给你们,然后会给你们一点实力吧,实力给你们做,然后今天哪个课后作业,就是把我的这个,把这个网站的四个注入给我做出来,照着我pp上面的步骤做就ok了。
然后理解每一步是什么意思,大家记得交文档,也班主任好,今天课程就到这儿,待会儿下完播。
P12:第10天:SQL注入漏洞-联合查询注入 - 网络安全就业推荐 - BV1Zu411s79i
之前没有啊,别人没发现,之前嘛,基本上可以把所有的一个杀软全部都过了,可以给你们看一下最近的这个病毒的一个小写。
可以看,火龙有了之后,显性,最近也是比较火的呀,而且好像就是嗯就是国内的人写的,你看到没有,这里是一个伪装,他是个什么激活工具,所以你们在这些什么鬼啊,下载站上面下东西的时候也得小心一点啊。
kms激活工具,系统重装了360qq防护都不执行后续代码,还是挺有意思的,嗯还有三分钟,还有三分钟切换到今天的那个题目,讲一下吧,昨天有个客户作业,首先的一个课后作业,哎呀就是这个其实他昨天这个qj啊。
你可以看,跟我今天要讲的前面这一段基本上是一样的,是我把你们昨天做的,基本上把这一块已经讲完了,别看,但是为什么我还要讲呢,就是我要把这一个,把里面的这个跟后面的一个报错注入呀,包括盲注呀。
宽字节注入这一块全部都给你们串起来,这个哦,因为我还没有看你们那个作业的提交情况啊,班主任那里应该基本上是差不多的,这里有要解要讲的吗,这个作业还是讲一下吧,虽然讲了很多遍了。
这个课后作业就这里报错报啊报错,然后呢在这个地方进行一个闭合,他这四个语句都可以看到了呀,发现嗯这里根本就不需要进行一个闭合,然后呢就开始进行一个列的一个,进行一个列的一个,发现只有三列goodbye。
待会在讲课程的时候。
我直接跟你们讲吧,好吧,为什么我特别要强调这一个思路呢,就是你知道联合查询,联合查询的一个注入,后面的注入都很容易理解了,还有一分钟,稍微等一下,好开始今天的一个课程讲解。
今天呢要给大家讲的是一个sql的联合查询,跟一个报错注入,我们来看一下,今天的一个内容啊,今天其实我在后面呢还加了一个宽字节注入,因为我觉得嗯你们昨天弄了这个联合查询之后,联合查询语句之后嗯。
后面的报错注入呀,还有一个宽字节注入,都可以很快的给理解,所以我就今天加了一点内容,我们来看一下cl的一个联合查询是什么样子的,呃还是同样的,昨天也是提过了这个呢,circle是如何产生的。
就是从这个sql的一个代码来看,昨天都给你们详细的讲过了,就是因为我们的这个id参数,它没有一个很好的很好的进行一个,叫什么,就这个地方没有过滤吧,就是过滤不严格,然后导致这个传入的一个参数。
就直接变成了一个sql语句进行一个查询,这一点大家一定要记住,就是万变不离其宗,你所有的注入都是一样的一个原理,包括所有的漏洞懂吗,就这样就这样跟你们说,所有的漏洞,都是因为他这一个输入点过滤的不完整。
或者就是没有考虑的,那么就是没有考虑的那么周全吧,所以他就会有一个漏洞的存在,好我们继续来看一下这一关呢,其实跟你们呃昨天的那个课后作业,是一模一样的呀,所以呢联合查询语句的是什么,联合差序语句。
啊我们还是先看这个内容吧行吗,还是你永远都记住这几个步骤就可以了,第一个就是先加一个单引号,判断有没有一个报错,然后再加一个单引号,看到没有,再新加一个单引号,它会不会报错。
然后再加一个单引号,它又正确,这就说明肯定会有一个合注入,然后呢第二个就是would by,进行一个列的一个爆裂,ob 3 odby 4正确,就是证明它只要三列,这个呢也是前面两节课都讲过了的。
我就不会这么详细的,给大家进行一个一一的解释了,上两节课应该讲的很详细了吧,这个,然后呢第三步就是我们刚刚是old by成了三嘛,所以就是这一条就是联合查询懂这个ui,再加一个li,就是一个联合查询。
也就是说联合查询语句,就是你可以使用这一条语句,可以使用这一条语句,它就叫联合查询,没有啊,没有什么一个特别多的一个含义啊,啊然后呢,这里呢是给你们解释一个微博的一个显示位的,一个原因,昨天也讲了。
就是微博呢它这里一个echo,它显示呢只会解释这个第二列和第三列,看到没有,就是那password,因为它这里对应的是就是那password,就是对应的这个mysql里面的一个值。
所以它这里显示的就是二跟三,全部是看他的一个代码怎么写的啊,到这一步有没有不理解的呀,就是你们不懂的,不懂的话,你就扣个二好吧,不懂的话扣个二,等你们啊一个十秒钟的时间,好应该基本都懂了。
我觉得我昨天那节课讲的,讲的应该是比较的一个详细了呀,这里呢就是你们昨昨天的家庭作业啊,就是课后作业,大家应该自己都做过了,这里呢还是同样的,你们一定要记住呀,这条句子一个意思,这几条句子的意思啊。
如果你就是对这个社会注入的一个流程,里面的一个语句,等一个意思不明白的,你们就扣个一出来,我就再我再仔细的给你们讲一遍,一定要你们一定要把这几条语句给他搞懂,有没有不会的,就是啊你觉得觉得我不用讲了。
你就扣个一,要讲的你就扣个二,其他同学,其他同学啊要需要啊,需要重新讲一遍吗,虽然你们四个扣的啊,行有疑问你你先给我提出来,就是你哪个地方有疑问,哪个位置,对啊马上四个啊,我继续再快速的过一遍,好吧。
就是因为有一个同学有疑问,我就再快速的过一遍,你们也稍微加深一下印象,啊我首先要问啊,首先要问的是,你是对判断是否都住不理解呢,哦你是说这个despss换成一个爆出来的库明,对不对。
好这里呢是因为我这个debu,跟这一个数据库的这个名字是一样的,你懂吧,跟数据库的名字是一样的,就是mysql的这个里面,我这个device是可以代替这一个,它的这个本身的一个库的,就是你填两个都可以。
你两个都可以用,懂吧,就是我如果填这一个debus这个代替的,我就不需要加一个双引号,我给你们看一下啊,我给你们看一下嗯,还是用这个给你们讲好吧,好你看你看我这一个的查询结果。
我这条语句在这个地方加这个debus的一个语句,是一个这样的一个结果,对不对,诶,它的一个库名是多少,去了,这里我先看一下它的一个库名啊,他的顾名是和田nel,对不对,那我们把这个地方改为httl。
就是我这里一个单引号核心,是不是得到了一个查询结果是一样的,就是因为despace,就是等于跟当前的数据库是相等的,好吧就是它跟当前的数据库名是一样的,所以你这个嗯这个应该就不用说了。
这里我只是看你的个人习惯吧,我个人习惯使用,这样就你不要跟着我老师的一个思路,就是卡死在这啊,就是你自己要有自己的一个想法,还没有不理解了这位同学,好其他同学也可以说啊,就是不知道的也没事啊。
这个是很正常的,我当时我自己学这个注入,我自学我也学了挺久的,当时我们当时那个呃网上的一个教程,他们是一个思考过程,就是给他给你们有一个星期的,一个厕所的一个课程,一个星期吧,整整一个星期。
我是因为把我的一个理解给你们讲了,所以我这个课程会过的比较少,就是不像他们那样一整个星期,整个星期这实际是个猪肉的话,要学的东西有很多,因为他有一整本书,你们如果读大学的。
知道有一本就是你们那个tcp ip还是什么事,就是有一大本书,一一本砖头书特别厚的,刺客注入,专门讲这个注入的,也有一本这么大的一本书,想要深入的理解,可以去看啊,然后我们再来看一下,就是你们要记住啊。
这三个这三个函数是需要你们稍微记住了,这三个是需要你们自己记住的一个,首先我们看一下一个语法,contact,他这里呢就是一个username password,就是一个查询码,查询user里面的。
但是呢我这里加了一个逗号,你们可以看到它的一个查询结果,这里呢就边上有个逗号,然后contact at w的话也跟这个是基本上是一样的,你可以看一下,只不过呢它的一个用法呢,就是它这个前面的这个符号。
在这个前面把多个字符串连成一个字符串,但是可以一次性的指定这个分隔符,然后这一个group cocat你们应该也用的比较多了,就是把所有的数据都连成啊,就是都连成一个值班。
就是我把这个分组里面的值全部都给它连起来,这个是需要记住的呀,就是没有什么其他的一点,就是你们要记住,然后我们在这里进行一个跳过这里的查看表,里面的列,查看列里面的内容,这些都应该是都会了。
然后就来到今天的一个重点了,本来我是想今天讲smart的,但是后来把课程推了一下吧,就是先把报错注入跟快速结束,给你们讲完,明天的话就教你们一个sucup,首先我们来看一下什么叫爆头注入。
报错注入呢就是通过特殊函数的错误使用,并且使其输出错误结果来获得一个信息的,遇到有报错回写的时候,但是没有数据回显的时候,可以利用这一关是什么意思呢,就是什么时候要用到报错注入呢,啊我举个例子啊。
我举个例子。
这里好像就有一个爆头注入吧,我给你们举一个例子。
这个布尔盲注是,哦这里没有保守住,我看一下啊,而是用我本地的一个环境来给你们看一下吧,他这里面没有报错注入,但是报错注入是什么意思,就是例如我们在判断数据库啊,在判断一个叫什么东西啊。
在判断这个中路的时候,我们输入一个单引号,它是不是会输出这一串错误,对不对,就是这里有一串报错的一个信息,嗯我看看片视频study,真实场景的话啊,我待会下完课,我给你们看一个真实场景啊。
就是把那个地址发给你们,给你们看一个真实场景,好首先我们来看一个,哦我只开了bp的,应该是第五关吧,3d901 好,就是这样啊,你比如说你看这个关卡啊,就是比如说我输入id等于一,是没有一个输出的。
对不对,然后我输入一个,单引号,然后呢,他这里就发生了一个报错,但是我继续,如果我比如说我像第一关一样,我像第一关一样进行一个,比如说这里一个un就是进行一个联合查询,是不是可以看到他这里呢是没有一个。
它这里呢是没有一个回血的,对不对,所以说呢在这种没有回血,我们进行联合查询,没有回血,但是呢我这里又有报错的情况下,我又有报错信息的输出,报错信息输出的一个情况下,那就是一个那就是可以执行一个暴徒注入。
它的一个重点就在这里,为什么要分报错注入,跟你一个普通的注入呢,为什么不直接用盲注呢,因为就是一个,四个注入的一个快速吧,就待会给你们讲盲注,就知道你要记住盲注是非常非常慢的一种注入。
就是不像我们随便输几条语句,查询就可以出来了,是非常大的一个,然后报错注入呢有很多的一个函数,主要是讲这两个,就是大概有十几个函数,十几个都可以用,但是我们常用的还是这两个,通过参谋文档的一个信息。
它这个原理呢,就是当它的一个参数不正确的时候,它产生错误就会返回一个参数的一个信息,然后你要想这个参数呢是我们可以自己设置的,那我把这个参数设为一个查询语句,比如说是查询数据库的一个名字,那这个参数。
然后构造的时候,把这个参数的格式改为一个不正确的,然后产生错误,就会返回这个数据库查询的一个语句,这两个,然后你们想了解更多的,我这里呢列了一个报错注入的一个速查表,也就是很多种吧。
很多种高度数的一个速查表,我待会下课呢会把p p t发给你们,你们根据这个表去进行一个查询就可以了,今天就开始一个正式的一个课程,报错注入的一个利用,你们要记住这两个函数呢,它的一个试用版本是5。1。
5以上,然后呢,它的一个错误用法就是在这个前后添加一个,这个叫什么号去了,这个叫波浪了,唉忘记叫什么了,我们来看一下,我们来看一下它的一个语法语法治理,你可以暂时就先省略掉,它主要报错呢。
就是通过这个第二个函数进行一个报错,你看这里这个po的,对哈哈,我也不知道,反正就是过了啊,然后我给大家看一下,就是你们要知道一点点的一个编码知识,这个0x71 。
他这个0x7 就是这个波浪号的一个编码,你看它的一个hex编码,就是这个波浪号,我们把这一个就是添加试啊。
试一下好吧,就是看一下效果,它有什么用,呃可能查user的话,你们可能不太清楚,看一下效果,从这里是不是可以看出来,我这一个查询语句它生效了,因为他把这个数据库的一个名字给报出来了,那我就给你们开始讲。
为什么会把这个数据库的一个名字给报出来。
嗯首先第一个你要看它的一个参数,我前面的一个解释,就是在对xm xml文档进行一个查询的一个函数,当参数的格式不正确的时候,还产生一个错误,就会返回参数的一个信息,那它的参数是哪一个呢。
参数呢它这个参数就是这个xp,还有,那这里的我们看一下我们的格式,这个xml这里是一,然后这个new这里又是一个一,那我是一个xp,是不是就是我是一个contact at 0 x71 。
然后还有一个set user 0 x7 ,对不对,那我的参数就是这个,那在报错的时候就会把我这一个参数给它返回,那我们具体应该怎么操作呢,这个呢语法也是一模一样的呀,你们先记住这两个参数。
就是这两个用法,我接下来给大家看一个效果,这个你们不要背啊,就是不要死记硬背,你反正就觉得就是我在这个地方执行操作,它可以进行一个返回,也就是说我只要我只要这整个语句,我只要在这个地方修改就可以了。
然后我们看一下后面的语句啊,首先嗯这里的测试报错的话,先给大家看一下它的一个爆库的一个名字,这里的desps的话,这里我是写的比较简便啊,所以直接写了个debus,它也是可以爆出来的,因为我之前说过嘛。
这个debus跟我们的一个数据库名是相等的,对不对,然后他报错,就把这一个数据库的一个值给显示出来了,我们接下来重点了,是看它报表的一个po的来看一下啊,这是你们首先这里是一个and。
然后是我们刚刚的这一个xml的一个函数,对不对,然后这里一个一就是刚刚的一个参数,然后这个contact一直到这里一个大啊,一直到这个地方一个大括号完结,到这里就是我们的第二个参数。
因为两个用法是不一样的呀,你可以看到嗯。
你可以看这个参数,他这里只有两个,只有两个参数,前面这个up有三个参数,这里只有两个参数。
好我们一条语句一条语句子来分析,首先这里呢是一个一,然后这里呢contact这里连x7 ,就是我们的这个啊波浪波浪线吧,应该是叫波浪线,然后这里应该是t就是一个波浪线。
那中间这一条语句大家是不是觉得很熟悉啊,是不是我们的那一个联合查询语句,里面的查询表明的一条语句,this group content,table name from。
这一条是不是就是我们查询表明的一个语句,然后呢,他就利用这个报错,把这一条语句,进行了一个执行,然后返回到这一步啊,不理解的,你扣个二,理解的,扣个一,嗯就你一个理解的吗。
啊为什么xml报错代入到sql语句里面,进行了一个查询,呃首先你要首先我们理解这样的,首先这这样的一个理解啊,啊我们这一个整条句子,我们这整条语句是不是会代入到这个,是不是会代入到我们的数据库里面。
进行一个执行,对不对,那我是个数据库语句,它执行的话,就是他会先执行我们的这一条,这样的一个查询语句,就是先把他的就先把这个括号的值给查出来,大家懂吧,就像你做加减乘除的时候。
我首先算的我是算括号里面的一个值,对不对,所以呢他就先把这最里面的括号,这个语句进行一个执行,然后执行了之后就会变为我们的一个这个参,ml函数的一个参数,到这这里可以理解吗,理解的话。
你们还是继续扣个一,不理解就扣个二,啊其他同学也稍微做点反应,啊啊啊,嗯好五位,嗯好,然后,有疑问的就赶紧停啊,有疑问就赶紧提你,首你首先我们还是首先的是理解它为什么会啊,为什么会返回这个东西。
然后再为什么我们要执行这样的一条语句,这些语句就是都跟前面的联合查询,是一模一样的,也就是昨天教你们的,他的意思是一模一样的啊,那既然这样,就是我们利用的这一条语句,这样是进行一个。
我们利用的这样的一条报错语句,是进行一个查询表明,那你们剩下的一个库明能推出来吗,就是啊列名怎么把这个列给爆出来,能推出来吗,啊能推出来就是你先说思路吧,你们知道思路的,就在公屏上扣一下。
要知道一个举一反三啊,对改这个查询语句,还是还是继续回到原理,就是它这里会把参数不正确的格式啊,它就会参数格式不正确的时候,就会返回这个参数的信息,那我们刚刚的这个参数,刚刚这个查询表的参数。
是不是就是一个这样的一个参数contact,然后呢,我这个地方是上次那个联合查询语句进行查询,表明的一个语句,那我把这一个查询表明的语句,改为一个查询列名的语句,那它是底下的错误。
是不是就会返回我们的一个列,这张表里面的一个列,我们来看一下啊,我们来看一下爆裂,爆裂呢它就是把,我标红一下,应该有个画板吧,画笔爆裂呢就是把这个地方,这个地方的这里这个地方的字条语句。
这一条查询表的语句改为查询列的语句,我的手有点抖,所以画线不好看,你们不要介意,好我们来看这个爆裂,你看一下我们爆裂的这个语句是什么样子的,这里是不是就是查询这个user里面的一个列,是不是跟l。
是不是跟我们之前的那个叫什么去了,跟我们之前的那个联合查询是一模一样的,这条语句还有印象吗,那接下来的改值,那是不是也可以这样进行一个力推,他这个画板的这个功能有点有点点小看。
那我们就来演示一下吧,就是来演示一下,还是,嗯用哪个东西来演示呢。
还是用之前给你们的这个网站来进行一个演示,实操实操的话是体验啊,实操的话就可以加上你们体验吧,应该说是首先我把这些语句,也是我把这些语句都给你们扣上去,报库报表然后爆裂。
当然我有可能中间有哪个东西打错了,也不一定啊。
好我们首先还是来看啊,我们最开始的第一关,我们的一个查询语句是怎么样的,我们的查询语句是n,let 123,我们上一节课的一个查询库的一个语句,咦,哦没有加那个没有闭合。
我们上一节课学的一个四个注入语句,大家都知道吧,你这里呢基本上可以不看,就是slidesp,那我们来看今天的一个报错注入的一个sql语句。
是什么样子,i d等于一啊,这个谁呀,这里第一关,百度热搜啊,compa,b团。
我们看一下这个报错语句,用户用这个吧,用这个吧,我们估计因为这个ui要编码太难了,很难受,好这条语句就是我这个despss,当然你也可以这样写,就是slice,要打括号了,好首先这第一个爆库的这个语句。
就是因为我这第二个参数是查询它这个debu,到这一步懂得扣个一,嗯好,那第二步,第二步我们是不是就爆裂,那我们就把啊上一部的一个查询语句,因为我们上一步的一个,查询这个表的一个语句是这样的吗,就是。
我还是拖到自己来,group concubine from,然后后面一串一大串,然后我这里呢就把我的这个表给查出来了,对不对,那我把这个查表的这一串语句呢。
然后copy到这个里面来,copy到这个位置来,会回到这个位置来,就是爆头注入的这个位置来,然后就会发现是不是查询到的一个结果。
是一样的呀,得到的一个效果,那我爆裂那就更简单了呀,啊我爆裂之前也是一个slip cat,这里呢是查我这个u s表里面的一个列。
这里我之前跟你们说过了,是因为我这里面的一个优势表有点多,然后我继续了,我还是把这条语句拖到这个报错语句里面来,进行一个查询,是不是也是得到的结果是一样的,那我后那我后面的差值,还有包括嗯叉叉的一个值。
是不是也跟我这一个,就是也也跟我昨天的那一个叫什么,跟我昨天的一个联合查询语句是一样的,这样一步一步下来的,啊这样报错注应该懂了吧,懂了的话,你扣个一,不懂的话,你就把不懂的打到公屏上,好,嗯哼还有。
哦来晚了哈行,你待会待会儿回去复习,那写好啊,就是你反正记住啊,一定要举一反三,包括后面的盲注也是一样的,都是一样的原理,你记住这个原理。
然后呢这里有一点要注意的是,就是这个报错注入它的一个返回啊。
它有一个返回的一个限定,我把这张表发到群里面。
就是他报错的一个值,看到没有函数有一个写错的一个长度的限制,这是数据库里面写死的呀,就是我这两个它只有一个32的一个显错,就是我可能一个一次性的报错,可能回血不完全,当然这个你都不用管了。
就是你这个都不用管,后面的一个假sk map的话,基本上都是会有一个完成的,因为我最后的不是教你们所住,而是教你们怎么进行一个手工加工具,进行一个结合,懂吧,手工加工具结合又快又好用。
就比如说我刚刚这里啊,我的一个user表里面有很多一个列嘛,它你可以看我这个boss注入,他只出了一个12345。
他只出了五个函数,你们可以数,刚好应该就是32位,然后你看我这个结果,我这个回血是不是出来了一大串。
一大串东西,那这个时候我们怎么办呢,看一下它的一个情况,这里呢我们同样可以用and,然后加以为昨天给你们演示了吗,这个vr的条件是可以用and进行一个加的,那我就在这里加一个,and。
我这一个查询的这个名字不等于not in,已经出来了,这几个罗腾,你这几个,到这里呢他就啊,反正就是你后面加加,到最后它总会有一个极限的一个值,这里只是一个思路,你只需要记住就可以了。
就是现实中你根本基本上用不到这个东西,然后报纸报纸这里我就不说了呀,跟你们说了,就是举一反三,在这个地方,slice grown啊,group contact。
然后username password是不是一模一样的,主要是你们要记住这个思路啊,同样的他这个报纸没有权的,你用这个vr这个查询语句,这里呢后面会给你们ppt,你们稍微看一下就可以了。
然后今天呢还要给你们讲一个,另外一个类型的主播,就是跟前面其实注入过程也都是一模一样的,懂吗,注入过程还是一样的,但是我为什么要提呢,就是因为我们在中国,你懂吧,这个叫宽字节注入。
宽字节注入只适用于国内啊,只有国内才有这个宽字节注入,至于为什么你待会儿看啊,首先第一个宽字节注入的一个原理,你们这些呢嗯这些我都不看。
我把这个标红吧。
你们在做sl注入的时候,应该遇到过这样的一些情况,输入注入或者之前的xc 4,你们输入一个特殊字符,是不是有些网站就会喜欢加上反斜杠,这个东西有遇到过吧,有遇到过的话,你就扣个一,就是会有一个反斜杠。
反斜杠的一个转移,待会儿你待会儿给你看,你就知道了,同样的,我这里呢啊这里靶场里面是有一道这样的题的,是有一道题的,正好有一个宽字节注入,就是比如说我输入一个单引号,他这里呢就会多一个转移符。
转移的字符,那我再输一个单引号呢,你看它就变成了这样,然后我输反斜杠,你看,反斜杠,那他又多了一个反斜杠,这是为什么呢,这是因为啊他网站用了这样的一个函数啊,就是mysql里面有一个转移的一个函数。
应该是菲律宾里面的吧,这个函数的一个意思就是把,这个也是常见的呀,现在的cm里面还是有,现在的网站里面还是有这个功能,但是很少啊,这个过程是很常见的,就是特殊符号进行一个转移。
然后第二个就是网站开启了一个数据,重点是这个吧,就是数据库设定为了一个gpk的一个编码,gbk编码是什么呢,就是gbk编码是专门针对汉字的,你懂吧,汉字我给你们看一下是什么意思就知道了。
这样说可能不太明白,你比如说就是我们在这里出一个单引号,在浏览器上输一个单引号,它是不是会ui l编码成一个27%对吧,但是我们比如说我输了一个汉字呢,我,那我这个汉字url编码之后会是什么样子呢。
啊还是用这个小葵随便打一个汉字呀,比如说一个我字,有没有发现他的一个ui编码是这样的,两位数,任意的汉字呀,你就说任意的汉字url编码都是两位,然后任意的字符,比如说啊e啊,随便输入一个字符都是一位。
你就记住这个啊汉字唉,端l编码两位,然后字符url编码移位,那这里你是不是有一个想法了,就是因为我们刚刚随便输入一个单引号,都会被这个斜杠加过来,对不对,就是我随便输一个单引号都会加一个斜杠。
那如果我在这个汉字前面加一个3%b,就是我加一个,因为汉字是两位吗,哦不是不能用这个,如果说我随便打一个汉字啊,随便哪个汉字,我用这个汉字的前面一半,因为汉字是两个是两位。
我用这个汉字的前面一半再加一个单引号,它会产生什么样的一个结果,它会这里有一个字符,就是对应的我们这个百分之b c,然后这个斜杠,也是代表一个字符,那他有没有可能这个百分之b7 ,再加上这个斜杠。
我们浏览器就把它认为这是一个汉字,汉字是两位编码,就是把这两个编码认为是一个汉字,然后我这个单引号是不是就空出来了,单以后就有效了,那我这个单引号就可以进行一个sl语句,的一个闭合。
简单的来说就是因为你看代码,mysql这里设了一个gpk,然后这里呢用了这样的一个转义字符,原理就是汉字的编码为两个,那我们怎么利用呢,这里呢应该也很简单了,那我们怎么利用。
首先报了一个这样的一个错出来啊,你们先说吧,我让你们讲思路,你们对这个宽字节的一个编码有没有不懂的,有不懂你就扣个二,懂了你就扣个一还是同样的,然后懂的你们就想一下,懂的你就想一下他这个语句怎么输入。
就你一个搞懂了吗,那我再说一遍好吧,我再来讲一遍,再来给你们重复一遍,首先确定一个这样的一个值啊,它的原理呢就是,因为我加一个单引号,我每输入一个单引号,它这一个mysql的语句都会给你多一个反斜杠。
对不对,然后浏览器是怎么认识这个url编码的,你们可以看到一下这每一个汉字的一个编码,它都是比如说我是b开头,然后我出去这个我然后我这里又是一个c开头,但是我们随便输字符啊,你可以看到我这个ui编码。
随便输字符,它这里呢是没有一个字母的,我随便说好吧,你可以看都是没有字母的,让浏览器遇到这一个,比如说是11%,我遇到了一个百分之c1 ,然后他就会认为我这里是一个汉字。
那他把我的这个百分之c再加一个反斜杠,两个加起来认为是一个汉字,认为是一个汉字,那我后面的这个单引号,他就认为我是一个有效的单引号,因为我这两个是一个汉字了,那我这个单引号是不是就空出来了。
那我这个原来反斜杠的一个作用,是不是就消失了,这里呢就叫宽字节注入,而且我开始讲了,为什么只有国内有呢,你想一下,除了中国,还有其他地方用汉字吗,没有吧,对而且这一个遇到的很少呀,很少有遇到的。
因为他条件很苛刻,你看代码他有两个条件,第一个是用了这样的一个过滤,第二个是用了一个gpk的一个编码,这里面就当一个理解,然后你们呃不懂了,你说一下为什么不懂呢,我现在给你们解答,今天的内容其实不多。
一定限制gpk吗,对一定要是gbk,他才有两位数的一个编码,如果他没有gbk的话,啊ut f8 为编码的话就是,哦我给大家看一下ut f8 ,比如说我随便输一个,编码它是ut f8 ,然后他这个中文。
ut f的啊,就是ut f8 呢它的一个编码,反正就是他不会认为这个中文是两个百分号,就是只有gbk的编码才会把中文转成一个,只有中文才会转转为两个字符,你看一下它的一个原理啊,约在编码里面。
gbk的编码占两个字符,只有gbk,ut f8 ,它虽然能识别汉字,但是他的汉字编码完也还是占一个字符,它不会占两个字,这是gbk独有的,对基本上遇不到了,但是会有一些比较老的一些站,会有一个gpk。
所以我为什么就是我只稍微提一下,我不会给你们啊,很那个的讲,你简单的就理解为我这一个url,我这一个宽字节就是为了绕过这个过滤,就是为了绕过这个过滤,我把这个快字节这个原理给你们发群里面。
你们好好的认识一下,然后呢,既然我绕过了这一个单引号,那我后面是不是跟我原来的联合查询,是一模一样的,我自己的一个联合查询,-1,这里加一个1%,好,那我后面呢就跟这个联合查询的一个语句。
是一模一样的了,然后我在后面查询这个数据库呀什么的,也都是一样的,然后你们今天的一个课后作业呢,就是会课后作业就简单的做一下这个,简单的把一个这两个这个宽字节注入,还有这个字符型注入,就是字符型注入。
你用报错注入来做,用报错注入来做,我把先把作业打一下,待会儿可能我群里给你们拍一个,简单的一个小课呀,去那边开个简单的一个小课,很快乐,这种,我会把昨天的一我会给你们发一点小东西,比如作业就是。
哦宽字节也宽字节,你不喜欢用报错注入的潘志杰,我只是需要你绕过就可以了,当然你想用报仇之路也可以,我不拦着你,无所谓的这个,然后第二个就是,盘子也出,今天的一个课程内容就差不多这么多。
所以说啊万变不离其宗,你们如果还是不知道,前面这个联合查询是什么意思,你就去看看完联合查询语句,你再看其他的一个录入,看完联合查询与分离,再看其他的一个注入,就可以很快的进行一个理解了。
好今天课程内容呢就是这样,然后我待会会在群里面给你们发一个,发一个东西啊。
P13:第11天:SQL注入漏洞-sqlmap使用,报错注入 - 网络安全就业推荐 - BV1Zu411s79i
看一下论坛,cf rf,这是哪里就传送了,看一下,这要是。
雷蛇,没绳子这一家的呀。
找个时间可以看一下,2000刀,临时商城,58嗯,再等两分钟,我们就开始今天的一个内容,今天要讲的非常简单呀,这个东西,而且你们学起来也会感觉特别舒服,可能违规,别搞事呀,1w vs,好开始。
今天的一个课程内容,就是这个注入之smap的一个使用,看一下第一个是介绍什么是司空,可以失误了,谁还打错了,好,第一啊第一点呢是什么,是smap,第二个呢是smap的一些常用手法。
第三个呢就是smap编写一个temple,还是跟平常的一样,就是我这一次主要的一个内容呢,不是给你们把斯科拉那些中文手册呀,就是一个完整的说明书都给你们讲,还是一样的,我只教你们重点还有常用的常见的。
你们不需要记那么多东西啊,我们首先来看一下什么是sm cup呢,就是一个开源的深度测试工具,你简单来说就是用来自动化检测,还有利用红色的注入的一个工具啊,这个工具很久了很久很久了,但是现在一直还在更新。
而且一样的特别好用,然后他能干什么呢,他就是啊我们在学sm学四柱的时候,是不是有一个烦恼,就是这个sk注入的语句特别多,而且自己写也很烦,因为你如果要把整个数据库的内容全部做出来。
你算一下你那一个啊注入你要敲多少遍,就这我啊这基本上是不可能的好吧,你比如说一个数据库,它可能有一些有个几百g,你要是自己手工悄悄到什么时候,然后呢比较厉害的,他就开始写自动化的程序,写脚本。
然后呢就有安全公司出了一个smap这款工具,他这里呢一个下载地址,我把这个发群里啊,你不管是python 2还是python 3,现在都能用,你们去github找一下这个smap的一个安装。
这里呢就是superb的一个开源的一个地址,它是老外写的,嗯我们就自己随便下载一个吧,把它下下来,当然我这原来已经下好了,你把这个解压就可以了,找一下四个map,然后呢大概就是一个python脚本。
python脚本,然后你们在这里打开命令行,跑一下一个,开始运行一下,出现这样的一个图标,就说明你那个安装完成了,但是嗯有时候可能有些人觉得很麻烦啦。
因为我每次都要这样打开去进行一个smap。
这里呢就教你们一个简单的一个办法,就是在windows下添加一个快捷方式,创建一个快捷方式,然后在这个地方就填入我们的一个cmd,当然待会儿告诉你个更简单的呀,然后你右键呢在这个起始位置。
就加入你那个smap的一个位置,然后你每次用的时候就点击一下那个快捷方式,它就会自动运行,当然有个更简单的办法,啊你们应该啊,之前添加环境的时候跟你们说过吧,一个环境变量对吧,给你们讲过一个环境变量。
那我把这个smap的一个环境变量添加到,添加到我的一个,cfm的一个位置,添加到我的这个环境变量里面去,就是添加到这个里面去,然后我看一下啊,嗯刚刚是不是有中文呢,好这三个smap。py。
直接添加到这个环境变量里面,然后这就可以直接使用了,啊它的一个安装应该很简单啊,就是之前你们装过pc环境,还有装过这么多一个子域名工具,基本都知道用了,所以呢这个就不多说,今天还是一个主要的内容。
就是教你们怎么用这个system map这个工具,之前有同学就是说过嘛,就是a老师,我的那个sk mark怎么一个晚上都跑不出来,应该你们是有印象的对吧,就是我一个一个网站都跑不出来。
或者你们应该也用到过,就是4k map,可能明明有一个四个注入点,但是还是跑不出来,这是为什么呢,待会儿就教你们。
samp等于个常用的一些东西,首先我们了解一个smap的话。
我们要知道一个smap的一个使用说明啊,就是我们常见的一个说明书,之前早就发给你们预习过了,我觉得他这里呢还写的算比较好的呀,算比较好的,就是他这一个中文吗,还有其他的都写的还算比较可以的,嗯好。
我们现在呢就开始进行一个smap的一个简单使用,你要记住一个点,我觉得这个呢我可以给你们标红,因为smap它整个的一个功能非常非常强大,然后你要把他所有的一个所有的一个内容看完。
是很难受很难受的一个东西,就是你学的垃圾知识过多懂吧,有些东西根本就没有用,我们还是好跟你们先说一下,我在跑sk mom的时候,你们别跟我一起跑呀,不然我怕我我们的这个赞这个靶场会崩掉。
嗯还是回到我们的一个靶场了。
回到我们的一个sc club。
我们首先来看smap它的一个常用的一个参数呢,就是sk map,甘u应该大家都试过了,或者没有事的,你们可以拿我们的网站测一下,我们嗯,我们用smap开始进行一个实操,首先第一个最常用的就是sm。py。
然后杠u你再把这一条呢,就是这一个存在sql注入的一个网址,把它抠下来,然后拖到这个上面去,跑一下,他看他这条是什么意思呢,就是说它看起来像嗯一个mysql,然后呢你想跳过其他的,直接用谷歌翻译吧。
它后端看起来是mysql,你是否要跳过特定的测试,这里呢无所谓啊,就是我们在遇到这个时候,你按y跟按n都无所谓,其实我觉得,然后呢他自己呢就开始进行了一个跑,然后他自己就出了,他说这个id是一个脆弱点。
你还想吃其他的一个点吗,就是它这里已经识别出来了,我这一个,我这个位置这个id这个地方是一个注入点,这个大家都很了解吧,然后我因为我跟你说,正常情况下你带跑其他的是浪费时间了。
就是我测出了一个注入点之后再好,其他的有点浪费时间,我们直接跳过就可以了,然后呢就可以看到它这里出了一个po的,还有一个说明他就说他这个id是一个脆弱点,然后呢就输出了这两个。
第一个是一个布尔的一个盲注,第二个时间帮助,第三个就是我们的联合注入,就是都可以用,这里呢是它一个检测的po的,当然这里没有什么说的呀,就是你简单的我拉黑,我干u跑一下这个位置。
就能识别出它是一个注入点,这一点有没有啊,有没有需要特别说明的,如果觉得这个都看不懂的话,你们就去把这个smap呢下载下来,然后自己出个甘u去跑一下,这个是最简单的用法,然后呢我们怎么做呢。
我们还是同样的,你们还记得一个sql注入的一个过程吗,我是不是告诉过你们四个注入的一个流程,就是我先判断它是不是一个注入点,然后再把他的数据库的名字给报出来,然后再把这个数据,然后再跑表,然后再跑列。
再跑列里面的数据,这个注入的流程是这样,应该都记得吧,那我smap也是一样的,就是我先用这个杠杠dbs跑出一个数据库,你们这个流程一定要记住杠杠dbs,然后看看dbs跑一下,你可以发现他很快的。
把我们这里面的一个数据库给跑出来了,那我们比如说我在跑这一个,我要跑这个数据库后面的表呢,就是我杠b杠d,就是前面的杠杠dbs啊,你这个dbs你就改成杠大d,看b昨天看看table tbs呢。
就是我们的一个表明,就是你们其他的先不用记,你反正记住了,第一个杠杠bbs就是跑数据库,第二个刚刚tables就是跑数据库的一个表,这里让你们待会儿就是自己去手动实操呀,一直实操到哪个程度呢。
就是我不要看这个说明书,我一直杠低杠杠tables,然后杠杠那一个查表,然后刚刚查数据,你把自己变先跑下来,我们继续跑一下这个真的,你是不是可以看到这个工具跑的特别快啊,是不是就是啊。
如果你遇到一个sql注入,我直接用这个工具一跑,它所有的数据都出来了,然后就不需要你手工一个一个慢慢去写了,是不是就应该嗯应该会感觉比较爽吧,至于为什么你们可能问,为什么我不一开始就教你们。
待会儿会跟你说,因为你啊就是如果你真的做安全的话,你就不要只光顾着就是用工具就能跑出来,很多东西的话,还是要知道原理,知道原理之后,你才有一个啊更深走下去的一个可能性吧,然后同样的我跑完数据库。
那我是不是就要跑裂了,我跑完列是不是就要跑一个数据了,这里呢还是同样的,你看杠低还是数据库名gt real啊,我们前面是跟上tvs吗,然后我这里就改成一个杠t杠大t,再加这个表的名字。
再加这个列的名字,杠8t user,然后我这一跑id password username,他这一个表的一个列名,然后又出来了,然后呢我再跑,比如说我这有一个啊杠c嘛,杠c我要指定这一个,难道我记错了吗。
哦看刚刚,然后你就可以发现几秒钟的时间,一两秒钟的时间,我这个数据就全部跑出来了,这个temp就是这样的一个简单暴力,好这里呢让你们提一下问题啊,刚刚前面操作啊,有不懂的吗,不懂的话,你扣个一。
因为它仅仅是一个工具的使用了,这是一个最简单的一个使用,啊所以前面可能讲的有点快啊,就是一个工具的一个简单使用,它就是你们看说明书就可以了,会有跑不出来的情况下吗,肯定会有的啊,你不是遇到一个刺客注入。
我用smap就百分之百能跑出来啊,不然我后面就是我,不然我后面要跟你们讲的不就白费了吗,你就这样就这样啊,直接默认输入的话,很大的一个可能性是跑不出来的,在真实场景里面。
因为sucup他有很多的一条命令啊,但是我给里面的这个就是这种最简单的注入,肯定是能跑出来的,待会儿呢我会给你们讲一个smap,一个通用的一个习惯,也就是说我自己啊,添加环境那里是直接到现哦。
对这里呢我记得我跟你们讲过一个添加环境,这个添加环境变量的一个意思,就是你简单的可以理解为我只要在这个pet里面,就是我只要在这个p t s里面,加入任意的一个路径啊,你比如说我是加一个啊。
这个一找个好用一点的吧,就比如说我要用一个工具,对不对啊,我每次如果要在命令行对,如果我每次都要在命令行这里打开,进入他的这个命令行,进入他的这个目录里面,是不是就很麻烦,那我就直接把它这一个目录。
添加到我们的这个p这个环境变量里面,那我那我每次我不管cmd在哪个位置,我都可以直接使用,就是我不需要再打开进入它这个目录底下了,这个懂了吧,应该就是你觉得麻烦就这样,就是你觉得啊每次都进入他这个目录。
麻烦你就加加进去啊,你觉得无所谓,就可以不加卡了,一下可以卡里比卡里有自带的一个是什么啊,它里是有自带的smap的,呃待会儿再安装,安装的话,你们自己就是下载下来,用python环境就能跑。
这个嗯比较简单,你们主要是要记住的是,首先你要记住这个流程,就是我先跑数据库,在跑数据库的一个表,你现在先不要记啊,就是待会下完课,你们自己就拿我们的靶场,拿smart就直接跑自己手套先做出来。
然后后面那个,我上次不是给了你们一个实际的一个场景吗,那一个你们就当一个真实的一个啊,当然真实的那个场景去用一下,这个是方向不好会有惊喜的,接下来我要讲的重点呢就是个map,一些常用的一些东西。
这里呢这条命令这些命令我也不说,然后我pp上也没有写,应该你们有细心的,细心的话,应该有关注过吧,就是你比如说啊我这一个我这一个,驻点是一个get的请求吗,那我get的请求。
然后我这里杠u是可以输进去的,对不对,那我如果是post的请求呢,对不对,如果是一个post的请求smap呢,它有一套专门对,就是专门用来进行post请求的一个东西啊,还有那一个head头的。
但是我觉得嗯不好用。
你懂吧,我给你们讲一下,就是我们常用的一些东西,那一个肯定不会崩的,我发给你们的那一个肯定是不会崩的,你去查一下,大家那个是业内比较出名的一个东西,知道吧,这里呢客户跟你们说,这里呢还是给你们讲一下。
就是如果遇到post请求的,你别看它这个使用说明啊,我来给你们做一个简单的一个演示,首先我为什么之前要跟你们说,bp是一个神器,没信啊,首先就给我开启bp,啊首先我们把bp开启。
然后我找一个post请求的一个四个都,我把这片区study看一下,嗯就是你们给你们记住我这个习惯就可以了,就是一个万能,基本上是一个万能的一个表达式,一个万能的方法,当然你可以不学我这样,但是我啊。
但是我教你们的就是这样教,你们到后面可有自己的习惯,你们可能会看其他的一个讲smap的一些老师,就是把crab的每一个功能点都给你们讲一遍啊,但是我觉得挺不实用的,这些东西,就拿这个来说吧。
比如说啊我这个地方有一个注入好吧,然后我看一下啊,错误什么什么什么,这里呢我看一下啊,这是个什么圈啊,第12关我都忘记是个什么住了,但是他肯定是有的,就是我们遇到这种情况。
比如说我直接拿这个杠u是不是肯定就没有啊,是不是肯定就跑不出来啊,我把这个甘雨给你们试一下啊。
因为他的一个请求,他的请求都在这个里面了,就是都在我这个都在我这个包里面了,看一下这个是什么,基于错误的一个啊,它是双引号,双引号报错,那遇到这种呢,比如说要登录的,那这种情况我们怎么用cup呢。
教你们一个习惯,首先第一个啊,我这一个bp是可以把这个包给保留下来的,就是copy to fail,就是我可以把这个数据包给它保存下来,一定要记住这个右键,然后这个位置,保存为一个文件。
然后呢我就改一个名字。
比如说我改一个去b点贴个七嘛,无所谓,然后呢他就把这个包给他存下来了,那我们把这个包呢就copy到这个sf这个位置,我就把这个保存好的这个文件copy到这个里面,来到这一步应该啊还比较懂吧。
就是我有一个设备注的一个点,把这个包保存为一个文件,再把这个文件放到smap这个里面。
然后呢smap呢有一个,干嘛这个参数干啥呢,就是读取,杠杆就是读取这一个,txt文本里面的一些东西,读取这个文本里面的,然后我再继续进行一个注入,看一下啊啊这里为了快速一点啊,应付,真想让他跑一下。
我们可以看了,他这里呢就开始检测,我这个包里面的一个内容了,然后呢,因为我刚刚没有加任何参数啊,它默认呢就一般只会跑这几个东西,稍微等一下,好我们先看一下,这个有一点点慢了,然后你可以看。
就是我们正常的跑一个这样的包啊,需要的时间还是挺久的,那我可以有个什么办法呢,自己让他跑,我们继续讲一个课程。
我居然没写出来,这就很尴尬了,就是有一个呢杠p参数,钢坯就是指定这个注入点,然后呢我要跟你们讲的就是你们要注意的就是。
一个两个三个三个点,注意的呢就是这三个点,就是教你们一个习惯叫smap。py讲啊,它是一个文本文件,然后,这样就是你每遇到一个有四个猪的包,把它抠下来,然后你就这样把它给它放进去好,你可以看到我这里。
他说我的数据库炸了。
不能访问到这个url,没这么真实吧,没有,自然就开始进行了一个检测,这个东西老慢了,呃教你们一点那个,反正就教你们一个习惯了,这个万能的一个通用的异常命令,这条命令你们记住啊,我再跑一个吧。
他这个这么慢,搞到什么时候去结束了,然后我干p in 14难,是吧好用,那,好我就这样指定,然后我们可以看一下他跑的一个速度,啊哈哈,八参数后面打信号也可以哦,对这样也行。
它还有一个就是包着参数后面打星号也可以,但是有时候呢就是他这个新号啊,我在这是我个人而言了,我在用的时候有时候会有一点点bug,你懂吧,就是好像是遇到一个什么情况去了,好。
可能是我啊本地的这个pb 48的有点渣呀。
所以他跑的特别慢,主要是有个东西我又不能给你们演示,只能线下把这个直播给关了之后,才能给你们进行一个演示,哦我想起来了,就是我们在跑这一个呢,我们在跑这一个叫什么去了,再跑我自己本地的环境时候,我傻了。
我们这个靶场可以进行一个演示呀,这里呢有一个啊布尔盲注,或者是一个,这有一个四个输入的一个点啊,这个呢也是我给你们的一个考核,就是它这个有一点点过滤,还有这个select呢也会有一点点过滤。
这两关我先给你们讲这个吧,他这个跑我还不知道得等到什么时候去,因为跑本地你看他这个请求都慢得要死,我们首先呢我的一个建议呢,是自己在服务器上还是同样的,因为你自己电脑终归是要做一些东西的。
还是在服务器上弄一个smap,就或者弄一些扫描器,怎么就比较舒服吧,我们来试一下啊,这个,试一下它的几条命令啊,就是刚刚uc刚刚is dba,刚刚with shell。
这个呢就是你们还要记住的是一个刚刚vsc,这个功能,你们我只给你们演示一下,你们具体的必须得自己去看说明书,因为这个东西不实操的话,根本就体验不出什么东西,我们还是先同样的,查一下这个。
你看我这服务器上跑的一个速度,跟我本地跑的一个速度,对吧,完全是两个完全是两回事,这个速度,然后我们试一下,我们试一下这个刚刚us,他自己就会把我们的一个这个数据库里面的,那一个叫什么去了。
数据库里面的用户名都给你枚举出来,这里其实就是一个root,然后呢有一个注意的是,这个杠杠with shell,嗯你们应该理解,就是诶之前是有给你们讲过菜刀这个工具吗,菜刀,啊没跟你们讲菜刀吗。
呃那我要讲命令执行,这个就会比较尴尬,我就这样简单的跟你说吧,就是我命令执行的一个意思呢,就是我控制了我这一台,就是我控制了我这一个,搭建网站的这一台服务器,控制了搭建这个网站的这台服务器。
可以执行任意的命令,就是你比如说啊我自己在本地的时候,我可以执行命令,对不对,if看fig或者ping什么东西,那我这里呢有一个,四个注入点就是正常来说mysql的四个注入是很哦,没具体讲。
我在这里就只提一下吧,就是mysql的杠杠vs cl,干式呀,在遇到某些情况下是可以进行啊命令执行的啊,我就这里举个例子啊,因为我之前为了我这台服务器上拿,为了方便你们做后面一道题,我是降低难度的。
就是有一个科学,就是呢这里呢有一个对,这里可以直接拿下,这有一个目录呢,他有个可写的一个操作,就这样试一下啊,然后呢sk map呢我加上这杠这个杠杠vs gushell,你们自己先只要了解。
就是后面自己去实操持仓,就知道这个这个工具有多舒服了,反正要到周末了嘛,而且刚刚为干shell,所以呢我就给你们举例说吧,为什么要执行这个操作呢,就是比如说我一个fc它的一个漏洞评级,它有四个等级。
我这个四个注入只能到这个高的一个等级,就是它的一个设置注入它的一个评级是高高危,但是如果我变成了命令执行,那我的这一个漏洞就相当严重,他会多好几千块钱,这里也只给你们看一下啊,他这里的dwg是。
enable啊,然后死里,好可以看到这里就多了一个os干shell,可以发现,你会发现我这里呢可以直接进行一个命令执行,qun mi阿帕奇的一个权限,这个呢之后你们自己去拿着这个sc map进行演示。
就是你今天要记住的一个点,就一条命令,就是靠,我这个还没跑,这是我给你们发的这一条,我发群里好吧,sk buff干啥,这一条命令就是k和bp,配合bp这保存成一个txt文件。
然后再丢到这个super map,这一条你一定要牢记,我觉得super map的一个核心就在这一条,还有sk map的一个跑数据,这个你们去实操,今天要给你们讲的,就是不能只能跟你们讲这种呃。
没有什么一个技术含量的一个东西啊,因为它就是一个使用工具嘛,对不对,还有这一条是什么意思呢,就是设置代理,这里面也去研究一下,你们刺客buff就不会具体给你们讲很多了,就是一个单纯的工具使用。
这里要给你们讲的是一个smap的一个,temple的一个编写,啊应该你们知不知道wap是什么意思,wa,你可以简单地理解为一个防火墙呃,提前的话,我这节课不会教呀,我这节课不会教。
后面的话提前会有一些教程,但是提前没有在微博群里面知道吧,当然到时候我们可以搞点资料给你们吧,微博安全的课程是没有计划在地球的,其实其实也不难,按这些东西。
今天来教你们怎么用这个temple进行一个绕袜,可能你们啊今天就是因为才接触这个东西嘛,会有一个知识盲区啊,我就教你们一个简单的一个理解,就是你可以把这个这个temple呢就叫一个规则。
就是我可以自己编写一个规则,我可以自己编写4k map的一个规则,比如说嗯,然后我也不教啊,就是我不讲这种这么抽象化的一个东西啊,就教你们用吧好吧,直接教你们用。
首先第一个呢这里呢是一个smap的一个temple,它大概就长这个样子,就长这个样子,那我教你们用是怎么用呢,嗯还是我先把这个发给你们,我把这个取消了啊,先给你们看效果。
啊比如说我这里的有一关,有一个关卡呢叫slice的一个攻略,这关是什么意思呢,就是这一关你可以看到我们输入语句,这个set它这个地方呢把它过滤掉了,那我们输入,那我们丢到sc map里面跑呢。
我把他丢到这个map里面跑,我把它丢在4m里面跑,可以就可以发现一个东西啊,就是,因为我这里的一个select被过滤了,他的话可能就会识别叫什么呢啊,好吧,这个buff。
他这个他自己有一点点的一个叫什么东西去了,这个就很尴尬了,他自己可以稍微绕一点点一些,简单的一个waf啊,就是因为我这写的太简单了,因为写的太简单了,比如说可以这里可以用and,然后。
哇他这还是一个没有区分大小写的,就比如说,我看一下啊,这里直接大小写就能绕过去,尴尬,哦我想起来了,我用什么东西给你们演示看,稍微等一下啊。
我开一个,我先看一下啊,有没有内存够。
嗯他自带开g5 ,就跟你们说,就是我这个temple,可以让smap根据我自己制定的一个规则,来进行一个运行,比如说我这里的规则,就是我把这个select变成变成一个这个样子,啊我用bp给你们演示看了。
就是,首先我这一个,p x y是,这里呢是一个设置代理的意思,我这里的8080就是我bp的这个端口,我让这一个smap的一个流量全部走,我的bp,我们首先来看一下啊,我们看一下它的一个注入,你可以看。
诶我这有缓存了,我加一个刚刚temple,有缓存吗,换一个,好看这里,自然就会出现bp的一个他这一个镜头,我们以这一条为例啊,以这一条为例,啊你们是不是可以看到我正常来说,这里是slice,对不对。
然后我刚刚这里呢,这个temple用了我这个自己编写的一个temple规则,也就是说我这个select会变成这个样子,也就是说我这个包里面的这个,然后我这个and呢and的吗,这里的一个and呢。
就会变成我这个自己预定的一个样子,这个是根据自己的一个规则来写的呀,你可以看我自己的个and,就变成了我自己规定的一个样子,那我这个temple有什么意义呢,它这个temple就是,啊。
就是跟你们前面为什么要学它这个原理有关系。
啊,就是为什么要学它的原理,我们在遇到一些wave的时候,给你们看现在比较常见的一款waf,有点卡,你们看市面上常见一款袜子,我感觉今天的内容是不是好像有点太难了,如果讲cap的话。
我之前自己也扯了半天。
好我们来看这个。
嗯正常的检测,现在1。1,可以发现就是比如说我遇到这种呢,有一个网站防火墙的一个情况下,我们是不是啊,要想办法从这个网站防火墙里面绕过去,就是我要绕过这一个防火墙,会不会有这样的一些操作对。
就是脚本就是我写一个脚本吗,规定这个smap他会它的一个规则的一个变化,但是我直接拿防火墙跟你们讲,你们可能会有点,因为没有给你们讲什么,by pass对吧,该pass这门课要教的话。
可能我们这些课程不太够,我到后面我会发一些资料给你们,自己去稍微看一下,好你们就简单的理解就是我这个temple,你这个就是我给你们的temple,你甚至都不用改,你知道吧。
我直接在这个地方进行一个修改,规则就是你比如说我还要再加一行,我还要加一行,加一行,一个物,变成一个过2%,变成一个自己那个名字,你们后面的tao,你只要在这后面拿着这个tao。
这个规定的一个脚本在这个后面改就ok了,那它有什么用呢,就是我们在遇到wap的时候,你如果要守住,是很很恶心的一件事吧,应该说是特别恶心的一件事,你比如说我这一直在测试。
一直都是被拦截的,嗯比如说我随便输一个,and,看着没有回蓝戒。
然后我取个单引号又被拦截了。
tx,但是我hex又没有拦截。
我再续个大鱼,你看他又拦截了,就是当我们自己手工测试出一些脚本,就是我可以怎么绕过这个buff啊,可以绕过这个buff啊,哦我找一下我的那个脚本吗,好像是这里吧,不知道还不还能不能用啊。
看一下啊,诶好像还能用,反斜杠a snet,这就很尴尬了,6v一啊傻了,就比如说啊我自己呢我有一个规则,我我自己测试出来了一个规则。
可以过掉这个防火墙,可以从这个防火墙里面通过我的一个规则呢。
大概就是一个这样的样子,比如说因为如果我直接用sc map跑,我是跑不出数据的,你们懂吗,我如果用直接用sc map跑,我这个防火墙肯定是会把我的一个smap,给他进行一个拦截。
那这个时候呢我就通过手工测试出来了,一个可以把这一个防火墙给绕过的一个方法,大概就是啊比如说我这是空格替换成这个样子,空格替换成这个样子,那你想一下,如果因为我cup,我肯定他跑不出来。
那如果我每一个啊,就是我每一个每一个文件,我都要自己去手工注入,那你那你有没有想过,就是我比如说我每一个空格都要替换成这样,或者还有一些其他的一些过滤,我都要我都要自己去手工操作。
那是不是特别麻烦的一件事,那smap的一个temple就体现出来了,就是啊比如说我利用这个temple,我在这里面了,我把这个给加进去,其实他这几个都一样啊,我把它这里改一下吧。
就是让我把我的这一个cao,这个规则给它写进去,这里的一个空格替换成一个杠杠1%,自己的一个括号替换成哪一个,这样用单引号吧,然后呢我就把它这个写到这个temple里面。
它的一个规则的一个变化写到这个temple里面,然后呢我再利用这个temple跑一下我的一个,存在安全狗的一个存在安全狗的一个东西。
然后就要跑一遍,我们注意看一下这边的一个流量啊,就是你可以利用bp跟这个斯特曼进行一个,联合的一个组合,查看这个smap的一个pload到底是什么样子的,好他这里呢就开始了,我们来看一下啊。
看一下他的请求,你有没有发现他这里的一个空格,就变成我们刚刚替换的,而且呢你看他有一些是会被网站防火墙拦截的,但是这里呢用我们的temple的,它就绕过去了,还是因为我这本地的网络的原因啊。
他这个跑肯定还会跑很久,你大概的理解就是就这样理解,就是我把自己识别出来,我把自己啊,我把自己的一个规则,就是我自己发明的一个规则吧,就是我自己发明的规则,比如说我用我需要我发明了一个利用这个括号。
然后里面加一个杠杠a百分之a替换这个括号。
可以过掉这个防火墙,那我就把这个规则写到我的一个temple里面去,然后我以后我如果再用smap。
那我就只需要用这个temple,就可以直接把这个防火墙给绕过去,因为你自己手工的话是特别麻烦的一件事嘛。
所以这还是一个借用自动化,当然这个东西啊说简单也简单,说麻烦也麻烦,你们要自己去测才知道,然后今天的second mark的话,我觉得你们都得手动才有体验吧。
我这样讲,我觉得你们应该是一点体验都没有。
刚才就这样吧嗯。
你们今天用,你们今天用这一个smap把我们进行这个实验。
1234,你们随便挑一个,我这个这个是跑不出来的呀,这个smap是跑不出来的,你在前面啊,这个宽字节注入的话也有一点小技巧,你们就把前面四个,利用这个sc pop把他跑出来好吧,今天就当这个课后作业。
然后这个temple的话,我再找点其他资料给你们,帮你们理解一下好吧,因为我知道刚刚肯定没有说的很清楚,好今天的话也有刚好时间到了呀,时间到的话,我们今天就先下课。
然后你们自己去手动练一下这个smap吧,好吧啊,现在开始解答吧,就是你们先把自己的提问给哪些地方不懂的,你先写出来,然后我总结一下,我写个文档给你们扩到这个,给你们扩到这个培训的这个群里面去。
你们先提下问吧好吧,提问提问完之后,我就先下课,temple自带脚本啊,首先第一个temple它的脚本呢是cup自带的,它可以绕过一些简单的wap脚本,可以一个换,还是可以换一个加一个。
比如说and换掉了amd,分别用了,后面还有空格,and换掉了amd两个用处,后面还有空格,只有空格没换掉,那我再加个位置,你简单的理解为就是一个一个换还是换一个加,不是他换,是全局的,换懂吧。
他不是只换你单独这一个,他是会把你这里面所有的空格,或者所有的and全部都变为你自己写的这个样子,tap自带的脚本对你就是要加一个自定义的,知道吧,took cfd字典放在这里面的嗯,这个你得自己写。
我这里呢有一个脚本丢给你们吧,有一个好久以前自己写的一个bypass的一个脚本,但是你们要自己去改一下,我就是by pass,用这个sc level进行一个by pass的,q子的字典,我跟你说。
你字典的话肯定是最好的,自己就是社科map自带的懂吧,所以他们把它自带的字典,应该是有史以来所有强扫描器里面是最强大的,斯格拉姆的本质也就是通过啊,一个数组的一个字典进行一个判断的。
这个诶这个没跑出来吗,这么尴尬吗,哦忘记加参数了,然后我开始说的杠杠rsk刚刚l e b l3 ,不管是那个干拉还是你们这就用cp简单的跑,一定要有这个习惯了,就是把它给加进去。
这两个的作用呢就是提高它的一个风险等级,和一个检测的一个级别,也就是说嗯它默认的话,默认的话级别是一,如果你不输这个的话,默认级别是一,然后不输入的话,smap只会检测一些简单的一些注。
但是如果你加上了三的话,他可能会跑的时间久一点,但是它会检测的更加详细,就是更加仔细,嗯好,如果你们还有什么问题的话,你直接就干脆在群里面提好吧,直接在群里面提,然后待会就给你们进行一个解答。
然后今天我就先下课。
P14:第12天:SQL注入漏洞-布尔盲注,时间盲注及堆叠注入 - 网络安全就业推荐 - BV1Zu411s79i
美团啊,今天出来的美团有一个活动,就是最近的这两个web,你可以看他这专属范围内,它是有一个三倍的一个奖励,然后其他的话也会有一个两倍的安全币奖励,也就是说你可能平时挖个挖个。
比如说就像短信空大这种小洞,你可能就呃100 百来块钱,这翻个倍就是好几百啊,你们可以去看一下,然后要你们选的一个src的一个目标,应该有人选了吧,都选了吗,我我我待会去问一下班主任行啊,选了之后嗯。
明天或者什么时候吧,我就还是把原来的一个y sc的一个过程,给你们过一下,就简单的带一下,让你们了解一个流程,你们反正就是你之后就按照我这个流程,然后自己去找,或者你也可以有一个自己的一个思路吧。
怎么去找漏洞啊,你还没的话,你自己去选一个吧,你就觉得哪个看起来舒服,或者就是你对哪个业务比较熟,你比如说我啊,我饿了么也美团啊什么,如果你有一些啊,比如说商家的账号,商户的账号,或者比如说我饿了妈。
我可能有一些起手呀或者什么的账号,别人没有的,你这种啊就是你掌握的信息就是比别人多吧,然后你挖洞的一个概率就会比别人更大,好啊,八点了开始讲一下,简单讲一下昨天的一个呃,上周五吧,上周五的一个作业。
上周五就很简单,主要是让你们随便选一个简单的测试一下,一个buff嘛,简单的跑一下smart,这是我们的一个靶场吧,啊,简单的就是我把用四川up把这个跑出来,然后另外那个站的话,我待会儿讲完了。
就是我下完课给你们讲,下完课之后就给你们讲,那一个的速度是怎么来的,对吧,就拿着这个白色方面跑一下就可以了,因为施工具的话具体也不多说,本来这个盲注呢应该是在四up之前讲,但是可能稍微有点难理解。
所以我就放到这个smap后面,但是你们仔细听,我就是啊,我用我自己的理解跟你们说,这样的话应该会比较简单,首先你们啊可能对忙碌的话不太熟呀,因为之前一直跟你们讲的,是一个有回血的一个输入。
首先我们再来讲一下什么是盲数好,我们开始不是判断一个思考注入,还记得吧啊,就是比如说我判断一个四个注入,我这种有危险的,就是因为他会报错,所以我就知道他有一个四合注入,但是遇到另外一种了啊。
遇到这种布尔盲注,就是我加一个单引号,它并没有一个报错出来,但是你可以感觉到这个页面在发生变化,看到没有,这个ui in,我再加一个单引号没了,再加一个,大家好,他要出现了。
就是你能感觉到这个页面发生了一些变化,当然更好的就是告诉你教你们一个习惯了,万事你先就是你在挖掘漏洞或者在干啥的时候,你就开个bp,当一个习惯了,就是,当一个习惯我不管干啥,我都先开个bp。
啊我就跟你们说个比较有意思的呀,啊你们有人看斗鱼吧,斗鱼这种直播的平台对吧,上次我就啊挖挖漏洞,挖洞的时候,然后我那个bp就没关,然后点开一看,就是就开始看直播嘛,因为我有时候也看那个直播斗鱼。
然后点开看一下,给我看哎,bp刚好给关,我就看他过一下流量,然后就在斗鱼找了,找了两个洞,虽然都是小众吧,但也有三四百块钱嘛,所以说啊要有一个这样的习惯,干啥都开个bb,嗯然后呢其实我告诉你们怎么看呢。
首先第一个哦,我们来看一个正常的一个页面了,你们可以看到这个地方,它这里呢有一个679byt,它这里代表的是什么,就是我整个页面它的一个大小就是679,然后这里呢就是一个反应的一个速度。
它是把30m s吗,这个679反正不变的,这两个呢你们一定要注意啊,这两个东西,然后我们再来看一下,我加个单引号,695,再加一个679,再加一个695,再加一个179,这里呢是不是就可以发现。
它根据我们的一个单引号,加一个单引号,它就会进行一个页面的数据进行一个啊改变嘛,就是说改变就是有一些差异,但是我一个单引号跟三个单引号,它返回的结果又是一样的,这里呢你就有这样的一个思路啊。
首先我们的sql语句是这样的,我sql语句如果是一个错误的,那我就不会执行,就是我加了一个单引号,因为它是错误的,所以他就不会执行,然后我再加一个单引号,然后我把那两个蛋就是我前面加的。
就现在有两个单引号吧,两个单引号已经闭合了,然后就是一个完整的句子,他就执行了这个词汇语句,然后那个页面又发生了变化,这里呢就是一个盲注,待会儿给你们看一下效果就知道了,啊这里呢因为我写上了一个原理。
在页面里面,如果你正确执行的sql语句,就会返回一种页面,如果sql语句执行错误,就会返回另外一个页面,基于两种页面来判断sql语句是否正确,来达到一个获取的一个目的,这里呢要先给你们讲一个原理啊。
应该你们还记得吧,好我有给你们讲过,那个用and一等于一,and一等于二来判断这个四个注入存不存在,还记得吗,记得的话,并且理解与还记得原理的话,你就扣个一,就是用n一等于一,an一等于二。
既然记得的话,那就好说了,啊这里呢你们来记一下啊,咳,那就先看我的图吧,写好的呃,首先第一个我们看一下这条句子,这条句子能看清吧,id等于一,id等于一,然后呢这个debus的这个长度等于八。
啊我们这里回想一下,就是and一等于二的时候,他是不是这个语句就会报错,然后这里呢就会没有回血,当时我是教你们这样判断的对吧,然后你想一下,如果这个等式不成立的话,那是不是他没有数据。
如果这个等号成立的话,那他就有数据,就是跟我们的and一等于一,n一等于二一样的原理,对不对,这样这样说的话应该就很清楚了,然后我们再来看这个这里呢,你看我当我这一个长度等于一的时候,那它就没有数据。
那我当它等于八的时候,就是八是一个正确的嘛,那他就有数据,那我这里是不是就可以猜出,我这个data base的一个长度就是为八,因为它等号成立,那我再来看后面的,首先啊记一下自己一个函数啊。
这个你算啊叫什么去了,这里我截图还是发群里,就是你不要去死记硬背,待会儿呢我就拿一个句子,一个句子跟你们讲,你们拿着去套就可以了,用的多就自然熟练了,如果你去啊自己记住,到时候不会用,那反而没啥用。
这个呢我就发图,你们就暂时先不看,我们来看一下呢他这个盲注的一个流程,首先还是其实你可以看一下,跟我们原来的一个流程,其实基本上是一样的,只是它这里呢它要获取一个数据库的一个长度。
然后第三个呢就是猜这个数据库的一个名字,然后再拆这个表的数量,再猜某个表的长度,当然了,就是很多地方很多步骤你可以其实可以省略掉,但是你一个正常的一个逻辑是这样的,就是正常正常的一个拆解的一个过程啊。
首先我们来看它的一个过程是怎么样,第一个判断注入不用讲了,第二个就是获取数据库的一个长度啊,为什么要获取长度呢,啊,你比如说我刚刚这里获得了一个数据库的,长度是八,然后我再来结合一下前面的一个字符串。
这里是截取字符串,啊因为忙著的话不了这个,我就觉得你们不看了,我直接用实力跟你们讲,我觉得看这个反而会头晕,我们来看一下啊,首先我们来看一下我截张图,搞张图放这,然后把群屏都开着,好首先我们来看一下啊。
这里呢是盲注的第一个过程,这是我这个id等于一,and left less debus,然后1=1,这个left是什么意思呢,你来看这个比较一下。
首先这个left n this name是不是就是这个slibbe,就是我们的数据库名,然后呢我这一个一就是啊,你简单理解就是,啊这个数据库名的第一个字符,然后我这里呢前面有一个and。
那是不是只有当我这一个,就是当我后面这个等式成立的时候,就只有这个left select device一等于s的时候,它才会返回一个正确的一个结果,对不对,就是1=1嘛,到这里能理解吗,啊能眯着眼的话。
你还是扣个一,不能理解就扣个二,你先把啊,还有,基本是都理解了吗,都理解的话,后面就很好理解了,就是啊如果都理解的话,后面就很简单了,看一下啊,基本上都在这儿了吧,好我们继续来看,再看第二个句子。
再看第二个句子,林肯第一个句子是截取这个debu,第一个字符是s,那我后面猜第二个字符,第三个字符,第五个,第六个,第七个,第八个,是不是也可以用同样的方法来进行一个拆解,我们用还是用这个。
啊首先为了快速啊。
为了快速,首先我们还是先从这个缝隙来看一下啊,啊首先它这一个,数据库名是叫和田apple,对不对,你们当时做的什么数据库名是和田nel,然后呢呃我先不用忙忙著做好吧,我先用这个做。
就是我and一等于继续看啊,and一等于一,就是我and一等于的时候,这个页面它是返回正确的,然后我and一等于二,那它是返回错误的,那我比如说我把这两个条件改一下好吧,我把这个一和一改为一个debu。
等于一,那他是不是这个dbs肯定就不等于一,因为它是等于和田的apple嘛,所以这个语句他就报错了,就是我这个数据库就没有执行,那我当它等于和田nel的时候呢,因为debus肯定是等于和田nel。
那我这一个就是相对于这个等式是成立的,那我这个就会返回一个正确的一个结果,那我在盲注的时候是不是也是一样的,呃首先他这个门就应该是,我这1=1啊,n一等于一,它是ui in n一等于二,他这里就没有了。
同样的,那我是不是可以从这个debu来进行一个拆解,就是哦就是我通过一个一个拆,就可以把它这个数据库明给拆出来,到这部分应该说的很明显了吧,然后呢这里呢就是一个开表,就是我们拆完数据库名。
是不是要开始进行拆一个表的名字了,当然这里呢我不会跟你们一句一句的,就是让你们自己去做啊,因为是很傻的一件事,里面还是最重要的,首先是理解,看一下这里呢是and这个left呢,然后你们就跟前面的一样嘛。
就是我截取这里面这一条查询语句的,第一个结果,看到没有,执行这里面的第一个结果,啊我拿个笔一个一个来啊,首先是and,然后呢这里呢就是一个整体懂吧,这里呢就是一个完整的一个查询语句,就是一个整体。
你说从这里开始,这里呢就是一个整体,这是约我这个circle的一个查询语句,它会返回一个结果嘛对吧,我自己呢就是查这一个表的名字,然后当前数据库的这个表的名字,这一条你先不看,这条语句应该很熟吧。
让你们度过无数遍了,包头猪肉呀,还有啊联合诸如都做过,然后呢我就返回啊,我们原来的一个数据库名,它的一个表明是不是有四个表,有四个表对吧,那我四个表,但是我要猜的话,只能一个一个的猜,一个一个的猜。
因为我每次只能猜啊一个字符嘛,对不对,那我这里呢就利用这一个limit,我们看一下它这个是什么意思,返回a加一开始的b条记录是什么意思呢,就是比如说我是一杠一,那我返回了就是第四个表中的第一个。
那是从零开始吧,它的一个总整体意思呢,就是我返回我自查询表里面的第一个表,然后的第一个表再截取他的第一个字符,看它等于多少,因为我可以用大鱼跟小鱼先来判断嘛,然后判断到一定的值,就再用等于。
这条语句能搞懂吗,这条语句能搞懂,你就扣个一,我后面就不会很细,不会很细的说了,因为后面的语句都是一个意思,它的大于小于是按照abcd顺序吗,啊有几种啊,一种就是比26个字母吗,对啊。
因为啊我们来看一般的一个表明跟一个列名了,你看他们是不是一般都只有,最多就是数字加上字母,再加一个一个,那我猜的话啊,我只要把这几十个字符给他全部猜一遍,它总有一个是对的,对不对,他总有一个是对的。
当然这里我是要你们理解这个语,句的一个意思呀,不是让你们自己手工去把这东西给拆出来呀,不然我也不会教你们用csmap的,最开始就叫你们能理解这个语句的意思吗,不理解我就再给你们说一遍,首先这个and。
你就先不看,然后呢这个left它就是,反函数返回name啊,我搞个我搞个东西给你们试一下好吧,the ney cut,好我们首先来看一下啊,这一个left,比如说我这是2005,然后取一。
我们看一下我这个left me,这一个一它是不是返回a那我取一个五呢,那他是不是返回我的命,那我取个二呢,他是不是返回d,对不对,a跟d,那我同样的啊,我置顶了,首先我是第一个字符。
因为我要猜是猜第一个字符,对不对,第一个字符我们这里就用desps来代替,啊因为这一个呢是一个x s s e r,它的数据库名是xs s e r,所以我第一个就返回的是s对吧,那我第二个返回的就是xs。
同理第三个就是xs,第四个就是x x s1 ,那我这里呢是不是有一个东西啊,就是我首先我猜第一个字符嗯,我用这个来进行啊,用这个给你们来说明,看一下啊,首先你看这一条还是同样的呀。
我们一个一个通过参通过这个语句来看,这个表太多了,我找一下原来的表啊,原始的表,好我们来看这个,首先你来看这个语句,首先这条语句是查询它的这一个数据库的,表明这个应该还是记得的对吧。
那我加一个这个呢嗯加一个limit,1~1,啊还是扣掉啊,看一下啊,首先第一个表是email s,对不对,那我自己从零开始,因为它的意思呢就是,从a加一开始取b条数据。
就是我从零开始取第一条数据就是email,那我啊取两条数据就是email加f1 s,这个能理解吧,那我这里加一个left,我把这个括起来,嗯还有个括号吧,几,啊我首先这个返回的是email。
那我这个left在边上加个一,那第一个是不是返回的一,第二个返回的是em,第三个就是返回的emma,然后到后面一直加一直到返回email,就整个表到这里可以理解了吧,就是我这条语句它的一个意思。
那我是不是就开始拆啊,比如说我自己呢它是不是小于啊,就比如说它是不是大于a,大于a,大于a它这里要返回的是一,比如说我是不是大于,他还是对的兵啊,a b c d e f大于f,它返回的是零。
然后我如果因为它等于嘛,就是我等于一哈哈等于一,它为什么是返回的,这个这个我得去研究一下啊,他好像大v1 ,他也是对的,他这个就有点奇怪,他这个不服,它的一个整体思路就是通过我这条句子。
它是不是正确的来进行一个判断,这个整个的句子是不是正确的,到这里能理解的,你扣个一,应该讲的挺清楚了吧,嗯好,所以呢这个啊这个查表明他就是这样,一条一条这样查下去的,同样的呀,同样的这个查列也是一样的。
你看这条查列的一个语句,这个呢就是查这个username的第一啊,第一列,然后通过这个字符的这个对比来进行一个判断,那它有什么用呢,就是我自己呢主要是教你们思路,这同样的这个差值也是一模一样的。
你可以看他之,我就是先查这个password for users,然后第一个值,然后的第二个字母,就是从左边开始的那两个字符嘛,等于这个如果是正确的,它就会返回ui in,如果是错误的。
它就会什么东西都不显示,这里呢就是一个盲注,应该很好理解吧,好那理解了之后,我就再带你们看一下啊,记住啊,记住这个and呀,一定要理解,因为延时盲注跟盲注也是一样的,一模一样的。
首先你要记住有一个这个东西啊,就是,我这里面呢这个查询里面,sql语句里面有一个sleep的一个,他就是睡眠的意思,我给你们看一下有什么用啊,比如说我睡眠五秒,你来看一下1234,看到没有。
睡眠五秒之后他就弹了,比如说我睡眠零秒是不是马上就瘫了,我再睡眠十秒呢,然后你就自己数十秒,看到没有,它的一个意思呢,它的一个意思就是,让我们的一个数据库睡眠几秒,你这个sleep是几,它叫睡眠几秒。
那我讲这个有什么用呢,啊我们还是回到,这个首先我用这个数字型的一个注入好吧,然后呢还是回到我们的这一个里面看一下,我这里要加一个and sleep,两秒,有没有看到这个网站反应的有点慢,回过头来啊。
到这里来,他自己是不是返回了两秒,我这里加一个零,他是不是只返回了28ms,我再加个五呢,他这个网站返回了五秒,这个首先你要记住,有一个这样的一个sleep,然后呢有一个if语句,if的话。
如果你们写代码的话,就知道了一个判断语句,他这一个时间注入呢就是这样来的,就是第一个,如果第一个语句正确,那他就会执行第二个语句,如果错误就执行第三个语句,那你看一下这个and。
如果s s等于s等于s是正确的,他就会执行这个sleep,否则就会执行这个一,所以他的依据呢就是我如果在前面是正确的,那我就会延迟执行这个sleep,错误的话就不会延迟。
因为这个执行一的话是没有起作用的,那这里的s等于s,是不是可以结合一下刚刚的一个盲注,就是我一个查询语句,我是一个盲猜的语句,sli啊,猜比如说猜他这个数据库名等于多少,如果他前面这个等。
如果前面他这个句子成立,那我就会sleep,如果不成立,那就不会延迟,我们来看一下这个,如果这个debust的第一个字母等于s,那就会延迟,如果不等于它,就不会延迟到这里,那就能理解了吧,可以理解了吧。
延迟注入跟一个延迟注入,跟一个盲注的一个区别,啊这是我学习注以来的一个理解啊,呃理解的话,你还是扣个一吧,让我让我知道一下好吧,如果不知道,我就再给你们讲一遍,只有四位同学啊,完全理解了吗,五位,六个。
好七位同学理解的话就是超过大部分理解的话,我就先过一下,如果不会的,你们可以直接私聊我,或者私聊我们的助教,其实群里一直有个助教的,然后你们一直啊这里呢这个是一个助教,但是感觉没有啥区别。
放心待会儿晚上就会让你们看到一个区别,就是我除了忙注,我还给你们找了一个时间录的一个漏洞,就是单看它的一个写法来是没什么区别对吧好,我们来看一下啊,给你看个有意思的嗯,是第八关吧。
好像八关还是第九关去了,第八关是啊,我看一下啊,id等于一,下一个这里呢你看我加一个单引号,它就产生变化,就是一个盲注好吧。
你看我这第九关,我家这单引号有区别吗,诶这好像是加双引号。
没有。
那应该这就是一个时间度,你看我自己加单引号也判断不出来,他是他是是不是一个注入。
双引号也判换号也判断不出来,反斜杠呢,反斜杠也判断不出来,那遇到这种注入,那我是不是就只能用啊。
看一下它能不能执行sleep,and,加个五,然后就是三。
看到没有,你看一下刚刚他反映了多久,他是不是反应了六秒,那我再改一下leaf 0,一秒一秒加五秒,是不是刚好就六秒,那我这样才判断一个sk注入,就是我常规手法,我没办法判断出来他是一个十字路呀。
只有通过这个sleep能理解了吧,为什么要学这个。
它的一个就是为什么我跟你们说啊,这你如果如果我不跟你们这样讲,你是啊,你可能自己就慢慢去学会,学的很慢的,我跟你们讲的就是他的一个判断方式是一样的,然后其实后面都可以看。
我就是这个if这个地方改一下这个语句,那就行了,判断帮助,这样就ok,呃,还有不清楚的吗,就是那个啊延时注入跟盲注,还有不理解的吗,当然我教你们最好的办法就是今天,这个待会儿待会儿跟你们说。
待会跟你们说啊,好吧,你这一个同学也可能违规,这个呢我们就都在这个小课堂,小课q群里面说这种东西,待会儿下完课会给你们讲,同样的啊,我之前教你们的smap吗,为什么要教你们的smap。
因为我刚刚啊你们刚刚看了一下反应速度对吧,就是我如果进行一个盲猜,你有没有思考过,我把一整个我不说,我不说把数据全部都盲猜出来,我光是把一个不光是把它的表明给盲猜出来,你算一下时间都要多久。
每个语句每个人这样猜,他,每一个你就算用二分法,就是大于小于这种啊,你每一个字符都好像要拆拍多少次啊,反正要拆挺多次,因为别墅你把所有都跑出来了,啊没事没事,这个只能我看得到,所以说你想一下。
这时候告诉你们的好办法就是啊,首先我先是手工判断了,记住啊,盲注跟这个刺客跟这一个时间录入啊,你不管扫描器扫没扫出来任何的猪,你都要知道怎么手工判断,就是我首先我要知道怎么判断他。
扫描器有没有给我一个误报,然后我跑出来之后,我就把我这个盲注的这个url,同样的就是map里面,昨天我跟你们讲了一个,最快的一个,就是我啊最方便的一个吧,就是我利用这个bp这个包。
把它铺成一个text的文件,然后用smap进行一个打开,然后呢smap gr,然后就让他自己跑了,你看这盲蛛,它就自己萌猪出来了,其实你可以看了他这里盲目了,check map也是一个一个一个一个拆的。
你看他出来的一个速度,它是不是一个一个拆,只不过这种自动化的,就比我们手工要舒服太多了,它也是一个种植的这么多菜,你看,他首先第一个是它有几个数据库,这个数目也都是一样的呀。
然后再拆这个数据库的一个名字,然后再一个一个菜,所以说呢我们的这一个啊盲盲注的话就是这样,然后你这里有一个延时注吧,延时注入力位太慢了呀,他这个时间忙不特别特别慢,我这里就首先我简单的判断一下就好了。
就是我不跑dbs了,ebs可太慢了,你看看他这就测试这一个延时注入,那接下来呢还要给你们讲一种啊,还要给你们讲一种,就是叫堆叠注入。
要给你们讲一个堆叠注入,这里呢我就随便让他跑了。
前面两种盲目应该讲的很清楚了,我觉得要给你们讲一个堆叠注入,比较有意思的一个注入啊,首先我们看一下这个sl语句的一个特性,就是我这里用逗号隔开,你可以发现我这里呢就会执行两个语句。
比如说我这一个首先我执行一个,然后我用这一个分号隔开,那我再刷前面一个,看到没有,我用这个分号隔开,user,password,拍个什么数据库去了,嗯等一下啊,还有个什么表情啊,mail,报什么错呀。
room,好可以看到我这里加一个分隔符的话,它会返回两个结果,就是我如果利用这个分隔符,那我这一个语句就可以执行两个语句,然后呢如果有分隔符的话,对你好的好的好的好,就是我如果有两个语句的话啊。
我如果可以用分隔符,那我这一条语句是不是可以自己随便输入,就是我包括啊,因此,从此处包括更新,包括delete,然后包括我的update,就是更新数据堆叠注入呢,就是我如果可以用单引号隔开的话。
那我所有的一个查询都可以做,就是后面所有的语句都可以做,那他什么时候会出现这种东西呢,首先我们来看什么叫堆叠输入,就是一堆sql语句可以一起执行,然而真实的运用也是这样吗,首先我们来看第一个。
我们从源源代码来看嘛,看到这两个没有,这两个函数,我们看一下,qq语句里面的一个函数,首先第一个它的一个sql语句,这是他的sql语句,然后呢他利用这一个函数来执行这个sql语句。
这个函数呢只能单条执行,看我这上面的一个说明,只能支持单条的一个数据库查询,但是呢这里呢还有一个函数,就是可以执行一啊,执行一条或者多条查询,然后多条查询的话,就用这个分隔符分号进行一个分隔。
这里呢啊十秒钟给你们看一下,记住这两个函数,然后我们看正常的普通的sql语句啊,就是普通的sql注入都是指单调的单调的,但是你想一下,如果当一个业务啊,就是如果这个业务的这个地方啊。
我我有多条sql语句要运用的话,那是不是只能用这个函数,你看,原理还是一样的,就是我这个sql语句带进去,唯一的不同点呢就是我这个地方啊,我可以用这一个单元,这一个分号来进行一个执行。
就类似这里我这里呢执行了一个id等于一,然后又执行了这个intrintr,就是像我的这个id,就是在password里面加入38再38ho,当然这一种呢也比较难遇到呀,所以呢只给你们提一下。
就是可以进行一个他这种就权限很高。
可以执行任意的一个sql语句,可以执行任意的4k语句。
那我为什么要跟你们讲这个呢,啊待会呢会给你们看一下一个,就是除了我之前给你们的两个四个注入呀,还会给你们看一个新的这个注入,当然那一个我待会会在群里面进行演示好吧,然后关于今天的第一个堆叠注入。
还有两个盲注,不会的,你现在就在这里面说,直接给我提问,然后我就给你们解答一下,再过五分钟左右的话,我就直接下课,然后在群里面给你们看一下小课,记住啊,重要的是理解,堆叠还是不明白好,我再讲一遍。
首先第一个,我这一个思考语句里面,就是我是用分号进行一个划分的,就是我一条查询语句,我是通过一个分号,你看比如说我这里呢,我这样就会有两个结果,结果一结果二,那我再来一个,嗯看看还有哪个表。
我这样呢你看底下两个结果,现在是不是会有三个结果,就是因为我sl语句是通过这个分号来进行,一个注入的啊,这就是我通过这个分号来划分一个sl语句的,这里能理解吗,能理解的话,你就扣个一,它是通过这个封号。
好,然后呢它有第二个函数,看到没有,这里呢我们的菲律宾里面,它有这样的两个mysql的一个执行的一个函数,他这一个函数你看到没有,因为我sql语句要执行,对不对,我的整个程序。
我要跟我的一个数据库进行一个交互,那我就要一个函数执行这一条sql语句对吧,然后呢我这里呢刚刚我们首先回到这里,我们的分号是执行一条四个语句,那我在我的这个后面还是回到原来的质量,啊这个这个语句。
这个id这里我把它改成这样,那他我这个语句是不是就变成了这个样子,我用分号执行了前面的这条语句,然后又执行了这后面一条,然后又执行了这一条,就执行了三条语句,三条四条语句,到这里能懂吧,自己能懂的话。
这就简单了呀,就是因为这里有一个函数,我这个mysql函数,它可以执行一个或者多个数据库的查询,就是跟你普通的sql注入没什么很大的区别,只是堆叠注入啊,因为你想一下我堆叠注入,因为我可以用分号隔开。
那我后面的语句是不是可以自己随意,比如说自己进行一个更新啊,或者进行一个删除啊,对不对,都是可以自定义的,但是我们原最原始的一个cil注入,是不是只能啊他这里查询的话。
那我只能用一个u n i o n直接查询,就没办法用我们的一个分号进行一个隔开,很简单理解,就是堆叠注入要比普通的注入权限大,可以理解了吧,嗯然后呢给你们的一个现场的一个实战练习。
就是这一个知识的一个思考的一个绕过,对助教老师都出现了呀,这里呢是一个,b e s的一个cm s,你们的一个课后作业呢,就是我我不要求你们把所有的都注入出来啊,我只要求你们啊注入出一个表。
都是数据库名吧,我只要求你们把这个数据库名给输入出来,就可以了,当然你们想做更多的就自己去做,你们如果把这一个啊就是单纯用思考注入做呀,做完之后你们应该就可以理解很多东西了吧,这个猪差不多就掌握了。
剩下的就是自己去寻找漏洞,对id。
然后后面加个分号,然后你后面再执行这个语句就可以了。
好然后呢嗯你们今天得我还是发公告吧,我写公告里面4月13的一个作业,还没有选择src的,就把src发给班主任啊,明天的话,因为明天是我四个柱子最后一节课了,然后我大概的话会休息个一周多。
中间是啊啊小姐姐给你们讲,或者是另外的啊,呃刘师傅跟你们讲,然后我明天的话就带你们挖一下,你们选择sr c的话,明天大概是明天吧,明天你们就跟我一起进行一个漏洞的挖掘,进行一下尝试啊。
挖洞的话也没那么难的呀,今天今天我大概跑了一下,美团的话,今天也就也花了一两千块钱,1000多块钱吧,反正也就弄了,就交了两个简单的洞,好那今天的话就下课,剩下的我群里面给你们讲一下那两个输入呀。
好吧,在群里面开小课。
P15:第13天:SQL注入漏洞-SQL注入漏洞挖掘思路讲解 - 网络安全就业推荐 - BV1Zu411s79i
rap的话他只能跑出一个表明,而且我感觉rap有点问题啊,我也是我写,我写了个temple,它都没跑出来,嗯也没事,你听你待会听我讲就知道了,越讲的话,可能会就是当一个完整的一个网站来进行,跟你们讲。
就是我不会只针对这个点讲给你们得听好喽,这都是思路,啊就是以后如果你们在做练习的时候,不只是做练习啊,包括在漏洞挖掘啊,或者在对某些网站进行渗透的时候,可以开始有前面的一步的一个叫什么都可以。
有这样的一个流程吧,有这样的一个步骤,嗯待会儿哦我翻一翻,有没有一些,待会翻一翻,有没有以前的一些文章给你们看一下,看一点其他的一些东西,对了对了,忘记一个事了,嗯今天的话同样会有一个小课呀。
对我还没通,班主任让你变老师,一下,看一下我课程还到什么时候去了,4月27号好,那我能休息半个月,视频票,这是什么东西啊,导出前面列表,发现设置成用40p p t安装路径,你一层,算了好。
开始一个今天的一个课程讲解,今天呢是给你们讲一下,一个sl注入的一个课程讲解,然后哦先从这里面来看呢,就是我们先来讲思路,首先打开一个这样的网站,就是啊我给的就给你们一个网站。
然后呢这时候要你们想一下啊,这一个网站拿到这个网站,我们的一个考核点是一个四个注入,对不对,今天哪个考点是一个四个柱,那你说这个网站哪些点可能会存在这个注入呢,啊。
首先我们思考的是这个第一个这个搜索的功能,这里可能会有,对不对,然后可能还有这些,你看这里也有id等于多少的这一块,然后呢应用案例因为挺麻烦的呀,就是他可能其他点也可能还会有漏洞,但具体没有预测的。
既然我要给你们讲一个思路,就是先看ppt吧,首先我要判断我这一个网站是一个什么样的,一个框架,d s s,首先呢我们要判断它一个是一个什么样的框架,那怎么判断呢,这个其实很明显了。
你们可以看到e e e e s企业网站管理系统,我说一下,我这样关键其他,诶居然可以发现,百度可以搜到这个网站的一个东西嘛,就是可以搜到它的源码,这就说明了我这个网站是一个开源的,是一个开源的一个网站。
啊那我平时在做渗透的时候会怎么做呢,我这里应该是目录的关系啊,所以用明细的话可能解不出来,我们可以百度搜索一下指纹识别,这个一般是用明细啊,但是明星指的是一级目录,要记住呀啊我们的一个所有的网站。
我们在对所有网站在进行一个深入的时候,都要有这样的一个思路,输的好像不是王者啊,这是因为我输入的这个目录呀,它目录比较长,但是这里啊,这里我们就可以识别出是一个b e c m s。
然后呢可以识别出它是一个psp的p h b,其实可以从我随便点一个,从这里的一个后缀就可以识别出它是一个psp,然后是一个b e c m s,那我们识别出来之后呢,又有什么用呢,这里先不说。
我们来看一下一个简单的一个思路,资源就是以前的一个思路,首先他是进谷歌找记录,没记录就找房租,没房租就开目录,这个以前的一个思路跟现在啊,你去渗透一些比较老的网站还可以,但是呢现在来说不是特别实用吧。
不是很实用呃,然后呢我要教你们的两个点,就是第一个先识别一下子指纹,就是我刚刚跟你们说的,识别它是什么cm s,然后是一个什么样的服务器搭建的,然后呢是一个什么语言,比如说psp和jsp这一些。
然后第二个呢查找目录一定要记住啊,查找目录,我记得我跟你们说过一个工具吧,叫dr设置或者遇见对吧,这些扫目录的扫后台的一个工具,这种应该啊还是有印象吧,这里我因为我那个御剑四点有点大呀。
我用一个跑的快一点的,就用dr设置来跑,我们的一个目录是这样的,啊然后呢,我就开始对这个网站进行一下,目录的一个扫描啊,你们要记住啊,如果这是你从单从这个页面找不出什么漏洞,或者看不出什么东西。
举个页面,或者他有可能啊就是一个单纯的一个网站。
比如说是什么东西都没有。
这啥也没有,那这里呢你看到所有的赞,都可以用这个来扫目录啊,然后你这里就可以看到一个诶,有一个a的命的一个后台,然后呢看一下啊,然后还有个boot,还有个upload,开个time。
这里呢我们根据这个目录来的,有一个admin的一个后台,是不是就到这一点了,就是我扫完之后,我就看一下后台有什么东西吗,这是一个思路,发现一个命的一个目录,然后呢就开始进行一个测试。
首先我们来讲第一个思路,第一个是识别它是一个b e c m s对吧,b e c m s,b s c m s,最简单的就是我百度1下b e ccm,有没有什么历史漏洞,你看直接就漏洞吧,当然我个人建议啊。
个人建议你们用谷歌呀,百度的话其实有点哎,我也不黑他好吧,就是不太好用,就是搜这种学术性的东西,或者搜搜这什么不太好用,但也是能搜到的,你可以看一下,这里有一个四个注入,然后这里还有个系统漏洞,你看。
当然他这一个有很多漏洞啊,有好有好几个漏洞,有好几个漏洞,你看任意文件上传这个输入,这里呢要给你们讲的就是一个四个注入漏洞,就在这个位置,嗯我先看一下我的bp,四个中路这个点都找出来吧。
有没有没找出来的,你没找出来就给我扣个一啊,就是如果连这个位置的一个四个注入,都没找出来的话,就扣个一,我感觉应该这里的一个是个猪肉粽,你们都没找出来吗,你们没有找出来吗,三个好吧啊,听我听我的一个啊。
就是,我教你们的最快最简单的一个办法啊,最快简单的一个办法一定要记住啊,就是不管是你这个b e c m s,还是以后所有的网站都可以这样操作,就是我是啊,我先看到一个bs后台管理登录。
或者我这里b e s cms企业网站管理系统,我们就可以去搜看它有没有一些历史漏洞,历史漏洞懂吗,然后我们看一下,随便就点开一个嘛,就会发现呃,他自己都看不了的话,找个看得到的。
就可以发现很多的一些文章啊,他这里有很多的一个漏洞的一个讲解,首先看这个是不是一样的,源码是一样的,虽然它的一个,它就有一个后台的一个四个猪肉洞,然后我们看一下它的后台啊,首先我们来试一下啊。
还是同样的,我自己就输个单引号嘛,然后123456随便输712b点击登录它,这里呢就出一个验证码不正确,啊可能是这个有问题啊,679d我们这里呢可以用bp来做,验证码还是不正确,什么鬼吗。
你们是不是有人在跟我同时啊,一起刷这个网站,在这里你是不是可以看出来,他有一个设置注入的一个漏洞,而且呢他这个验证码没有过期,就是我这一个验证码,我可以无数次的操作,只要我不刷新我这个网站。
那这里的一个四个字是不是就找出来了,对吧,这里呢就是我们的首先查看历史漏洞,然后呢,它的一个考点就是后台有一个四个注入漏洞,然后呢会有一个,啊这里呢可以用测试注入显示,待会给你们讲。
因为自己降低难度了呀,你看关键词就是b e b e s t m s漏洞,你这就随便搜一个吗,随便搜一个,然后我们就可以,根据他的一个判断就可以找到这个这个注入点,对吧,然后呢我们找到这个点呢。
可以看一下别人的一个分析文章,就是啊你可以看很多分析文章,他只讲了一个大概,因为首先你第一个这一个是开源的,那我是不是可以下载它的源码b e s源码下载,这里呢就要考验一点代码审计这个能力了。
当然你们可能代码都不好呀,这也没事,同样的,我来通过源码来给你们分析,他这个四个注入为什么会产生,这里呢也教你们一点点,就是这种代码审计的一个思路啊,因为这里呢要黑盒的话,就是你自己不看代码。
然后自己去猜这个四个字,非常非常恶心啊。
非常非常恶心,啊我们首先来看了。
首先我们看一下这个设备注入的一个,文件是哪一个longan。
点菲律宾我们就找到这个文件啊,然后呢你当然可能会觉得很乱了,这里会很乱嗯,首先我们来看一下它,这里呢有一个。
这个地方,这个地方是不是就是我们的一个user的一个参数,就是我们的这个user post user,对不对,自己能看懂吗,你看这个位置,这里呢就是通过post传入这个user的值。
然后我们再来看他这个user呢后面到哪里呢,到这一个chlogan这个函数里面去了,但是你首先经过了这两道过滤啊,这里能看懂的话,你扣个一,经验告诉你,我的命能出后台,嘿嘿,只有两位同学能搞懂吗。
嗯好这里1234567,还有几位同学不懂吗,嗯不懂,你就看一下前面的一些代码呀,就是我这个post就是这个传参嘛,这个肯定是知道的。
然后,这后面的呢就是首先他船舱经过了这两个参数,这里呢我们先这里也可以去看吧,我就跳到这一个里面去啊,你就可以看到那是不是这样的一个函数,这个函数它有什么作用呢,关键在这里。
他把这个里面的这些值都给它变成了一个空的,这也是为什么你们的双血可以绕过去,这样就先给你们截个图啊,看一下它的一个绕过规则,先给你们截个图啊,这个很重要,这里呢我先不看我先不看好吧。
然后我再来看这个chicken loken,这里面为什么会有一个注入啊,你可以看到这是我们刚刚传入的一个user,对不对,这是我们刚刚传入的这个user。
然后这个user呢就传到了这一个mysql语句里面,然后你想一下user是不是只经过了两个,刚刚的user只经过了,经过了两个过滤,然后呢直接进入这个sl语句里面,那我们是不是只要绕过这两个过滤嗯。
超过这个fl html,这个基本上不用看,你看它自然就是一个实体化,他这个的意思你们学啊,sk注入应该有学吧,防刺客注入用的就是把一个,把这两个框框变为实体,然后呢这一个就是我们绕过这个东西。
这是一个黑名单的一个匹配,好我们来看一下。
我们继续来看这个,首先我知道了这里存在一个是注入。
然后我知道了他的一个绕过的一个规则,我们看一下怎么绕过。
首先我判断这个注入点啊,这里可以看到很明显。
这几天刚刚也跟你们讲啊,首先我们是不是要做的是一个old by,就是我刚开始最开始教你们的就是啊,先用old by来判断嘛,对吧,hold by 5,你看它是正确的,或者by 6,它就是一个错误的。
当然它这里呢啊,他的联合注入是没办法显示的呀,这里没办法联合显示,但是你看到这个报错的详情,是不是能想到一个报错注入对吧,我看到这里我报错,那我能想到一个报错注入,那我用爆头之路怎么做呢。
首先第一个我们来看这个过滤的一个规则。
他这里的意思呢就是把这个slat变为空的,然后这个u n i n变为空的,然后你想一下我为什么要这样做啊,首先你看我这中间的u n i o n两个空格,这个地方是不是匹配了这一条。
那我这两个东西就是变为空,把它去掉,那我后面这两个u n i n是不是组合起来了,又变成了一个,这个我这个select就是中间这一条双写,其实所有的绕过都是针对程序来写的呀,就是我程序怎么写。
我就怎么绕,那我到这个地方这个u n i o n,然后要构造成这样,这个能理解吗,能理解的话,扣个一,为什么要这样构造,还有几位同学不懂的,你就再来看一下,就是我们的这一条这条语句的意思。
就是把我这里面的这些字符看到,这个匹配到的没有,就是我这里面的字符都变为一个空的,都把把这里面的字符变为一个空的,然后呢我这里呢当我这一串变为空的时候,我这剩下来的两个字符,那我就重新组合起来了。
变成这个样子,那我后面就好做了呀,首先我们来看一下啊,我们看一下它的一个过滤,还是看一下他把这里的and and,然后啊,from where group intro,这些啊变为一个空的。
那我们来看一下,首先一个简单的一个boss注入报错注入的语句,它是不是这样的,and首先我是报他的数据库,首先我的一个数据库的一个报错注入,是不是这样的,先把这个call过来吧。
首先我的一个数据库报错注入,原来是这个样子,就是它一条完整的语句嘛,就是and,然后加这个,再加我们的一个debus,我们首先勾一下,哦他这个and呢,他这个and呢,因为是它这里呢匹配的是一个空格。
and前面要有空格,他这里呢才会去掉,所以我这里直接就把b e s直接爆出来了,但是我按前面加个空格呢,你可以看到这是我们的一个sql语句,我这里的end就不见了,那我就可以用这样的一个啊。
首先一个a然后amd and双写,这样就可以进行一个绕过,你看我们的sql语句,那我们再用这个啊circle的一个报错语句,我们查了一个库了,是不是要开始查表了,查表的话也很简单。
查表呢我们还是首先来看啊,呃,我把原来那个爆头猪的那个ppt给弄出来啊,我就不直接哭了啊,我把语句扣上去,然后我自己给你们敲,现在你就看得仔细一点,首先我们看一下报社注入的一个报表名,是什么样子的。
这条语句的话应该大家肯定是记得的,它的一个语句呢是这样子,这个and嘛,然后这里面呢就是一条查询语句,那我们就对着我刚刚发给你们的。
一个过滤的那个截图,这个截图一个一个看,首先这个and发现and空格它会过滤,那我就在这里加一个空格and好,这样我and呢就构造好了,然后再来看这里呢有一个,cocat它没有过滤掉。
然后slislice呢就是在这里,那我在这里面输一个这样的,然后group它又可以,它又被过滤掉了,看到没有,这里,那我还是同样的嘛,用这个双写进行一个过招绕过,然后负重也是,然后再看v。
然后tab设置等于debus,这里呢你可以看到最坑的一个,就是这个等号被过滤了。
那我这个等号被过滤了怎么办呢,对吧,我这个等号过去了,你看一下啊,我这所有的一切前面都还是正常的,但是我后面这个等号没了,等号为空的,那怎么办,因为我这他等号是不管多少个等号都是水库嘛。
你看这是dress没了,反正就,啊那我是不是,可以想到另外一个就是一个in搜一下mysql in,首先来看一下mysql中的一个硬的一个用法,啊我只有我记得我只有在一个boss注入的时候。
讲了一个north in对吧,在这里讲过一个north音,当时还没怎么停,因为它是一个条件语句嘛,那你想一下我这个north英语,如果我把north去掉呢,就是这一个ceo什么东西在这个值里面。
当我只有一个值的时候,是不是就啊,这个就类似于,16进制代码不行啊,like也可以,like也可以,方法很多呀,方法方法很多,啊我这个呢就是这个in呢,其实就啊就是类似于一个等号,等于id。
这里呢是一样的,你没有自己的思路也不错啊,挺好的,然后我这里呢嗯,就弄一个硬,in的话,他是要打括号吗,然后看一下你错了,这个in呢它也被屏蔽掉了,你来看这里的一个音。
那我们在同样的同样的老办法忽略这样啊,那他的这个表明是不是就出来了,后面的后面的话还需要讲吗,一个思路就是这样,首先是我先去查看它的一个过滤规则呀,我查看它的一个过滤规则。
然后我利用这个过滤规则进行一个绕过,这里的话应该挺简单的吧,啊可能就是你们如果手工去绕的话,绕的比较恶心啊,啊,查表的数据它会报only什么什么什么,嗯查表的数据,你是看查哪一个表呀,查不出来啊。
我试一下,因为我具体他这个mysql它在哪个表里面,我也忘了,然后你再来看一下爆裂的一个语句啊,还是一样的,就是我把这个我这个报表呢,因为他这个表你看到没有,它只能显示32位,没有出来。
然后我这后面再加一个and note in什么什么东西,就跟你们之前的报酬注入一模一样,这就不讲了,然后他这里爆裂呢,诶哪里去了,它爆裂的一个plot的也是一样的。
你看let grp contact它的这个名字,然后后面接一串,刚刚有的同学说他没办法报什么东西啊,你是说表的时候对吧,就是sli,看一下啊,that我们是admin name,他这里是抱住我的命令。
然后人民pass,怕死的吧,就是我一顿查询,我就爆出来了,这个这一个bs admin里面有这样的一个列,然后负重,from我们的一个b s的命吧,对吧,是这样吧,然后我们再来进行一个过滤,绕过过滤。
这个绕过select,好吧啊,数据库操作,oppo数名列,这里,打括号啊,这不是查出来了吗,这里,这不是可以查出来吗,你看他的用户名是adm,然后我们单看一个password,他这个怕说的不就这样吗。
呃直接绕过登陆径管理啊,也可以,因为我我跟你们说过吧,就是我可以搜这个b c m s,还有一个零哦对因为看到这个这个没有,他总共呢base 64是有32位,然后我这一个,然后我这一个吧。
这个东西呢他把这个32位给去掉了,你懂吧,这是比较尴尬的一件事啊,他把这个32位给他去掉了,但是呢我不加这个0s7 ,还有,爆出来了,他图又爆出来了,我是不是加了两个0x7 啊,难怪我加一个0x7 。
它就爆出来了,然后我们去搜一下啊,记住啊,cm。五cm d5 可以在线解密,我们的一个md 5,或者稍微问题我,问题或者说问题,我这两个比较好用,我们去解密一下,输入我们的刚刚这个md 5的一个值。
看一下,解密,此密文无法识别,还是这个的原因吗,又多了一个071吗,看一下多少位,1234578 90 60 70 89 22,12232425,他这才报出25位呢,那我们就继续加一个条件嘛,没有啊。
有多可硬,不要admin gutf word,not in,好,咦他这为什么还有呀,01920什么什么500哦,他这是把最后面的爆出来了吗,他这个就有点坑了呀,因为他是个sim,因为它是一个叫什么去了。
他是一个六啊,32位,还有32位才可以,我看一下啊,那他命234是一个m,就我这他这个爆头之后只能做出一半呀,就是admin的一半,截断嗯也可以对,可以用截断,啊就是我这里的一个。
我这里的一个grab contact at,我就再加一个sub,suv s t r,然后我就再加一个条件,0x7 ,然后服用对他这个括号得打在这个地方,嗯s b s t r的一个,啥用去了,自己都忘了。
contact,还是给你们讲盲注的时候讲的,我用left吧,用left吧一样的,哦不left,他总共只有这么多呀,没办法呀,这里自然就是在这个地方,因为我们原来这里呢是一个整体对吧,普通。
这条语句是一个整体,那我呢在中间把它截断一下,就是把这条语句截断一下,反正最后得出来的是a的命123,他的一个账号密码呢就是一个a的m23 ,后面呢你们就可以用这个东西登录,你看,主要是我这一个值呀。
我这个值我可以啊,比如说我还可以用之前的一些截取字符啊,主要还是因为我这一个爆速度,只能报这么多位吧,报32位,你手工珠没上,所以一定要记住啊,我给你们讲的思路在啊,不管是在渗透其他网站。
或者是我们的练习靶场之前,你首先你就得去搜一下,说一下这个东西有什么漏洞,它是不是一个cm s,如果是cm s的话,就很有可能网上有公开的一个漏洞啊,我跟你说用历史漏洞的话,是可以拿很多东西出来的呀。
就是叫什么圈历史漏洞,啊现在外面的一个漏洞,基本上就是历史的历史遗留的漏洞,占了将近三四层吧,或者四五层,然后还有一个绕口令,这两个半壁江山,整个山坡里面的,好然后我们再来看另外一种啊。
就是之前是没有给你们讲的,这个sql注入呢是可以进行一个写cl的,因为我只教过你们用smap写一个cel,当然有同学自己去研究过啊,就是怎么用这一个选项,首先你要记住一个点,写shell呢。
一定要是可以使用联合查询语句啊,一定要可以使用这一个联合查询语句,如果你不用联合查询语句是没办法写的,因为他要先调用一个slice的一个语句,然后我们看一个看一下这条语句是什么意思,这个就是sli。
然后这1234什么东西都不用管了,月总共15条嘛,把这一串数据写入到to alfie,因为我这里aufile呢它是也是被过滤的呀,所以我自己加了两个写入到这个路径里面去,切入到这个psp里面去。
你们可以看一下效果,所以呢这一题呢也是你你比如说你要拿cr的话,也就很简单,他这个题目呢总共有,首先我第一个我这个四个注入可以拿下,就是可以拿到我们的一个网站权限。
然后呢还有一个是叫b e s t m s吧,他后台有一个任意文件上传完,看到没有,这有一个后台上传漏洞,发给你,首先你看登录到后台,你们可以去拿着啊,后面是可以复现的。
当然啊下一节课的文件上传也会讲这些东西啊,会讲这个我就不过多讲了,今天呢我要教你们的就是一个,set注入的一个选项,首先第一个满足的条件要可以联合注入,第二个条件是叫,i circus的配置。
他那个配置叫什么东西去了,忽然之间一下忘了啊,你可以搜一下s e c对,它这里呢它需要为空或者为一个新号吧,因为空或准备新号,你们可以去搜一下这个配置,他这个是什么意思呢,它这个就是他这个配置的意思。
就是,标明你这个mysql可以在哪一个目录可以写,当然我这里啊,我这里的一台服务器啊,好像是这台吧,我这台服务器是设置了你们可以任意可写,好我们来看一下效果呀,首先我先把我的这个,l l s吧。
这样你们看的好一点,还是阿波罗的,就是我这b1 cm s的,所有目录都可以写三个龙吧,我们来首先我们把这个语句call一下啊,我同样的,我把这个语句发给你们了,你首先看一下这个语句的一个作用是什么。
至于我为什么这里要用0x呢,这是因为开始给你们讲的一个配置。
还记得吗,就是在这个地方,他把这两个给实体化了,我们的mysc就没法写这个地方。
虽然我这里用0x进行了一个绕过啊,我这个目录我改一下啊,这个目录是随便你们挑的,我们看一下啊,这里是没有,我这一个,这是点psp的,然后再看一下,播了出来,然后我cut看一下,同样的。
这个1234是什么,1234,然后呢这一条好好,诶,看一下他这个语句呢,就是把这一个这个代码给他写进去,写到我的,杠四和杠b c m s哦,我记得有同学是问过的呀。
对有同学是在问这个文件路径是怎么样的啊,首先我要跟你们讲一个。
首先我要讲一个经验,首先第一个你看我们的网站了。
你看我们的网站是什么样子的,我们的网站路径是不是这样的,然后呢我们可以从这里面可以看到,就是呃我们在抓包的时候,你可以看这边有个返回包,可以判断它是一个阿帕奇,然后是一个生产os阿帕奇的目录,还记得吧。
杠vr杠杠w杠四星没有,这是让你们linux搭建那个网站的时候的一个目录,这是默认的,我这就没有改,当然还有其他办法呀,首先第一个我这里的一个字符的一个错误啊,啊这一个没有爆出来,我看一下啊。
他这里没爆出来的话,那就只能用一个,看一下啊,就是mask里面有一些配置,你们后面会学,我现在我现在讲给你们听一下吧,讲给你们听一下,就是mysql有一个at at sdr吧。
mysql的一个alt f death dr,它的一个意思呢就是把我们的一个mysql,这查不到呀,就是把我们的一个叫什么东西去啊,把我们的一个路径,把我们的mysql的一个路径给爆出来。
把我的mysql路径爆出来,至于把这个路径爆出来有什么用呢,啊首先我如果我是linux的话,我可以猜到对吧,但是如果是菲律宾四大顶呢,菲律宾四大顶,那我目录是不是就没法猜,等一下啊。
我把我的pcb study开一下,然后我们来看一下这个配置比study,一定要记住这些常见的目录,是你们自己需要记的,我们的一个网站根目录,是不是,比如说我这里是一个e盘。
然后这个地方3w就是他的网站跟路径,那我们的mysql在哪个位置,你看这是3w,这里就是mysql的位置,那我如果用刚刚的这一个,用我们的刚刚这一条,是不是可以把我这个mysql的路径查出来。
然后我们再结合常见的一个路径,是不是就可以把这个3w也给构造出来,所以说它的路径大部分是靠猜,所以为什么我开始说过mysql,它的一个get shell是很条件是很苛刻的,另外呢还有还有一种呢。
还有一种就是,数据库报错啊,不跟你说,啊就是比如说我随便找一个网站了,我想一下也不能找别人的,比如说你看我这我这aa是一个错的,登录后台系统设置,这里这是没有的,就是可能有一些网站的话。
是会有一个是会有一个,路径的一个配置,就是它会直接出来在网站的一个配置里面,所以呢其实这一次的一个考核说难也不难吧,只是对你们初学者来说就是比较麻烦,所以他的路径是猜出来的,干边二杠3w干kml。
当然了,当然我记得这里好像不止一个题目吧,啊如果我没记错的话,你们有一个,好吧,这里钻石只给了一个特助,就是还可以配合其他的一个漏洞,进行一个其他的漏洞,进行一个路径的一个配置。
当然我觉得这里应该就很好做了呀,-1,然后n i n,这里我改为一个cs,你看,这是我们的一个mysql的一个路径啊,linux的一个路径基本上是可以猜出来的呀,如果是那个的号,好,开始一个在线解答了。
这个考核,你们哪一个点没有听懂的,我就再简单的给你们讲一遍,你们要记住,就是要去会百度,百度搜索这一个cms,然后如果还有没做出来的,待会儿记得下完课自己再去做一遍,因为你可能觉得我自己听懂了。
但是你实际实操的时候就会发现很多问题,嗯你们都没有问题吗。
都没有问题的话,我就slice为什么不用加空格啊,不是跟你们说了吗,代码写的,你看一下这个slit是不是没有空格,然后我这个u n i o n是不是他加了空格,是根据代码来的。
所以说啊那些盲猜的应该也找到教训了吧,如果你如果你能看着这一个过滤的一个代码,来进行一个绕过,是不是就会舒服很多,你也不要怪我们。
怪我坑你们了啊,这个是很正常的,你们多动手的话才会有一些思路吧,多动手对啊,我代码我直接就搜嘛,b e s t m s,然后我就可以搜到这些啊,这些源码,然后他们很多渗透。
就是我可能我这个网站可能没有历史漏洞,但是我比较厉害了,我就直接去下载他的这个源码,然后进行一个分析,今天重要的思路还不只是那个aw少了一堆注,就是没有的命,悠着点啊,awa死也是他妈不跑的话。
得自己写temple,不写temple跑不出来的,这个因为有过滤,然后他这一个我跟你说,他这个漏洞不知道是怎么回事,我写tao,他自己也没出来,所以我就没跟你们讲那个天赋了,所以为什么我教你们这个猪肉。
还是要教你们手工,如果这个smap真的是个万能的,我就根本就不需要教你们手工了,喝个map不是万能的,你看我这之前都写好了一个探讨,但是他跑不出来是真的尴尬,内容管理上传的码为啥会给注释。
我要看才知道呀,那一个啊,我讲了刘师傅会打我的,他这不是后面还有一句文件上传嘛,对吧,你看,我讲完课之后就是文件上传了,文件上传的话,到时候会给你们讲,上面都会有的,好吧啊。
这个注入的一个课程基本上就在这了,另外给你们啊提个小建议,就是觉得我们前面课程讲的还不错的话,给我们刷个好评好吧,给我们去放个评论,后面的话会慢慢学,待会儿的话我就给你们啊,再开个小课吧好吧。
再开个小课,好,那我今天整个社会中的一个学习过程,基本上就完了呀,你们有时间的话就自己再复习一下,回顾一下。
好啊。
P16:第14天:文件上传基础及过滤方式 - 网络安全就业推荐 - BV1Zu411s79i
好大家晚上好,呃时隔一周,我们又再次见面,嗯首先的话嗯我大概介绍一下我吧,就是呃就大家如果说有问问题啊什么的,就前面的话也忘记说,给大家做一个基本的一个介绍,就我的话姓刘,大家叫我牛老师就可以了。
逆刀牛,大家就叫我刘老师就可以了,好的话,我们本节课的一个课程内容的话,就是一个web share的一个介绍,呃,啊为什么要讲这个web shell呢,就是呃我们在明天的一个课程,也是这一周的一个课程。
内容的话就是一个文件上传漏洞的一个介绍,以及它的一个应用,然后在讲文件上传之前的话,呃,就是我特意就是对着一个web share做,给大家做一个介绍,就是啊介绍什么是一个web share。
以及它的一个基本的一个工作原理,还有的话就是一些常见的一些web shell,的一些管理工具,就是说在我们之后的一个文件上传课程的时候,会去用到,好的,我们先来了解一下什么是web share。
呃就web shell的话就是啊以sp p h p j,s p等等这一些网页文件的一个形式,存在的一种命令执行的一个环境,好的话,这些这些啊,网页文件的话都是一些动态的一些脚本文件。
我们的话可以将其称作为一种,网页木马的一个后门,然后的话攻击者就是呃,通常会通过这样的一个网页后门的话,来得到网站的一个服务器的一些权限,包括的话控制网站服务器,来进行一个文件的一个上传下载。
还有查看啊,数据库以及能够执行命令,前面我们有提到就是说网页木马后门,那什么是一个木马呢,木马的话它的一个全称就是这个特洛伊木马,英文的话是这样子的,就是它是指技术在计算机里面的一种非授权的。
一个远程控制的一个程序,然后它的一个作用的话,就是呃开放系统的一个权限,然后泄露用户的一个信息给攻击者,然后的话是哦黑客常用的一种工具,而且它的它是能够在计算机管理员。
不被发掘的一个情况下来得到系统的一个权限,那后门后门是什么呢,哦首先我们需要了解到,就是说我们的一个计算机,我们的一个服务器上,一台计算机上面的话,总共的话是有65535个端口,6535。
然后每一个端口的话,它就是呃计算机与外界连接所开启的一个门,就说呃计算机与外界与进行,与外界进行一个通信的话,就是通过端口来进行一个通讯的啊,每一个门也就是每一个端口的话,它会有提供这样的一些服务。
然后攻击者的话就通过利用这样的一些服务,来获得问服务器的一个权限,然后并且给自己进入计算机留下一个后门,就常见的一些服务,比如说我们之前说到的一个8年端口对吧,八零端口的话。
一般的话默认都是啊提供了一个web服务,也就是我们访问的一个网页的话,都是呃一个web服务,然后的话还有就是说呃,我们的一个远程桌面对吧,3389端口,就提供我们能够通过远程去连接啊,计算机的一个桌面。
还有的话就是呃常见的一些linux系统里面的s h,就我们可以通过s h的22端口,来去连接我们的一个linux系统,oh what will show,然后的话web share。
它会它根据文件大小的一个文件大小,以及根据脚本的一个类型的话进行了一个分类,首先第一个就是根据文件大小分类的话,有以下这三种,第一个的话就是一句话,木马也是我们经常会使用到的。
它的一个优点的话就是代码仅仅仅短,我们从名字的话也能够知道,它就是只有一一行代码,也就是一句话嘛,然后它是使用的话是十分的一个方便,然后还有就是小码,小码的话就是呃包含文件上传功能。
它的体积的话啊比较小,当然的话它是相比于大码来说,它的一个体积是啊比较小的好,大码的话它的一个体积的话就比较大,它包含的话是有很多的一个功能,然后它里面的一个代码,通常也会进行一个加密的一个隐藏。
因为它里面的话呃,代码的话代码量的话是比较多的,里面的话会有一些啊敏感的一些函数,然后通常为了就是说绕过一些呃对代码呃,里面的一些函数的一些敏感,函数的一个检测的话,它通常会进行一个加密。
而第二个的话就是根据脚本类型去进行一个分,类,我们常见的就是像这种js p s p,s p x以及ph p,这些的话都是一些呃动态的一些网页脚本文件,这样的话像我们现在其实呃经常去讲的,也是像菲律宾啊。
因为呃我们经常碰到的一些网站啊,一些cm都,它都是基于一个菲律宾的一个语言,去进行一个开发的,那web需要的话它有一以下的四个特点,这样的话我只列举了四个,前面我们说到就是说web shell的话。
他一般都是由这样的一些动态的一个脚本语言,呃,呃并写出来的,就是说它是一个一个动态脚本的一个形式,出现好的话,它就是一个这样的值得一个木马后门,就说web share,它就是一个木马后门。
然后木马后门的一个特点呢,就是说我们能够通过这样的一个啊,菲律宾的一个web share,比如说一个菲律宾的web shell,能够得到啊服务器的一个权限,以及能够在服务器上面去执行。
我们想要的一个命令,以及查看服务器里面的一些敏感信息等等,第三个的话就是web share,它是可以穿越服务器的一个防火墙,就是说呃我们这里说的一个web share。
其实从名字上面就能够知道就web嘛,web然后跟shell的一个组成,有web的话,它是我们常说的一个web服务,也就是我们啊经常会去使用到的一个八零端口,shell的话就是一个呃一个后门。
就是能够得到权限的一个啊这样子的一个web share,一个web后门,然后web shell的话,它通常都是通过八零端口去进行一个,数据的一个传递的,也就是说攻击者与我们的一个服务器,去进行一个交换。
数据的话,它都是通过一个8年端口去进行一个啊,传递数据的,嗯所以的话就是web share,他一般不会在系统日志里面去留下,这样子的一个记录,它只会在我们的一个web日志,留下我们的一个数据传递记录。
然后的话我们了解到了一个web share的一些,基本的一些特性,我们一起来了解一下,就说web share,我们如何去利用一个web share来去进行一个攻击,就它的一个攻击流程。
先第一个就是利用web漏洞去获取web的一个权限,就比如说我们啊一个通过一个网站对吧,通过一个cm的一个网站,我们得到了他的一个web权限,就是说能够去执行命令,或者说我们能够去上传文件。
也就是我们之后会去讲到的一个一种方式,还有的话就是说呃通过啊,就是上周有讲到的一个circle sql注入对吧,通过sql注入也是可以得到一个web share,得到这样子的一个web shell。
之后的话,我们通常会去上传一个小码,为什么要去上传一个小码呢,就前面我们有了解到是小码的话,它就是一个文件上传的一个功能对吧,我们利用它的一个呃文件上传的一个功能,来去上传我们的一个代码。
这里的话大家一定要就是呃就明白要区分开来,就是说小马它的一个作用,就是为了用来算上传大码的,就是说呃你们可能会有疑问,说为什么我不直接去上传一个大码呢对吧,就这里的话就我们前面有说到,就大码的话。
它的一个体积是比较大的,就说它呃它的一个代码量是十分多的,等会的话会给大家去看一下,它的一个代码很多的话,就是说我们直接去上传的话,它的一个呃就是数据的一个传递的话,量的话会比较大,就是说动静会比较大。
然后的话我们通过这样子的一个小马,去进行一个传递的话,就嗯要更加的一个隐蔽,也更加的也就是说能够去绕过它的一些呃检测,第四个的话就是呃远程调用web share来执行命令,也就是我们最终的一个目的。
就是我们通过我们上传的这样子的一个大码,还有的话就是我们的一个呃,来去执行我们的一些命令,获取服务器的一些信息等等,这就是一个基本的一个啊,利用web share去进行一个攻击的一个流程。
然后下面的话我们一起就是大概来看一下,就是说我们常见的一些web share,首先第一个的话就是菲律宾的,我这里的话有列举了两个,然后这里的话都是以一一个,一句话木马的一个形式,就说呃是一个一句话木马。
我们首先看来看一下第一个,一个的话它是一个菲律宾的一个web shell,也就是菲律宾的一个一句话木马,然后我这里的话,我就大概介绍一下它的一个结构吧,就是说菲律宾代码的话。
它它都是以这样子的一个开头以及结尾,如果开头的话,它是有一个这样子的一个监括号,然后接一个问号,后面的话是接p h p,就是说表示我们的这样的一个文件,它是一个菲律宾菲律宾的一个代码文件,然后结尾的话。
同样的是接一个问号以及一个镜框,就是啊这前面的话呃就小于号以及大于号,当然的话不是说这就是这个意思吧,然后中间的话就是我们的一个呃代码,这个代码的话就是,我们首先看一下这一个i5 函数。
这个函数的话就是用来执行我们的一个,菲律宾的一个命令,我们可以看一下,i5 函数它的一个解释是这个i o函数的话,它是把字符串作为一个菲律宾的一个代码,去进行一个执行,就大家心有这样子的一个概念。
然后的话我们再来看一下中间这一个括号里面,括号内容里面的话,就是啊我们用来传递数据的一个方式,传递传递字符串的一个方式,因为前面我们说到就是说这个era函数的话,它是用来执行我们的一个呃。
就是把我们的一个字符串作为一个菲律宾代码,去进行一个执行,然后这里的话我们需要传递一个,我们的一个字符串,然后这里传递字符串的一个方式的话,就是以get方式去进行一个传递的。
就是说啊这一个多的符号下划线加一个get,注注意的话是要大写的啊,接一个中括号呃,这个叫方块吧啊,里面的话就是接一个参数pass,就是我们通过这样子的一个pass参数来像啊。
我们的这一个文件去传递我们的一个数据,也就是传递我们的一些命令,同理的话,第二个就是以一个pose的方式。
然后呃关于这个get post的话。
就是前面讲那个hp方法的时候,大家应该都有都了解了吧,就其实前面的话已经有讲过,如果还是没有不是很明白的话,呃不知道大家有没有去看这样的一个文章,就是说菲律宾里面它的这样子的,几个函数的一个区别。
就是说get的话它就是用get方式来提交数据,我们前面有提到,就是我们提交get数据的话,就是比如说这里是一个p h p文件是吧,我们在后面接一个问号,问号后面的话就是接我们传递的一个参数。
然后传递的一个参数的话,就是一个比如说我这里的一个木板,就是一个pass参数,对吧啊,这个pass参数的话就是后面的话接我们的一个,啊传递的一个字符串,这个字符串的话就会传递到这样啊,就会传递到这里。
就这一个意思的话,就是获取我们通过这样子的一个get方式,传递的一个数据,然后的话给这样的一个i p函数去执行好,这样的话,我这里比如说我这里输入一个ph info是吧,好它传递到一个ap函数的话。
它就会显示一个psp info的一些信息给我们,然后的话pose的话也是同样的。
这里的话哦好啊,等会我会以实际的一个例子,去给大家做一个演示,然后就是a s p j s p x哦,还有js p这一些的话哦,就大家呃看一下了解一下吧,这样的话,其实它的一个大体的一个框架也是类似的。
只是啊就是你写这些脚本的一个语法的话,语法要求的话它是不一样的,没看到的话,这里是通过一个request,它同样的也是一个就是呃,通过request来获取我们传递的这样的一个呃字符串。
然后的话给af函数去进行一个执行啊,以及下面的这里也是同样的一个意思,指示的话它传递了一个啊就是它的一个函数啊,它是不一样的,好啊,我们前面大概了解了,就是web需要它的一些基本的一个呃特点。
以及它的一些基一个基本的一个样子好,下面我们一起来了解一下web shell,它的一个基本的一个原理,就web share,它的一个原理的话,就是,首先第一个就是它是一个可执行的一个脚本。
然后的话这里的话是,hp的一些数据包,也就是我们通过这样子的一些方法来去进行,一个呃获取我们传递的一个数据呃,就是接收我们传递的一些一些字符串,然后的话给我们的一个呃,执行函数去进行一个执行。
而第二个的话就是一个数据的一个传递,就说我们通过我们的一个啊pass参数,比如说以这个为例子,通过我们的一个pass参数来向啊,我们的这样的一个菲律宾的一个脚本,来传递我们的一个数据。
第三个的话就是执行传递的一个数据,执行传递的数据的话,就是有以下这样子的几种形式,呃当然的话,我这里的话是以菲律宾脚本文件做一个啊举例,好首先第一个直接执行的一些p h p函数,有这样的一些我们常见的。
也就是呃经常去使用的一个ever及system,就执行系统命令i5 的话,它是把我们的一个字符串,对我们传递的字符串,作为一个菲律宾的一个文件去进行一个执行,然后到第二个的话就是文件包含。
文件包含的话就是呃在下节课就在文件,我们讲完文件上传之后的,下一节课就会给大家去介绍一个文件包含,就我们通过文件包含这样子的一个漏洞,来去包含我们的一个文件,来执行文件里面的一些菲律宾的一个代码。
那第三个的话就是动态函数的一个执行,而这里的话,这样的话大家了解一下吧,就可能呃不是如果没有了解过菲律宾的话,可能不是会不会很好懂,我们以这个为例子,就说我们这里就传递一个这样子的一个b区。
并four给这一个变量对吧,然后的话我们可以把这个变量当做一个函数来,就是去进行一个执行,就比如说这个的话,传递了一个这样的一个字符串ph in for,然后的话我们可以把这个ph for字符串。
当成一个函数来去进行一个执行,然后他执行之后的话,就是啊会返回一个变形four的一个信息,哦最后一个的话就是回调函数哦,这样的话我先了解一下,就在呃之后的一个课程,就是在讲命令执行的时候。
我会呃给我会给大家做一个详细的一个介绍,好的话就是我们一起来了解一下,就是常见的一个ph web shell,就其实前面的话已经给大家做一个,基本的一个介绍,我这样的话就列举了三种方式。
就是以get方式来去进行一个传递数据的,以及post的方式,还有我们可以通过cookie来去进行一个传递,我们的一个呃字符串,也就是传递我们的一个命令啊,这里的话我以呃我做一个演示。
想到这里先新建一个呃,比如说get,新建一个get的一个bp文件。
然后的话直接把它复制过来,复制过来,然后这里的话就是一个一句话,木马的一个pp文件了。
嗯就这样吧,啊这就是一个呃pp的一个呃一句话木马文件啊。
我们怎么去进行一个访问,然后的话去进行一个执行命令的,我这里的话是在一个菲律宾啊study的一个环境,选择等ph b,然后我这里的话直接去访问这样子的一个,一句话木马文件的话,它是会没有回血的。
就没有任何的一个显示,如果大家看到有就说没有这样的一个形式的话,就说明你这一个文件是能够被解析执行的,如果说有报错或者说无法访问的话,那就说你那就是说明,你这你的这样子的一个一句话木板文件。
他是无法去进行一个解析的,如果无法去解析里面的一个ph p代码的话,那么我们就不能够通过这样子的一个,木马文件来去哦,得到服务器的一个权限以及执行命令,那我们怎么去啊,利用这样子的一个get方式。
来去进行一个传递参数,首先我们,以get方式,然后我们传递了一个字符串的话,是要给这个pass参数,我这边的话传递一个kb for好,大家要注意的话,我这里的话是传递了这样子的一个。
ph b four的一个字符串,其实也就是一个函数,一个菲律宾four的一个函数,然后这里忘记提了一点,就是ph info好吧,菲律宾呃,文件的话,a b代码的话,它都是以一个分号去进行一个结尾的。
就说你必须你在啊pp和代码后面,你需要加一个分号来表示,你的这样的一个代码是已经就是结束了,就说这样子才是一个完整的一个代码,然后我们回车回车之后的话,可以看到它显示了这样子的一个。
菲律宾four的一个信息,就这一个的话就是ph for的一个信息,它里面的话就是包含p h p的一个版本啊,还有p h p里面的一些详细的一些信息啊,以及它的一些配置的一些扩展啊什么的,呃。
还有就是阿帕奇的一些环境等等对吧,这样的一些信息都能够啊被列出来,而这里的话就说明我们的这样子的一个呃,一句话,木马文件是执行了我们这样子的一个,菲律宾info的一个代码,他的话可能大家可能就是觉得。
就只返回这样子的一个信息啊,没有什么用对吧,我们可以通过一个system这样子的一个函数,来执行我们的一个系统命令,然后因为我这里的话是在windows系统。
所以的话windows系统比如说我先查看一下ip对吧,比如ip config,然后我们回车回车之后的话,可以看到我这里的话。
就显示了我当前这一个机器的一个ip地址,的一个信息,可以在这里看到,就是等于就是呃在这里,等于就是我通过这样子的一个web share,然后通过这一个system函数来执行了啊。
windows系统上面的一个ip config,来查看ip信息的一个命令,然后这里的一个返回信息的话跟这里是一样的。
你看到我这里的ip是1。1。9对吧,这就是执行他的一个系统命令啊,以及比如说呃d i r来查看,就说我当前目录下面的一些文件,然后当前目录的话就是这个目录,然后我这里之前的话可以看到。
它会显示我当前目录的这样的一些文件啊,这样的话是,他这里显示是是这样子去显示的,可以看到就是啊这里有一个啊时间对吧,还有的话就是这里的话是一个文件名,然后前面的话它是一个文件的一个大小。
有一个b374 k对吧,这样子的一个ph p文件点击还有个大码一,还有大码二对吧,总共的话是有五个文件,这就是一个嗯菲律宾的一个一句话,木马的一个web share。
然后的话还可以去去执行其他的一些命令,就是说在windows里面的一些其他命令,大家可以尝试一下,比如说啊net elder,就是查看啊用户,然后退游走。
咳,可能会报错了,想,啊比如说我可以执行这样子的一个l s命令,来查看当前的一个目录,然后在linux里面的话,就呃我们使用的话就是一个linux的一个命令,这样的话,因为我这里的话是有有这样子的。
一个linux的一个环境,所以的话可以去执行这样的一个命令,然后这里的话就是一个get方式,一个get方式去传递我们的一个呃,就是执行命令的一个字符串,背个一句话木马,然后我们一起来看一下。
就是以post的方式去进行一个传递。
我们。
保存保存之后的话,同样我们呃进行一个访问,王者的话,呃不好意思啊,喉咙有点哑。
然后稍微有一点咳嗽,所以的话可能讲的不是很,所以啊稍微有点咳嗽声,就希望大家见谅,然后的话我们可以看到,就是我这里直接访问之后的话,它是没有任何其他的一个报酬,就说明我们的这样的一个一个一句话。
没文件的话,它是能够被正常解析的,然后的话我们怎么去进去,进行一个数据的一个传递,也就是执行我们的一个命令,我这里的话用啊一个high bar的一个插件,当然的话你也可以使用一个bp。
我们通过bp抓取这样子的一个数据包对吧,好的话,我这里的话因为是使用了一个,要去使用一个post的方式去进行一个传递,我们的一个数据,对吧好,我这里的话是一个get方式。
所以的话我这里需要把它做一个就是转换,转换的话这里有一个小技巧,就是呃在bp里面的话,你右键右键或者是说呃,呃你右键就右键,然后的话这里有一个change request master。
就是改变我们的一个请求的一个方法,然后我们可以啊,就是选择一下,选择之后的话,可以看到我们当前的一个数据包的话,它是改成了一个post的方式对吧,又不需要我们自己去手动去改一些啊,一些请求头。
而我们透透视的话,大家应该都知道,就是我们post的一个数据化,是在我们的一个请求包里面的,一个请求体里面对吧,就是说在这里我们去进行一个数据的一个传递,我们这里以一个pp for去进行一个传递。
传递我们的一个ph pinfo的一个函数,然后我们执行执行之后的话,可以看到有这样子的一些返回信息,就大家可能看到这些信息的话,不知道它是显示的一个什么内容对吧,我们可以通过bp里面的这样的一个功能。
这个render,然后这里的话它会显示,就是说当前的就是你的这一个代码,在web上面它显示了一个样子,就呃就是能够让我们更加直观的去看到,当前的一个请呃,一个返回包的一个内容。
可以看到这是一个菲律宾four对吧,然后我们同样的,通过system函数来去执行我们的一个命令,好我们执行执行之后的话,可以看到,这里返回了我们的一个ip地址的一个信息。
这就是以一个post的方式去进行一个,去进行一个呃执行,我像web需要传递我们想要执行的一个命令,他的话呃,我们也可以通过这个hack bug的一个插件,就是呃五五个浏览器里面有这样子的一个插件。
我们可以通过这个插件来去传递,我们的一个命令,然后我们执行,可以看到的话是可以执行。
我们传递的一个命令的,这就是一个post的方式。
去呃下我们的一个一句话木马,传递我们想要执行的一个命令,好,然后第三个的话就是呃一个cookie的一个方式,去进行一个传递,它这个代码的话就是这样子,好像你的话,把代码发群里吧。
然后第三个的话就是一个cookie的一个方式,去进行一个传递,他的一个代码的话,就是这样子的,然后这里我们就大概来看一下它的一个构成,而这里的话它是以一个cookie的一个方式来去获取。
我们传递的一个数据,然后他传递的数据的话就是通过这个一参数,就我们需要通过像这个一参数,传递我们的一个呃字符串,然后的话给我们的一个菲律宾代码,然后的话主要的话是不是看这里,就说这一个asset。
asset这个函数的话,它同样的也是一个执行命令的一个,ph一的一个函数,就把这个asset它的一个意思是检查一个,就检查我们的这里的一个函数,它是否是呃为false。
然后的话它如果是传递的是一个字符串的话,它就会这样的一个函数,当做一个p h p代码来去进行一个执行,然后的话就是达到执行我们想要的一个代码,的一个目的,那这样的话我们看一下,就是这个cookie。
我们的一个代码怎么去进行一个呃连接,啊前面的话呃,它不像前面的一个get方式,还有push的方式去进行一个连接,而去进一个数据的一个传递,它是通过cookie啊,前面的话我忘记哦,有说了,呃后面再说吧。
后面再讲web shell管理工具的时候再给大家说吧,就是我们的这样的一个一句话,木马的话是可以用一个web shell的一个管理工具,也就是菜刀啊,这样的话是11刀去进行一个连接好。
这里的一个cookie的一个方式的话,我们啊去使用这样子的一个工具,去进行一个连接,然后这里要注意的话,就是我们需要在我们的一个请求头里面,去传递我们的一个呃代码,也就是去传递我们这样子的一个代码。
因为因为这里的话它的一个cookie函数,它的一个意思的话,就是从我们的一个啊请求头当中获取cookie,获取,从cookie这一个请求头当中所传递来的一个数据,也就是我们这里的一个数据。
然后获取之后的话,就能够给我们的一个asset函数去执行,执行的话就是像这样子,我可以通过啊,当然也可以通过这个hack bar,或者是说呃bp去进行一个呃传递,然后它的一个效果的话就是这样子。
主要的一个哦,点的话就是在这里我们需要添加一个,我们的一个cookie的一个请求字段,cookie的一个请求头,然后它的一个值的话是这样子的一个形式,就是就是我们之前的一个ever的一个呃。
一句话木马的一个代码,然后这里的话。
我同样的给大家做一个基本的一个演示吧,先创建一个。
文件。
我们保存啊,其实啊我这里的话是我直接在我这里的话,要说一下,就是我这里的话是我直接在我的这个web服务器,里面的这个web share目录下面,直接创建了这样子的一个文件,就模拟的,就是说我们呃啊。
把我们的一个web share,已经放到了一个服务器上面去了,当然的话我们啊,不可能说直接这样子去进行一个写入的,就是说我们需要通过一些得到一个,web share的一个方式。
然后的话上传我们这样子的一个web,share的一个文件,然后的话来去进行一个呃执行我们的一个命令,然后的话在明天讲的一个文件上传内容的话,就是会就是介绍,如何去通过文件上传的一个漏洞来去。
直接上传我们这样子的一个web shell文件,然后的话通过这样的一个web share文,web share文件来得到服务器的一个权限,我这里同样呃去访问这样子的一个文件。
c h e完之后没有任何报错,就说明的话是没有问题的,然后的话我们需要,我这样的话用这一个hb我们需要传递呃,怎么去向这个web share传递我们的一个命令呢,我们首先需要添加一个cookie头。
cookie的一个请求头可以好好它的一个值的话,就是它的一个值的话是一等于,诶这个项目机,然后的话我们需要像我们的这个,就是这里的一个一句话木马,也就是我们的一个cmd参数,传递我们想要执行的一个命令。
比如说我们这里传递一个ph并four好,我们来执行,执行之后,可以看到他成功地执行了,我们想要执行的一个ph inform命令,好的话,以及,on fire,好像你写错了,我这里执行不了。
我这里的话是需要执行,就是我们的一个菲律宾的一个代码,所以的话我用那个工具。
这样的话就是一个web share的一个管理工具。
也就是一个啊c当好,这样的话我添加一个就是它的一个使用的话,其实比较很简单的,我这里的话直接右键添加,添加的话,这里就是输入我们的这样的一个呃,一句话木马的一个链接,然后添加到这里地址。
而这里的话我们需要传递的一个参数的话,就是一个cmd是吧,就是我们这里的一个cmd参数,然后添加添加之后的话,因为它是需要添加一个cookie头的,所以我们这里需要设置一下,就请求头,这里请求头。
这里的话我需要设置为这样的一个cookie字段,然后后面的话接我们的一个呃,传递的一个这样的一个菲律宾的一个呃代码啊,呃这里的话要记住要开启这个请求头,然后保存可以看到已经设置成功了。
然后的话我们直接双击,双击之后的话就能够呃,打开我们的这样子的一个就文件管理的一个,功能。
当然的话它还有其他的一些功能,比如说一个模拟终端。
模拟终端的话,就是一个像我们的这样子的一个呃,这样的一个终端,就是一个命令行的一个终端,我们可以在这里执行我们的一个命令,一浮空。
哦我这里我说,我说怎么执行不了,我这边的话我搞错了,我这里写错了,不是不是衣服,config是ip configure,因为呃就好。
大家也不要搞混了,就是在windows里面的话,他查看ip的话是一个ip config,然后在linux里面的,因为linux用的多了,就总是搞混,在linux里面的话是一个依附config。
来去查看他的ip信息,所以的话这里的话是呃。
因为在windows里面,他没有这个衣服comp格的一个命令,所以的话他执行不了,然后比如说jr,然后的话我们可以在这里执行,就是说在windows有这样的一个dos命令下面。
能够执行的一些命令,都能够在这里去进行一个执行啊,比如说呃外卖i,麦可以看到我当前的一个权限的话,就是我这里当前的这一个用户的个权限。
这就是一个通过cookie的一个方式。
来去传递我们的一个命令,就其实前面讲到呃的这三种。
其实就是说我们通过这样的三种方式,来跟我们的一个web share,去进行一个数据的一个传递,首先就是get post,就是我们常见的两种方式对吧,就我们通过get方式来去向服务器传递。
我们的这样的一个命令,然后的话给这个web share去进行一个执行,执行之后的话,它会想返回给我们一个响应,也就是我们执行的一个结果,它会返回给我们,然后这里第三个这个cookie的话。
就是通过一个cookie的一个请求头,我们通过我们的一个cookie,请求头里面去携带我们的一个呃数据,然后的话传递给我们这样子的一个web share,来让他执行。
这其实就是啊web share的它的一个能够去执行命令,的一个基本的一个原理,这是cookie的一些执行命令,然后第四个的话就是呃我们通过一句话去写,我们那个小马,就前面我们就是有给大家介绍。
就是说web share它的一个攻击的一个基本流程,就是我们通过获得一个web share对吧,然后我们我们的话需要去传,上传我们的一个小码对吧,我们已经有了一个基本的一个啊web share。
然后的话我们可以通过一句话木马来去,好像服务器写入我们的一个小码,然后的话通过这一个小马来去上传,我们的一个大码,然后这里的话如何通过一句话,木马去写一个小马,它的一个基本的一个命令的话。
就是就是这样子的一个代码。
就这样子的一个代码,这个代码的一个意思的话,其实就是这个f puts这个函数,就是说我们通过这样子的一个代码的话,我们只需要直接访,就直接去访问这样子的一个ph的一个文件,我们访问之后的话。
它就会去执行执行它的一个效果是什么呢,就是说他通过这个f open函数,它会向它会在当前目录下面写入这样子的一个,以up。pp为文件名,然后它的一个内容是我们的一个一句话,木马背一个内容,当然的话。
这里的话我只是一是以这样子的一个例子,我们这里的一个一句话木马内容的话。
是可以替换为我们的一个小码内容,哦哦这里要做一个演示。
就我同样的就是说在我先创建这样子的一个,我不需,比如说谈吐,puts。
puts。hp。
然后我们保存,保存之后的话,我们可以看到,当前的话它是没有这样子的一个呃up,没有这样子的一个up点菲律宾文件的对吧,刷新一下啊,我这里的话,我通过去访问这样子的一个这个f puts影片区。
在这一个cp文件,大家大家别眨眼,注意看就注意看这里,然后我这里回车。
哦这里的话写错了,我这里的话是呃忘记了,加那个菲律宾的一个就是它的一个格式,大家一定要注意,就是它的一个格式的话是这样子,然后就是以这样子的一个开头,就只有这样子的,你要满足他的一个ph文件的一个格式。
这样子的一个菲律宾代码,它才会就是说给我们的一个菲律宾的一个。
解释器去解析执行我们的一个代码内容,我们保存一下,然后我们访问,访问之后。
然后可以看到,可以看到在这里一闪一闪而过的话,会生成这样子的一个up点菲律宾文件对吧,我们打开看一下,打开看一下的话。
里面的一个内容的话,就是我们的一个呃菲律宾的一个一句话木马,当然的话我这里的话把这一个我们要做的话。
就是通过一句话木马去上传我们的一个小码,我们这里需要把我们的一个,就是里面的一个内容。
把它做一个更改,就是替换成我们这里的这样的一个小马,我们看一下这个小马它的一个内容,就它是怎样子的,lol。cop就是这样子的一个菲律宾文件,它它它的一个功能其实就是选择一个文件对吧。
就说我这里随便选择一个文件。
然后上传上传之后的话,可以看到它会在当前目录。
它会生成这样它会上传上传这样子的一个文件,它的一个功能就是这样子,我们要通过这个小满来去上传一个大马。
然后现在我需要做的就是,我们需要需要把这个内容就是把它好,通过这样的一个f puts,这样的一个就是写入hp文件的一个函数。
来把我们的这里的一个内容,把它写到一个kp文件里面,我们看一下ppt,这样的话它的一个内容的话是比较多的,就是这一部分。
然后我这里的话大家可以看看一下,我在群里发的这个文件内容,就我这里的话把我们的这这里的,就是这一个文件里面的一个内容,做了一个base 64的一个兵马,就是说我们在这里的话,因为菲律宾里面的话。
他去上传这样子的一个呃文件的话,它里面是不允许包含一些特殊的一些字符的,就说这些字符的话,他去上传的话,它是会嗯就呃写入不成功的,所以的话我们这里需要需要对它做一个兵马。
编码的话就是做了一个base 64的一个兵马,哎我这里呃不用工具了吧,我直接在,直接用呃,有网页的一些bus 64编码的一个工具。
没有啊,当时,我这里的话就对他做了一个贝斯,64的一个兵马,然后编码之后的话,有没看到的话,它里面有一个等号哦,因为等号的话它算是一个特殊字符,就说用啊,在post请求里面。
它它是不允许包含有这样子的一个特殊字符的,所以的话我们还需要对它做一个兵吗,就是做一个二次兵嘛,就需要把这个等号把它给去掉,有点卡了,然后编码之后诶,可是有问题啊,我用这一个编码工具吧。
把它做一个base 64的一个编码。
这里然后编码之后的话,他这里的话是有一个加号,我们需要把这个这种特殊的一个字符,把它给去除,然的话我们再做再对他做一个兵马,编码之后的话,可以看到就是呃已经没有,他都是这样的一些字母对吧。
大小写字母还有数字组成,然后这里的话就是我们,嗯啊嗯嗯。
我的咳嗽,然后这里的话编码之后的话,就是我们的这里的一个内容对吧,然后我们怎么去进行一个利用,就是说怎么去把我们的这里的一个数据啊,写入到这样子的一个文件呢,就我们因为我们前面的话是经过了两次的。
一个base 64的一个兵嘛,所以的话我们需要把它做一个解码,因为你编码之后的话,我们想要让它还原成原来的一个样子对吧,就还原成原来的一个ph p代码。
所以的话我们需要用这个bassist 4 decode,这样的一个函数,就是p h p里面的一个函数,把我们的这样你的一串字符做一个解码,然后做了一次解码之后的话,我们还需要做第二次。
因为我们经过了两次的一个编码,所以需要两次解码,然后的话再做一次解码,解码之后的话,然后再写入我们这样子的一个文件,然后这里要注意的话,这里是同样的做了一个vc 64的一个兵马,我们可以把它做一个解码。
解码之后的话,它的一个内容的话就是这样子的一个up点,p h p,就是他那个他就是把我们的一个这样子的一个,小码的一个内容,把它写入到这样的一个up点菲律宾的一个文件,然后它的一个内容就是这样子。
这里可能呃我这里的话给大家做一个演示。
同样的新创建这样子的一个呃hp文件,就叫贝斯64点p h p吧。
然后我们写入我们的一个内容,要注意的话,就是呃,一定要符合他的一个p h p的一个和代码规范,然后的话把我们的一个p h p代码写写到这里,我这样的话直接贴进去,写进去的话就是这样子的一个文件。
啊我们保存保存之后的话,呃它会呃它会生成一个app。p h p,我这里的话先把这个这个up。ph 1,先给它删除掉,删除之后的话,我这里再去进行一个访问,访问这一个。
从这一个base 64点p h p文件,然后大家注意看,这边会生成一个up点片区域的一个文件,可以看到对吧,那我们直接来访问这样子的一个up。pp文件,可以看到就是一个小马。
就是一个包含上传文件功能的一个小码,这里的话就是这一部分内容,就我们通过这样子的一个一句话木马,来写入我们的一个小码,当然的话这里的话要注意的话,就是需要做一个base 64的一个冰嘛。
就大家可以自己在课后去进行一个尝试,就说你可以尝试,就是说啊做一个一一次兵马,就是只做一次被364编码,然后去进行一个呃,铁路的话,啊我们上传我们通过一个一句话木马写入,写入了我们的一个小码之后。
我们要干嘛对吧,我们就利用这样子的一个小码的一个功能,来上传我们的一个大码,上传成功之后的话,我们访问这一个大嘛,他那个样子就是这样子,然后它里面的话有十分丰富的一个功能,我这里的话哦以这个为例子哦。
因为这里的话哦,我这里已经,已经有,我先把这个把它给拷贝过来,就是这里的话已经没有大码,点一点菲律宾了对吧,那我这里选择呃,把这个文件上传上去,然后点击上传,可以看到这里的话就已经上传成功了对吧。
上传成功之后的话,我直接去进行一个访问。
打完之后的话就是这样这样子的一个界面,哎呀啊。
这里的话是一个登录的界面,就是说你需要输入一个密码,能够去进行一个登录,然后这里的话它那个密码的话就是一个hiking,这里大家可以自己做一个更改。
就是改成自己想要的一个密码,然后像这种密码的话,其实呃有这种很简很简单的一个木马啊。
一个密码的话是可以被爆破的。
就说呃大家就是说如果你碰到有别人上传了,这样子的一个代码文件对吧。
就你可能你某天你啊你去扫,你去扫那个网站对吧。
你扫出来这样子的一个文件,然后这个文件的话就是像这样子的,像这个样子的一个文件,然后一个输入框要让你输入密码对吧,这个时候你可你可你可以去进行一个爆破,就是说你的这个,因为它只有这样子的一个登录嘛对吧。
你可以通过bp去进行一个爆破,把他的一个密码爆破出来,然后的话你就能够得到服务器的一个权限,就说哦黑吃黑嘛对吧,就这个网站已经被别人黑了,然后已经有了这样的一个木马,一个后门木马。
你直接通过他的一个木马,就能够得到它的一个权限,就不用去什么,还要辛辛苦苦去找找漏洞对吧,然后这里的话就是这样子的,一个代码的一个文件,然后可以看到有很多的一个功能,这里的话是在当前的一个目录对吧。
我这样的话可以切可以切换到上一级目录,是上一节目的话,就是啊我的这里这里的一个目录,然后还有像呃,像什么呃文件,因为我这里的话是一个windows的一个系统对吧,所以的话它这里是本地磁盘。
是c d e盘对吧,可以看到有c盘和c盘的一个文件,还有d盘啊,e盘的一些文件都能够查看。
就是说已经我们可以通过在这样子的一个代码,来去操作我这里的一个计算机,计算机,也就是我这里的一个。
就是目标的一个服务器里面的一个文件了,然后这里的话其实还可以去进行一个上传文件。
可以我们可以通过这样的一个大码。
还上传我们想要的一些,比如说上传我们的一个工具,把我们的一个和一些文件一些工具,比如说我这里上上传一个这样子的一个,exe文件对吧,然后上传到哪个目录,您可以选择。
然后选择这样的一个文件,然后上传对吧。
就可以看到就是我这里的话就已经上传成功了,大码的话它呃它的一个功能的话是很多的对吧。
能够去上传文件,也就是呃pg并four的一些信息。
系统的一些信息啊,都能够查看到。
还有可执行ph的一个脚本,就这样的话我们就能够通过这个代码,通过这一个web share来执行我们的一个脚本,这个可以看到还有可以执行其他的一些,比如说,执行可以看到对吧。
就相当于就是我们前面的一个一句话,木马的一个功能,到这里的话已经有了。
这样的话,执行sql语句的话,你首先需要知道你的,你首先需要知道目标服务器。
它的一个数据库的一个密码,我这样的话就以我当前的这个p h,p 10大理的一个环境啊,密码的话就是默认的root,然后执行执行之后的话可以看到就执行成功了,还有一个版本对吧,还有可以修的一个p。
缺德base,可以看到这句话显示了这样子的一个呃,系统的一个数据库对吧,哦还有其他的一些像比如说端口扫描啊,就是扫扫描你当前服务器的一个ip有哪些端口,当然的话还有就是就是说你的这个服务器。
就一般的一个服务器对吧,如果说你是你拿到的这个服务器,它是在一个哦可以访问内网,也就是说比如说你是拿到了一个企业,拿到了一个企业的一个这样子的一个,就是说在外网的一个服务器,然后这个服务器的话。
它是可以去访问公司的一个内网的,这个时候的话,我们可以就是说通过这样子的一个服务器,把它作为一个跳板机去去,就是获取一个你在公司内网的一些信息,对吧就是可以扫扫内网的一些端口啊,还有他的一些存货主机。
然后的话以这样子的一个机器,进行一个内网的一个渗透,当然这样的话就呃提一下。
这里的话就是一个p h p大嘛。
我们呃刚刚可以看到,就他这个功能的话是相当丰富的,就说呃可以有很多的一些功能,然后的话下面的话我们继续我们那个课程内容,下面我们就给大家介绍一些,就web需要的一些管理工具,哦又,哦忘啊,刚刚又忘记啊。
讲着讲着就忘了,跟大家就是做一个互动了,就大家应该都听懂,听得懂吧,就我的这一些操作就说课后的话会有呃,课后的话会有一些就是一个课后作业啊,就大家就是把我在课上的一些操作做一下,就操作一下。
对实操实操的话就是大家在课后的话,我操作一下,然后有问题的话直接问我好吧,就务必就务必要大家要能够,就是自己去动手去操作一下,好的话,务必要去弄懂这样子的一些操作,好吧就力求大家要能够听得懂。
然后要能够操作,然后这里的话web shell的一个一些管理工具的话,我这里列了有五个,就是一些常见的,首先第一个的话就是就提到web,需要管理工具的话。
就不得不提的一个一个呃web share的管理工具,就是菜刀,中国菜刀他那个全名的话就叫中国菜刀,就是他的官网是这个,当然的话这个工具的话是已经呃,就就是说在现在的话是已经比较过时了。
就比较老的一个工具了,就可能功能功能方面的话就是不是很好用了,而且可能就是说你的你就说这,而且它的一个呃网上下载那些菜,中国菜刀的话,可能有一些木马后门什么的什么的,就大家就是呃给大家介绍一下啊。
用的话呃随你自己吧。
然后第二个的话就是一个c一刀,就是我刚刚用到的这样子的一个工具,就说这个啊c nife,这个的话它的一个界面的话就是像这样子的,他那个,网站就大家在github上面去直接搜这个cnife就行。
就是刚刚的话也也给大家有演示哦,还有的话就是,我用这个就是刚刚那个get点菲律宾对吧。
还有pose的p点,菲律宾这样的一些一句话木马,都是可以通过这样的一些web,需要的一个管理工具去进行一个连接的。
就比如说这个呃,比如说这个get我直接直接在这里添加,然后的话输入我们的一个链接,就我们的这个呃菲律宾脚本的一个路径,一个链接一个url,然后的话这里这里的话是输入我们的一个密码。
这个密码的话其实就是其实就是呃这里。
其实就是这里我的这里的一个代码里面,就是说密码的话,就是这个这里的这一串。
当然我这里的话是写的是一个pass。
我这话是写的是一个pass,你也可以改成其他的,像比如说呃,比如说什么我听对吧。
嗯你可以改的更复杂一点,就说因为如果说你这里的话比较简单的话,别人也是可以去能够去爆破,爆破出来你这样的一个密码,然后的话能够得到你的这样的一个shell,然后这里密码的话,我这里嗯。
我这里的话就写写的是一个pass对吧,然后我添加添加之后的话去进行一个访问。
现在不要改了,you get。
刚刚我改了一下,所以的话他这里的话连接失败,我这句话在,哦这个我用这个pose了吧,然后可以看到这里的话就是能够执行,能够去进行一个正常的一个连接,然后的话还有他还有其他的一些功能,比如模拟中呢。
还有数据库管理啊,就是说能够去连接我这里的一个数据库对吧,连接我这里的一个数据库,然后的话去进行一些数据库的一个查询,当然的话像这样子的,主要的话就是一个文件管理嘛对吧,就是我们可以新建我们的一个文件。
还有上传我们的文件,还有下载对啊,我们可以下载,还可以修改啊,诶还可以双击打开,就打开查看里面的一个内容等等,然后的话还有就是这样的一个虚拟终端对吧,这样的一个虚拟终端的话。
我们可以能够在这里执行我们的一些命令。
这就是一个c一刀,就是说这个c刀的话,我个人觉得是比较好用,而且它是一个java开发的,就界面什么的都比较紧密,而第三个的话就是这个v vv,这个这个的话它是一个,就是说在那个卡里面自带有的。
大家可以直接输入这个前面的这一串river,能够直接就是能够打开,然后输入杠h的话,能够查看它的一个使用帮助,这样的话我就不多讲,就可以通过这个vivo来去进行嗯。
就是生成木马,然后的话去进行一个连接,但它是一个以一个命令行的一个形式去进行一,个操作的,就是说像我等,就等一下我们在linux里面去操作操作一样。
电话是它的一个它是一个开源的一个项目啊,大家可以看一下,然后它这里的话功能的话是有很多的,就呃我这里的话不细讲了,就大家如果我想用的话,就是有有要用到的时候再去了解就行了,就一般的话。
大家也是在windows上面去进行一个操作嘛对吧,就像windows里面的一个c刀就可以了,还有的话就是下面这两款,就是中国已经还有冰西,就这这两款的话也是用的比较多的一些web shell,管理工具。
其实它它的一个呃,就是它它的一些功能什么的都是比较多的,就大家去尝试一下,然后这里要说的话还要说的话就是一个冰蝎,这个冰系的话就是这个工具的话是一个神器,就是他他的一个他的一个木马的话。
不它是它它生成的那个这是b web share的一个代码,他是就是说呃,我们通过这样子的一个冰箱的一个客户端去啊,与我与我们上传到web服务器上面的一个啊vip,去进行一个连接。
去进行一个数据的一个传递的时候,就是说传递我们的一些命令对吧,我们的一些操作命令的时候,它的一些数据流它是经过加密的,就说啊因为我们现在常见的一些,就几乎大部分的一些网站都有那种waf。
就说呃有还有就是呃它会检测你的,你在网站里面,你上传的这些文件,它是否是啊,有那些啊就是是不是一个pp的一个木马后门,如果是的话,他就会做做一个隔离删除,还有一些通过一些就一些呃防火墙。
它会通过你的这样的一些数据的一些流量,因为你虽然你是通过一个web,它可以通过在web日志里面的一些请求,也能够去查看到你的这样的一些操作,你执行了一些命令也是能够去查看到的,嗯当然的话这个冰箱的话。
它是对这样的一些数据的一些传递,他是做了一个加密的,就是它不是一个,就说不是不能够直接的去查看到,你的这样的一些日志里面,一些数据传递的一些命令什么的,就是说它是能够呃。
有很很好的一个绕过防火墙的一个效果,哦这样的话我这里的话就不细讲了,他的一个使用的话,网上有很多的一个文章,还有它是一个开源的,就他的大家去github上面去查看这样的一些文件,就去查看这些项目的话。
它都有这样子的一个red m嘛对吧,它的一个使用方法什么的都已经很详细了,还有安装方法,如果看不懂的话,翻译一下吧对吧,就都都都成都中文的话都能够看得懂吗,啊我这样的话就有。
我用我自己的本地的一个给大家看一下,它的一些见面吧,首先的话第一个是一键,其实呃其实就用一个菜刀也是足够了的,它的一些功能的话大体都是差不多的,它的一个界面的话是像这样子的,就我们可以在这里。
还有这样子的,有很多的一些功能,还有就是它有一些插件,一些脚本什么的,用的话还是挺好用的吧,我们这里加的话,就通过这里添加一些数据嘛,添加数据的话嗯,比如说这一个。
然添加进去密码连接密码的话就是呃pass,然后下面的一些就有一些编码器啊什么的,他就会对这样的一些数据做一些编码什么的,这些话默认就行了,如果你有特殊的一些要求什么的。
然后的话请求信息你可以在这里添加一些,添加一个header对吧,添加header,就比如说我前面要用一个cookie对吧,我可以在这里加一个cookie请求头,然后自动的话就是写我们的,想要传递。
想要通过这样的一个cookie请求头,传递给服务器的一个字符串,这样的话我就这的话我这里不需要那里添加,添加之后的话就是这个,然后双击双击之后的话,可以看到就是这样子的一个界面,其实差不多。
然后他他的一些就是实现功能,可能有一些不一样,还有像这里的一些功能,大家去玩一下就知道了,因为这些工具的话其实也没有什么多讲的,主要的话还是就是说前面,讲的一些就是呃它的一个一句话木马。
还有我们的一个小马以及大码,它的一些工作的一个基本的一个原理,其实我们主要用的还是一个一句话木马嘛对吧,因为我们的这样的一些工具,都都能够通过这样的一个一句话,木马的一个好吧。
都能够去连接我们的一个一句话木马,然后的话我们本节课的内容的话,大概就是这样子的这样子,然后还有的话就是一个课后作业,做作业的话就是这一期。
这样的一些内容,就大家嗯呃就包括了,就是我这一节这节课所讲的一些内容,然后大家通过这样子的一些操作的话,来去熟悉,我们怎么去利用这样子的一个啊,一句话,木马来获得我们的一个服务器的一个权限。
然后大家应该没有什么问题吧,ppt发群里哦,可以的,然后这节课的话内容的话还是比较简单的,就主要的话就是呃就是一些p h p的一个代码,大家如果不是很清楚的话,其实就是一些函数。
一些p h p的一个函数,就大家哦呃在有一些菲律宾手册里面去看一下,大概知道他的一个意思就行了,然后大家对本节课的内容有没有什么疑问呢,呃中间的话讲着讲着就投入了,然后又忘就忘记。
跟大家就是做一个基本的一个互动,大家都没有什么疑问,没有什么疑问吧,丙烯丙烯的话呃,github上面,我这里直接把下载链接,我到时候把ppt发群里吧,咳,冰心的话就是这个哦,对冰协的话。
其实它的一个功能也是比较高,比较简单,主要的话是它的一个就是能够去绕过一,绕过防火墙的一个功能,就是他也他也是一个java开发的,然后就是像这样子的一个,我们需要就是上传它,这里的话有呃。
已经有提供了这样的一些呃脚本文件,那话如果你呃能够去进行自己去做一个冰写,就可以自己通过他的这样的一个呃代码。
来自己做一个编写。
其实它里面的话就是做一些加密的一些措施,他的一些啊构思,来去进行绕过防火墙的,界面的话就是像这样子,就如果你连接的话,它就会有显示ph for,还有执行命令啊等等的一些,功能。
然后大家应该没有什么问题了,没有什么问题的话,那我们本节课的内容的话就到这里结束了,待会的话我会把就是呃,我这节课有用到的一些工具的话,我会发群里,还有p p t的话,也发群里,啊呃啊啊。
因为我有喉咙有点不舒服,然后有稍微有点咳嗽,有可能中间的话呃,有点有些有些有些话没有讲的很连贯,就没讲清楚,也希望大家尽量吧,好吧好大家,大家也辛苦了,哦哦今天课程的话就到这里结束了啊,谢谢大家。
标签:网络安全,这个,这里,一个,的话,笔记,合天,然后,就是 From: https://www.cnblogs.com/apachecn/p/18439495