记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

网络攻击防护之关于sql注入的一些理解

2017-01-04 11:20

网络攻击防护之关于sql注入的一些理解。sql注入是渗透最基础的东西我个人对sql注入的理解就是浏览器提交给服务器端的数据,在服务器端没有进行过滤,并带入数据库查询。要想彻底研究sql注入还得随便写一个页面。

\

代码如下(注释写了好久...)

\

数据库的数据如下

\

第一步 判断注入在url后面添加 and 1=1 如果网站正常显示 (如下图)

\

在url后面添加and 1=2 如果网站不正常显示 (如下图)

\

那么就能判断该网站存在注入了

判断注入想必大家都能明白 ,而为什么在url 后面添加 and 1=1和 and 1=2 就能判断出是否存在注入呢? 这个才是我们要研究的东西那么我就要从sql语句开始入手这是网站原本的sql语句 SELECT * FROM person where number=1这句话的意思就是说 查询person表里 number字段为 1 的全部信息

\

如果我们在参数后面 添加 and 1=1 sql语句就会变成SELECT * FROM person where number=1 and 1=1我们把这句话放进数据库查询

\

还是能查到数据为什么呢??因为person 表里的确有number值为1的数据 并且 1也确实等于1如果我们在参数后面 添加 and 1=2 sql语句就会变成SELECT * FROM person where number=1 and 1=2我们把这句话放进数据库查询

\

很明显就查不出数据了因为person 表里的确有number值为1的数据 但是 1不等于2呀再看sql语句 SELECT * FROM personwhere number=1 and 1=1这里面的and 就是并且的意思 前面number=1 要成立and 后面的表达式也要成立那么我们把number=1 换成number =8 这样也查询不出来了,因为在person表里没有number=8的数据。

\

即使 and 后面的表达式1=1成立 可是and 前面的number=8不存在 所以就查询不出数据

Sql注入的第二步就是 拆解字段猜字段的意思就是猜当前表里有多少个字段

\

显而易见 person表里有三个字段 分别是 number name birthday拆解字段的方法如下:先在网站url后面添加 order by 5 (因为我们知道表里有3个字段。。正常的一个页面应该从20开始猜)127.0.0.1/test.php?a=1 order by 5

\

页面报错了,说明字段数没有5个,这时我们折半 用 order by 3来试试127.0.0.1/test.php?a=1 order by 3

\

网页正常显示,我们在用 order by 4来试试127.0.0.1/test.php?a=1 order by 4

\

哈哈页面报错了,这时 在网站url 后面 添加order by 3网站正常显示在网站url 后面 添加order by 4 网站不正常显示就能判断出该表的字段数就是3。

公式 :页面表里的字段数=网站 url order by n (n表示这个网站最大正常显示的整数)

比如。。。。

提交3w.xxxx.康姆?a=1 orderby 20 网站正常显示

提交3w.xxx.康姆?a=1 order by21 网站不正常显示

那么字段数就是20!!!

接下来就是原理分析了,为什么在url 后面添加order by 语句就能判断出网页的字段数呢??

首先我们要弄懂order by 是干什么的.

order by 是对查询结果进行排序的函数首先我们用select * from person 语句查询结果如下(这句sql的意思之前已经讲过的吧!)

\

这时我们加上order by 1试试select * fromperson order by 1

\

哈哈是不是明白了? 查询出来的结果按照第一个字段也就是number 里面的值 从小到大排序了呢??额额还是不懂??那就再试试 order by 2select * fromperson order by 2

\

看出来了吧?order by 2 就是将结果按照person表里第二个字段里的值来进行排序数字在前面。。字母在后面 为什么是这个 顺序请自行百度asics表问题来了 为什么 order by4 就会报错了/?

\

因为这个表里就tm 3个字段你却让数据库按照第四个字段的值来排序这不是搞笑吗….

知识来源: www.2cto.com/article/201701/583459.html

阅读:80872 | 评论:0 | 标签:注入

想收藏或者和大家分享这篇好文章→复制链接地址

“网络攻击防护之关于sql注入的一些理解”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云