web安全——分析应用程序

embedded/2025/3/1 12:20:37/

文章目录

  • 一、确定用户输入入口点
  • 二、确定服务端技术
  • 三、解析受攻击面

一、确定用户输入入口点

在检查枚举应用程序功能时生成的HTTP请求的过程中,用户输入入口点包括:

  1. URL文件路径
    通常,在查询字符?之前的URL部分并不视为用户输入入口,但在REST风格的URL中,查询字符之前的URL部分实际上可作为数据参数。例如:
    http://eis/shop/browse/electronics/iphone
    
    其中的electronicsiphone应该被视为数据参数。
  2. 请求参数
    多数情况下,在URL查询字符串、消息主体和HTTP cookie中提交的参数都是明显的用户输入。但是,这些参数可能不使用标准的name=value格式,而是使用定制方案。如:
    /dir/file;foo=bar&foo2=bar2;
    
  3. HTTP请求头
    需要应用程序执行定制的日志功能,并可能记录HTTP请求头(如RefererUser-Agent)的内容。

二、确定服务端技术

  1. 文件扩展名
    asp——Microsoft Active Server Page
    aspx——Microsoft ASP.NET
    jsp——java Server Page
    php——php语言
    ...
    
  2. 目录名称
    servlet——java servlet
    pls—— Oracle Aplication Server PL/SQL网关
    
  3. 会话令牌
    JSESSIONID——java平台
    ASPSESSIONID——Microsoft IIS服务器
    ASP.NET——SessionId——Microsoft ASP.NET
    PHPSESSID——PHP
    

三、解析受攻击面

1.客户端确认——服务器没有采用确认检查
2.数据库交互——SQL注入
3.文件上传于下载——路径遍历漏洞、存储型XSS、文件上传漏洞
4.显示用户提交的数据——XSS
5.动态重定向——重定向与消息头注入攻击
6.社交网络功能——用户枚举、存储型XSS
7.登录——用户枚举、弱口令、暴力破解
8.多阶段登录——逻辑漏洞、验证绕过
9.会话状态——猜测令牌、令牌处理不安全
10.访问控制——垂直越权和水平越权
11.明文通信——会话劫持、敏感信息泄露
12.站外链接——Referer消息头中查询字符串参数泄露
13.错误信息——信息泄露
14.电子邮件交互——电子邮件与命令注入
15.本地代码1组件或交互——缓冲区溢出
16.使用第三方插件——已知漏洞

http://www.ppmy.cn/embedded/169052.html

相关文章

《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》

作者: 周志明 DeepSeek建议JVM书籍首选。 第一部分 走进Java 第1章 走进Java 世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。 JAVA的优点,摆脱了平台的束缚,实现了一次…

DO-254航空标准飞行器电机控制器设计注意事项

DO-254航空标准飞行器电机控制器设计注意事项 1.核心要求1.1 设计保证等级(DAL)划分1.2生命周期管理1.3验证与确认2.电机控制器硬件设计的关键注意事项2.1需求管理与可追溯性2.2冗余与容错设计2.3验证与确认策略2.4元器件选型与管理2.5环境适应性设计2.6文档与配置管理3.应用…

基于Django的考研院校数据分析及推荐系统

【Django】基于Django的考研院校数据分析及推荐系统(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用python语言进行编写,使用Django作为后端框架,通过MySQL数…

和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设

气象领域与农业、能源、交通、环境科学等国计民生关键领域紧密相连,发挥着不可替代的重要作用。人工智能技术的迅猛发展,为气象领域突破困境带来了新的契机。AI 技术能够深度挖掘气象大数据中蕴含的复杂信息,助力人类更精准地把握自然规律&am…

如何查看日本药品审评报告?(PMDA官网查询步骤)

药品上市申请技术审评报告是药品监管机构针对药品上市申请所进行的技术性评估文件。该报告涵盖了药品质量、安全性、有效性等关键要素的全面分析,并最终形成综合性的结论。 药品申请上市技术审评报告的查阅对药品研发人员来说是一项必备基本功。通过研究这些报告&a…

流式输出方案:sse与websocket的使用

1、sse(Server-Sent Events) SSE是一种允许服务器向浏览器推送实时更新的技术。它基于HTTP协议,是一种单向的通信方式 单向通信基于HTTP自动重连(内置了自动重连机制,当连接断开时,浏览器会自动尝试重新连接) 1.1 …

SpringBoot 中的 Redis 序列化

SpringBoot 中的 Redis 序列化 在 Spring Boot 中,Redis 的序列化是指将 Java 对象转换为字节流(序列化)以便存储到 Redis 中,以及从 Redis 中读取字节流并将其转换回 Java 对象(反序列化)。 这是因为在 R…

突破网络壁垒:实现 Mac SSH 访问 Windows WSL Ubuntu 的最佳实践20250301

突破网络壁垒:实现 Mac SSH 访问 Windows WSL Ubuntu 的最佳实践 背景与痛点 在现代开发环境中,开发者通常会面临不同操作系统之间的协同工作。例如: 主要开发环境位于 Windows 的 WSL Ubuntu 子系统需要从局域网内的 Mac 设备进行远程访问…