【黑客攻防技术宝典】03-解析应用程序
黑客攻防技术宝典——解析应用程序
阅读范围:《黑客攻防技术宝典:web实战篇》第四章内容
4-解析应用程序
信息搜集:枚举、分析应用程序的内容与功能
4.1 关于枚举
Web抓取
spider爬虫:
-
目标:多阶段功能、表单导航、JS中包含的URL、robots.txt敏感文件等
-
工具:Burp Suite、WebScarab、Zed Attack Proxy、CAT等
-
缺陷:无法处理不常用导航机制;忽视隐藏链接;随机表单无法通过验证;相同URL可能返回不同内容功能;针对链接无法确定资源或功能数据;令牌的不稳定
用户指定抓取
流程:
- 通过标准浏览器以常规方式浏览应用程序,尝试枚举所有功能
- 将生成的流量穿过一个组合拦截代理服务器与爬虫的工具, 监控所有请求和响应
- 工具根据发现的内容与功能更新站点地图
发现隐藏内容
目标:
- 备份文件
- Web根目录下(或根目录外)完整文件快照的备份档案
- 部署在服务器上但暂未上线的测试中的新功能
- 默认对用户不可见,但在服务器端仍可见
- 服务器中仍未删除的旧版本文件
- 配置和包含敏感数据(如数据库证书)的文件
- 编译的源文件
- 源代码中存在用户名密码或服务器状态等信息
- 包含有效用户名、会话令牌、被访问的URL以及所执行操作等敏感信息的日志文件
技巧:
-
暴力破解
注意除 200和404 的响应码:
302 Found:重定向
400 Bad Request:URL中可能包含一些空白符或其他无效语法
401 Unauthorized或403 Forbidden:被请求的资源存在,但禁止访问
500 Internal Server Error:希望在请求资源时提交某些参数 -
通过已公布内容进行推测
根据命名推测命名习惯
关注数字和日期含义
检查代码注释
搜索临时文件
结合目录、词干和扩展名猜测 -
利用公共信息
搜索引擎:Google hacking语法
web档案:历史记录、站点快照 -
利用Web服务器
框架漏洞
第三方组件
常用目录名称
发现隐藏参数
暴力破解:使用常用调试参数名称(调试、测试、隐藏、来源等)和常用值(真、是、开通和1等)列表,向已知页面和功能提出请求
4.2 关于分析
核心功能
外围行为,如:站外链接、错误消息、管理与日志功能、重定向使用等
核心安全机制及其运作方式
输入点
客户端技术
服务端技术、内部结构信息
确定输入入口点
- URL文件路径
- 请求参数
- HTTP消息头
- 带外通道:如:邮件、API接口
确定服务端技术
-
版本信息
-
HTTP指纹识别
-
文件拓展名
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 -
目录名称
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 -
会话令牌
JSESSIONID ——Java平台
ASPSESSIONID ——Microsoft IIS服务器
ASP.NET_SessionId —— Microsoft ASP.NET
CFID/CFTOKEN ——Cold Fusion
PHPSESSID —— PHP -
第三方组件
确定服务端功能
- 分析请求
- 推测行为
- 找不同,通过GUI外观、 参数命名或源码注释推测后续添加的功能部分(安全策略可能不同)
解析受攻击面
- 客户端确认——身份验证确认
- 数据库交互——SQL注⼊
- 文件上传与下载——路径遍历漏洞、保存型跨站脚本
- 显示用户提交的数据——跨站脚本
- 动态重定向——重定向与消息头注⼊攻击
- 社交网络功能——用户名枚举、保存型跨站脚本
- 登录——用户名密码枚举、弱口令、暴力破解
- 多阶段登录——登录缺陷
- 会话状态——可推测令牌、令牌处理不安全
- 访问控制——⽔平越权、垂直越权
- 用户伪装功能——权限提升
- 使用明文通信——会话劫持、收集证书和其他敏感数据
- 站外链接——Referer消息头中查询字符串参数泄漏
- 外部系统接口——处理会话与或访问控制的快捷方式
- 错误消息——信息泄漏
- 电子邮件交互——电子邮件与命令注⼊
- 本地代码组件或交互——缓冲区溢出
- 使用第三方应用程序组件——已知漏洞
- 已确定的Web服务器软件——常见配置薄弱环节、已知软件程序缺陷
本文来自博客园,作者:0dot7,转载请注明原文链接:https://www.cnblogs.com/0dot7/p/16837775.html
文章如有错误,欢迎各位师傅指正!!!
免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】