共计 1219 个字符,预计需要花费 4 分钟才能阅读完成。
这篇文章将为大家详细讲解有关数据库中 sql 注入的示例分析,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
首先可能大家都会问什么是 sql?
Sql 是数据库的一种类型,是用来存储网站数据的。
每当我们点开一个网站,就会从网站的数据库中获取相关的内容。
我们来梳理一下访问网页的简图:
看完这个以后,我们发现一个问题,当我们对发送数据这块动足够脑筋的时候,只要输入合理是可以做很多事情的,我们可以利用其方式获取很多内容。
接下来我们来讲解一下“”这个符号在 sql 中的运用
首先 在 sql 中闭合一句话结束,如果这句话用的是 来闭合,那么我们人为的加入 是不是可以在后面接新的语句了呀?接新的句子就可以做自己想要做的事情了。
当然,如果大家想要真的理解还是要多学学 sql 和 asp 等语言。
接下来我们来开始演示吧~
接下来步入正轨,进入域名以后,我们会发现网站是要我们输入 id 的,所以在这里按照 sql 的要求输入
http://localhost/sqli/Less-1/?id=1
这里的?Id= 1 是数据库的进入的格式,想要回去对应的数据变数字就行了。
http://localhost/sqli/Less-1/?id=2
接着变换 id,我们发现有多个账户密码,这些都是这个网站对应的数据库里面的内容。也是数据库里面对应的路径。
接下来就是重点了,当我们在 http://localhost/sqli/Less-1/?id= 1 后面加入 时候,我们来看一下
我们发现这个网站出现了报错,并且出现了错误信息的一个反馈
1 LIMIT 0,1
这是由于我们加入 引起的,我们来看一下这个报错语句,分析一下它,去掉最外层的‘得到 1 LIMIT 0,1 我们发现这个数据库有限制,输出只能是一行。
因为我们加入了 闭合了语句,那么结合后面的内容,我们可以在 后面补充一些句子来得到更多的内容,在这里我想获取数据库用户名,一般默认 user
http://localhost/sqli/Less-1/?id=1 and updatexml(1,concat(0x7e,user()),0)%23
%23 就是 的意思。是 #url 编码之后的值,因为 sql 语句在进入数据查询的时候会进行一次 url 解码,所以这个地方必须是 url 编码之后的值
这里我们看到出现了
~root@localhost
也就是数据库的用户名是 root
接下来我要查询数据库名称
http://localhost/sqli/Less-1/?id=1 and updatexml(1,concat(0x7e,datebase()),0)%23
这里因为我把数据库文件名字改了所以没有查出来,当然,如果你知道的够多,这里还有很多种做法,这里的 datebase 的名字是可以猜解出来的。
关于“数据库中 sql 注入的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。