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

阅读范围:《黑客攻防技术宝典: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服务器软件——常见配置薄弱环节、已知软件程序缺陷

原文地址:http://www.cnblogs.com/0dot7/p/16837775.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性