网络安全菜鸟学习之漏洞篇——sql(二)

首先,在讲《网络安全菜鸟学习之漏洞篇——sql(二)》之前,我先补充一点《网络安全菜鸟学习之漏洞篇——sql(一)》忘记讲的知识点。
在《网络安全菜鸟学习之漏洞篇——sql(一)》最后我讲了如何获取表名、列名。就拿获取数据库名security下面的表名信息举例:

http://127.0.0.1/sqli-labs-master/Less-1/?id=-2’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’--+

这个代码中有个information_schema,那么它是什么呢?
在MYSQL5.0以上版本中,mysql存在一个自带数据库名为information_schema,它是一个存储记录有所有数据库名,表名,列名的数据库。(具体可以参考这篇文章http://help.wopus.org/mysql-manage/607.html)那么有人一定会问,MYSQL5.0以下的版本我们应该如何操作呢。首先现在基本上遇不到MYSQL5.0以下的版本(MYSQL5.0以下的版本早就淘汰了),遇到了就爆破。(具体如何爆破等我们讲sqlmap的时候会讲)
好了,现在进入正题。我们今天首先讲一下抓包和数据包。(这个对我们学习信安非常重要)
抓包顾名思义就是抓取数据包。说到抓取数据包就不得不提到burpsuite(一款信安常用的抓包软件如图工具)。在这里插入图片描述
现在我们先讲一下抓包的流程
1.点击代理,在里面找到选项,点击添加在这里插入图片描述
2.随便添加一个空闲端口,并将它勾选上。在这里插入图片描述
在这里插入图片描述
3.点击拦截禁用,让它变成拦截请求在这里插入图片描述
4.打开浏览器,在选项中点击网络设置。选择手动代理,将代理地址填入即可。在这里插入图片描述
注:只能抓取http,https不能抓。如果想抓https,需要导入证书。(如何导入证书我后面会单独写一篇文章,也可以参考这篇文章https://blog.csdn.net/supassxu/article/details/81448908)
127.0.0.1的包也没法抓,如果想抓就改成自己的IP地址。
好,现在我们抓一个包分析一下其中的重点。在这里插入图片描述
1.GET:一种请求方式。常见的的请求方式有GET,POST。(还有些请求方式,可以参考这篇文章https://blog.csdn.net/kuki123321/article/details/78219252)
2.host后面加的是数据包的接受地址。
3.cookie:是对数据包发送者的身份识别标志,与它有类似功能的叫session。(他们的区别之后会讲)
大概的讲了一下数据包中的一些知识点,现在我们就要把它们和我们现在学的sql注入结合起来。
首先我们先访问http://192.168.126.1/sqli-labs-master/Less-1/index.php?id=2对其抓包(192.168.126.1是我的本地IP),然后再访问http://192.168.126.1/sqli-labs-master/Less-1/index.php?id=2 and 1=1对其抓包。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们通过这个包就会发现———我们在《网络安全菜鸟学习之漏洞篇——sql(一)》中学的其实是对GET型数据包的参数进行了修改。既然GET型的可以通过对参数的修改进行注入,那么POST型我们是否也可以用同样的方式进行注入。答案是肯定的,Sqli-labs Less18-19 就是,但具体的怎么操作的我在这里不再赘述。(可以参考这篇文章https://blog.csdn.net/kevinhanser/article/details/81519280)
同理,COOKIE其实也可以注入还是参考上面那篇文章。
至此SQL注入常见的产生注入的接受方式我们都提到了。
即:1.GET型
2.POST型
3.COOKIE型
此外还有REQUEST SERVER两种,但并不常见。

猜你喜欢

转载自blog.csdn.net/gqzszzy/article/details/107786533