测试_sql注入

一、浅谈

有一个别的公司的测试问我,会sql注入么,刚开始我有点懵,因为本身黑盒测试sql注入这块其实是一个测试关注点,但一直只是听说过,没用过,后来简单的入门了一下,才知道拿别人的后台不只是“白帽”能做到,对于测试来说也是轻而易举

二、什么是sql注入

我的理解就是通过网页传递给数据库的数据,开发人员未对此类数据做过滤限制,通过这些未被过滤的数据进行sql语句的代码进行攻击。
常见可被注入的网址一般如下

1.www..com/index.asp?page=11
2.www..com/news.asp?id=1&page=2
3.www.?id=11    

直接通过页面传递GET请求参数页面,是比较经典的sql注入网址,但绝对不是所有的GET请求页面都能被注入,具体能被注入的网址需要自己去试,或者自己去用工具,如果基础比较好的人可以自己编写简单的注入工具

三、如何判断注入

常见的注入and/or/',通过这个三个可以判断网站是否存在注入
对于使用access数据库的网站,一般注入分为以下几个步骤

判断注入 :使用 and/or/'
猜解表名 :使用 order by 和 UNION 联合操作
猜解列名 :使用 UNION 操作
猜解数据 :根据猜解的列名采集数据

根据上面的四个步骤,我们在数据库模拟操作看实际效果

  • 单引号的时候数据库直接报错,对应web页面可能会出现对应的报错信息
image.png
  • and 1=1 真and真为真,对应web页面数据返回正常
image.png

+and 1=2 真and假为假,所以没有数据返回,对应web页面也应该无数据返回

image.png

现在假如我们判断页面符合注入
首先知道数据库中ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

  • 使用order by 判断字段数
    这里我先大于实际字段数时数据库报错
image.png

当我等于实际字段数时

image.png

这时候我可以判断出这个表的字段有五个,下一步使用UNION,这里我们首先要知道union的意义

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。
列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

根据这个猜表我们用null 占位字段,使其达到让两个表的字段一致

  • 表名猜错时会出现报错


    image.png
  • 表名猜对时数据展示正常


    image.png
  • 这时候通过替换方法猜测列名
    输入错误字段名称报错


    image.png

在任意位置输入正确字段,字段内容全部显示

image.png

我们运用这个基础知识去测一个网站看我们能不能拿到网站数据,这是我从某网站拿到的表

表:
+------------+
| ad         |
| admin_user |
| menu       |
| news       |
| system     |
| video      |
+------------+
字段:
+----------+
| Column   |
+----------+
| admin    |
| id       |
| keywords |
| password |
+----------+
用户名密码其实我也拿到了,但点到为止就好
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/sq...
    道无涯_cc76阅读 1,980评论 0 2
  • 0x01:判断是否存在注入点 id=1'/*页面异常*/id=1and1=1/*页面正常*/id=1and1=2/...
    lndyzwdxhs阅读 2,077评论 0 0
  • [SQL注入攻击] SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式...
    James黄杰阅读 2,712评论 0 30
  • 我曾经无数次想过自杀,当烦恼与痛苦积聚够多的时候,那种错觉会开始出现,似乎只有死亡才能够解决这一切。 可是,情况变...
    爱穿裙子的小妖阅读 360评论 0 0
  • 所幸雨还在下着 外面下着雨我背起背包踏上了那条未知起点始于何此,终点至于何地。 绵绵的雨便成了最佳的润滑剂,于我...
    愚智大叔阅读 150评论 0 0