首页 > 编程语言 >【黑客攻防技术宝典】03-解析应用程序

【黑客攻防技术宝典】03-解析应用程序

时间:2022-10-28 23:12:19浏览次数:49  
标签:03 功能 Web URL 宝典 应用程序 枚举 黑客 服务器

黑客攻防技术宝典——解析应用程序

阅读范围:《黑客攻防技术宝典:web实战篇》第四章内容



4-解析应用程序

信息搜集:枚举、分析应用程序的内容与功能

4.1 关于枚举

Web抓取

spider爬虫:

  • 目标:多阶段功能、表单导航、JS中包含的URL、robots.txt敏感文件等

  • 工具:Burp Suite、WebScarab、Zed Attack Proxy、CAT等

  • 缺陷:无法处理不常用导航机制;忽视隐藏链接;随机表单无法通过验证;相同URL可能返回不同内容功能;针对链接无法确定资源或功能数据;令牌的不稳定

用户指定抓取

流程:

  1. 通过标准浏览器以常规方式浏览应用程序,尝试枚举所有功能
  2. 将生成的流量穿过一个组合拦截代理服务器与爬虫的工具, 监控所有请求和响应
  3. 工具根据发现的内容与功能更新站点地图

发现隐藏内容

目标:

  • 备份文件
  • Web根目录下(或根目录外)完整文件快照的备份档案
  • 部署在服务器上但暂未上线的测试中的新功能
  • 默认对用户不可见,但在服务器端仍可见
  • 服务器中仍未删除的旧版本文件
  • 配置和包含敏感数据(如数据库证书)的文件
  • 编译的源文件
  • 源代码中存在用户名密码或服务器状态等信息
  • 包含有效用户名、会话令牌、被访问的URL以及所执行操作等敏感信息的日志文件

技巧:

  1. 暴力破解

    注意除 200和404 的响应码:
    302 Found:重定向
    400 Bad Request:URL中可能包含一些空白符或其他无效语法
    401 Unauthorized或403 Forbidden:被请求的资源存在,但禁止访问
    500 Internal Server Error:希望在请求资源时提交某些参数

  2. 通过已公布内容进行推测

    根据命名推测命名习惯
    关注数字和日期含义
    检查代码注释
    搜索临时文件
    结合目录、词干和扩展名猜测

  3. 利用公共信息

    搜索引擎:Google hacking语法
    web档案:历史记录、站点快照

  4. 利用Web服务器

    框架漏洞
    第三方组件
    常用目录名称

发现隐藏参数

暴力破解:使用常用调试参数名称(调试、测试、隐藏、来源等)和常用值(真、是、开通和1等)列表,向已知页面和功能提出请求

4.2 关于分析

    核心功能
    外围行为,如:站外链接、错误消息、管理与日志功能、重定向使用等
    核心安全机制及其运作方式
    输入点
    客户端技术
    服务端技术、内部结构信息

确定输入入口点

  1. URL文件路径
  2. 请求参数
  3. HTTP消息头
  4. 带外通道:如:邮件、API接口

确定服务端技术

  1. 版本信息

  2. HTTP指纹识别

  3. 文件拓展名

    asp——Microsoft Active Server Pages
    aspx——Microsoft ASP.NET
    jsp——Java Server Pages
    cfm——Cold Fusion
    php——PHP
    d2w——WebSphere
    pl——Perl
    py——Python
    dll——通常为编译型本地代码(C或C++)
    nsf或ntf——Lotus Domino

  4. 目录名称

    servlet ——Java servlet
    pls ——Oracle Application Server PL/SQL网关
    cfdocs或cfide —— Cold Fusion
    SilverStream —— SilverStream Web服务器
    WebObjects或{function}.woa—— Apple WebObjects
    rails—— Ruby on Rails

  5. 会话令牌

    JSESSIONID ——Java平台
    ASPSESSIONID ——Microsoft IIS服务器
    ASP.NET_SessionId —— Microsoft ASP.NET
    CFID/CFTOKEN ——Cold Fusion
    PHPSESSID —— PHP

  6. 第三方组件

确定服务端功能

  1. 分析请求
  2. 推测行为
  3. 找不同,通过GUI外观、 参数命名或源码注释推测后续添加的功能部分(安全策略可能不同)

解析受攻击面

  • 客户端确认——身份验证确认
  • 数据库交互——SQL注⼊
  • 文件上传与下载——路径遍历漏洞、保存型跨站脚本
  • 显示用户提交的数据——跨站脚本
  • 动态重定向——重定向与消息头注⼊攻击
  • 社交网络功能——用户名枚举、保存型跨站脚本
  • 登录——用户名密码枚举、弱口令、暴力破解
  • 多阶段登录——登录缺陷
  • 会话状态——可推测令牌、令牌处理不安全
  • 访问控制——⽔平越权、垂直越权
  • 用户伪装功能——权限提升
  • 使用明文通信——会话劫持、收集证书和其他敏感数据
  • 站外链接——Referer消息头中查询字符串参数泄漏
  • 外部系统接口——处理会话与或访问控制的快捷方式
  • 错误消息——信息泄漏
  • 电子邮件交互——电子邮件与命令注⼊
  • 本地代码组件或交互——缓冲区溢出
  • 使用第三方应用程序组件——已知漏洞
  • 已确定的Web服务器软件——常见配置薄弱环节、已知软件程序缺陷

标签:03,功能,Web,URL,宝典,应用程序,枚举,黑客,服务器
From: https://www.cnblogs.com/0dot7/p/16837775.html

相关文章