九、解析应用程序——分析应用程序(2)

news2024/10/7 11:28:34

文章目录

  • 一、确定服务器端功能
  • 二、解析受攻击面

一、确定服务器端功能

  通过留意应用程序向客户端披露的线索,通常可推断与服务器端功能和结构有关的大量信息,或者至少可做出有根据的猜测。以下面用于访问搜索功能的URL为例:

在这里插入图片描述

  可见,.jsp文件扩展名表示它使用Java Server Pages。据此可以推断:

  • 搜索功能从索引系统或数据库获取信息;
  • OrderBy参数暗示它使用后端数据库,提交的值将被SQL查询的ORDER BY子句使用。

  在这些参数中,isExpired字段同样值得我们注意,这是一个指定搜索查询是否应包含已到期内容的布尔型标志。如果应用程序的设计者并不希望用户访问任何到期的内容,将这个参数由0改为1就能够确定一个访问控制漏洞。

  下面的URL允许用户访问内容管理系统,其中包含另外一些线索:

在这里插入图片描述
  这里的.aspx文件扩展名表示这是一个ASP.NET应用程序;template参数很可能用于指定一个文件名;loc参数用于指定一个目录。很明显,文件扩展名.tpl证明了上述推论,而位置/default很有可能是一个目录名称。应用程序可能获得指定的模板文件,并将其内容包含在响应中。这些参数非常容易受到路径遍历攻击,允许攻击者读取服务器上的任何文件。

  同样值得注意的是edit参数,它被设置为假。将这个值更改为真会修改注册功能,可能允许攻击者编辑应用程序开发者不希望用户编辑的数据。由ver参数并不能推断出任何有用的线索,但修改这个参数可能会使应用程序执行一组可被攻击者利用的不同功能。

  最后,我们来分析以下请求,它用于向应用程序管理员提出问题:

在这里插入图片描述)
#pic_center)同上,.php文件扩展名表示它使用PHP语言执行功能。而且,应用程序极有可能正通过接口与一个外部电子邮件系统连接;同时,它显示使用电子邮件的相关字段向那个系统提交用户可控制的输入。攻击者可利用这项功能向任何接收者发送任意邮件,并且,其中所有字段都易于遭受电子邮件消息头的注入攻击。

二、解析受攻击面

#pic_center)解析过程的最后一个步骤是确定应用程序暴露的各种受攻击面,以及与每个受攻击面有关的潜在漏洞。下面简要说明渗透测试员能够确定的一些主要行为和功能,以及其中最可能发现的漏洞。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/870830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R语言 列表中嵌套列名一致的多个数据框如何整合为一个数据框

在批量建模后容易得到list&#xff0c;list中的每个元素都是单个的tibble 或者 dataframe&#xff0c;如何将这些数据整合为一张表呢&#xff1f; 载入R包 library(broom) library(tidyverse) 模拟数据 models <- txhousing %>% group_by(city) %>% do(modlm(lo…

ICMP协议报文

1、CMP协议简介 ICMP&#xff08;Internet Control Message Protocol&#xff09;是一种网络协议&#xff0c;它用于在IP网络中传递控制信息和错误消息。它通常与IP协议一起使用&#xff0c;IP协议负责发送和路由数据包&#xff0c;而ICMP协议负责检查网络是否可达、路由是否正…

多传感器融合相关技术

重要说明&#xff1a;本文从网上资料整理而来&#xff0c;仅记录博主学习相关知识点的过程&#xff0c;侵删。 一、参考资料 多传感器融合定位学习 深蓝-多传感器定位融合 深蓝学院 多传感器融合定位 作业 多传感器融合详解 二、相关介绍 1. 毫米波雷达&#xff08;Radar&a…

mysql数据库设计

一、表关系 二、表结构 1、树状结构图&#xff08;id0表示根节点&#xff0c;parent_id是父节点&#xff09; 2、价格&#xff08;decimal类型&#xff09; 3、订单时间对应每一个订单状态&#xff08;前端展示、方便排查问题、数据分析&#xff09; 4、订单表存储商品信息&a…

LeetCode.26,27,88三题-双指针的运用

本文将对3道解决方法类似的题目进行逐一分析&#xff0c;这三道题目分别是&#xff1a; LeetCode.26 删除有序数组中的重复项 LeetCode.27 移除元素 LeetCode.88 合并两个有序数组 1. LeetCode.27 移除元素&#xff1a; 题目内容如下&#xff1a; 假设一个数组为&#xff1…

uniapp+vue3+vite+pinia2.0.33项目初始化

目录 准备工作 注意事项 使用vue-cli创建项目 运行 准备工作 下载hbuild开发工具 HBuilderX-高效极客技巧 下载微信小程序开发工具 概览 | 微信开放文档 uniapp uni-app官网 注意事项 1.node.js版本>16#windows查看node版本 C:\Users\22862>node -v v18.16.0 …

02Mysql之多表查询--例题讲解

一、题目详情&#xff0c;以及表的建立 新增员工表emp和部门表deptcreate table dept (dept1 int ,dept_name varchar(11));create table emp (sid int ,name varchar(11),age int,worktime_start date,incoming int,dept2 int);insert into dept values(101,财务),(102,销售)…

【数据中台商业化】数据中台微前端实践

一&#xff0c;需求背景 1 业务背景 在以往的业务场景中&#xff0c;用户进入五花八门的菜单体系中&#xff0c;往往会产生迷茫情绪&#xff0c;难以理解平台名称及具体作用&#xff0c;导致数据开发与管理学习成本较高&#xff0c;降低工作效率。为此我们整合从数据接入&…

不知道打仗之害,就不知道打仗之利

不知道打仗之害&#xff0c;就不知道打仗之利 【安志强趣讲《孙子兵法》第7讲】 【原文】 夫钝兵挫锐&#xff0c;屈力殚货&#xff0c;则诸侯乘其弊而起&#xff0c;虽有智者&#xff0c;不能善其后矣。 【注释】 屈力殚货&#xff1a;屈力&#xff0c;指力量消耗&#xff0c;…

掌握Python的X篇_32_使用python编辑pdf文件_pdfrw

本篇介绍利用python操作pdf文件&#xff0c;我们平时也会有合并和拆分pdf的需求&#xff0c;此时我们就可以使用本节内容。 文章目录 1. pdfrw的安装2. 切分pdf文件3. pdfrw官网及实现一版四面的实例 1. pdfrw的安装 pip install pdfrw官网地址&#xff1a;https://github.co…

设计模式之责任链模式【Java实现】

责任链&#xff08;Chain of Resposibility&#xff09; 模式 概念 责任链&#xff08;chain of Resposibility&#xff09; 模式&#xff1a;为了避免请求发送者与多个请求处理者耦合在一起&#xff0c;于是将所有请求的处理者 通过前一对象记住其下一个对象的引用而连成一条…

Mysql中插入数据,并返回自增主键的值

创建数据库和表使用 insert into 进行插入数据使用 RETURN_GENERATED_KEYS 进行返回插入的这条数据 具体方法如下&#xff1a; Testvoid addGetPk(){try{Statement stmt conn.createStatement();String sql String.format("insert into t_students values(null,%s,%s,%d…

Git:在本地电脑上如何使用git?

git 版本&#xff1a; 2.40.1.windows.1 文章目录 一. 使用git之前你必须要理解的几个概念1.1 理解工作区、版本库、暂存区的概念1.2 提交Git版本库的步骤【分两步执行】 二. Git本地库实战2.1 初始化版本库2.2 新建 & 提交 & 状态2.3 查看日志2.4 回退 & 穿梭 &am…

Linux驱动-基于Buildroot构建系统镜像后实现基于QT项目开发之环境配置

Linux驱动-基于Buildroot构建系统镜像后实现基于QT项目开发之环境配置 需求BuildRootUboot的仓库地址和commit idKernel 的仓库地址和commit id BuildRoot已编译库在Windows上的Create上创建项目编译QT项目 需求 基于Build root编译整个镜像后&#xff0c;如何开发自己的基于Q…

D* 算法完全解析(应该是全网最详细的吧)

花了几天时间学习了下 D* 算法&#xff0c;只能说熟悉了一下流程&#xff0c;远不能说掌握&#xff0c;算法实在是非常巧妙 参考 《制造车间无人搬运系统调度方法研究》 《基于D*Lite算法的移动机器人路径规划研究》 人工智能: 自动寻路算法实现(四、D、D*算法) D* 算法 D*路径…

Pycharm社区版连接WSL2中的Mysql8.*

当前时间2023.08.13&#xff0c;Windows11中默认的WSL版本已经是2了&#xff0c;在WSL2中默认的Ubuntu版本已经是22.04&#xff0c;而Ubuntu22.04中默认的Mysql版本已经是8.*。 Wsl 2 中安装mysql WSL2中安装Mysql的方法参考自微软官方文档【开始使用适用于 Linux 的 Windows …

网络请求中,token和cookie有什么区别

HTTP无状态&#xff0c;每次请求都要携带cookie&#xff0c;以帮助识别用户身份&#xff1b; 服务端也可以向客户端set-cookie&#xff0c;cookie大小限制为4kb&#xff1b; cookie默认有跨域限制&#xff0c;不跨域共享和传递&#xff0c;例如&#xff1a; 现代浏览器开始禁…

使用Python和pyodbc库将文件信息插入Access数据库

将文件信息插入 Access 数据库的博客文章示例&#xff1a; 简介&#xff1a; 在日常编程工作中&#xff0c;我们经常需要处理文件和文件夹。有时&#xff0c;我们需要遍历文件夹中的所有文件&#xff0c;并将文件的路径、类型、文件名以及修改日期和创建日期等信息保存到数据库…

基于MIV的神经网络变量筛选

1.案例背景 一般神经网络中所包含的网络输人数据是研究者根据专业知识和经验预先选择好的,然而在许多实际应用中,由于没有清晰的理论依据,神经网络所包含的自变量即网络输入特征难以预先确定,如果将一些不重要的自变量也引入神经网络,会降低模型的精度,因此选择有意义的自变量特…

Flask 上下文是什么 ?

哈喽大家好&#xff0c;我是咸鱼。今天我们来聊聊什么是 Flask 上下文 咸鱼在刚接触到这个概念的时候脑子里蹦出的第一个词是 CPU 上下文 今天咸鱼希望通过这篇文章&#xff0c;让大家能够对 Flask 上下文设计的初衷以及应用有一个基本的了解 Flask 上下文 我们在使用 Flask 开…