Sec-Interview 面试题库

友好阅读版:手机/微信直接打开,题目点击进入格式化阅读页面。

README · SUMMARY

Chapter1

如何处理子域名爆破的泛解析问题1. 泛解析的探测与识别登录验证码怎么绕过1. 验证码本身的设计缺陷工作组环境下怎么判断是否有域环境1. 系统信息查看只有一个网卡通过什么方式判断内网中是否有其他网段1. 路由表分析说说 Webpack 信息泄露常见的泄露文件和表现形式net group "Domain Admins" /domain 这条命令查询域内管理员没查到,那么可能出现了什么问题,怎么解决1. 权限问题继上题,这条命令的本质究竟是去哪里查查询的详细过程如何判断目标单位的机器是哪种协议出网1. 自动化扫描与端口探测NSE 脚本原理1. NSE 脚本的运行机制Nmap 的 FIN 扫描和空扫描是什么1. FIN 扫描 (FIN Scan)为什么要搜集目标单位的控股信息1. 股权穿透如何绕过 CDN 查找真实 IP1. 子域名查询怎么找边缘资产呢1. 证书关联法移动端怎么收集域名呢1. 移动端与新媒体资产关联(绕过备案)SSL 证书有什么用,对信息收集有什么帮助SSL/TLS 证书的作用说说源码泄露搜索1. 代码托管平台搜索(主战场)

Chapter2

输出到 href 属性的 XSS 如何防御1. 严格的白名单验证为什么很多 XSS 在 Chrome 可以复现,但在 Firefox 不行?你如何判断这是漏洞问题还是浏览器差异?1. 为什么 Chrome 能行,Firefox 不行?黑名单拦截了所有常见标签和事件,但页面仍然需要支持富文本渲染,你会从哪些方向尝试突破?1. 黑名单通常基于已知的威胁列表,但 HTML 标准在不断演进,总有漏网之鱼CSP 的绕过方式有哪些1. 配置缺陷类: unsafe inline 与 unsafe evalXSS 绕过方式1. 大小写混淆绕过XSS 利用方式1. 窃取 Cookie 和 SessionXSS 怎么打内网1. 端口扫描XSS 如何绕过 HttpOnly 获取 CookieXST 是一种利用 HTTP TRACE 或 TRACK 方法的攻击,它在某些特定配置下可以绕过 HttpOnly。当一个网站允许 TRACE 请求时,攻击者可以通过以下步…有 Shell 的情况下如何使用 XSS 实现对目标站的长久控制1. 利用 XSS 劫持管理员会话反射型、存储型、DOM 型 XSS 的核心区别| 类型 | 数据是否存储 | 是否经过服务端 | 执行位置 |为什么说 DOM XSS 对传统 WAF 基本免疫在传统的 反射型 XSS 或 存储型 XSS 中,Payload 必须经过 HTTP 请求发送到服务器(WAF 就在这里把守),然后再由服务器返回给浏览器如果你发现一个输入点最终进入了 `<textarea>`,你是直接放弃,还是继续深入?为什么?<textarea 属于 RCDATA 元素 。浏览器在解析它时,会一直寻找闭合标签 </textarea

Chapter3

SameSite 防御 CSRF 的原理1. SameSite=StrictJSON 格式的 CSRF 如何防御1. 使用 CSRF TokenAjax 发送 POST 请求会发几个数据包AJAX 发送一个 POST 请求,通常会发送 一个 数据包

Chapter4

MSSQL 的 xp_cmdshell() 函数被禁用怎么绕过1. 利用其他扩展存储过程MySQL 5.0 以上和 5.0 以下的区别1. information schema 的有无SQL 注入 outfile() 被过滤怎么绕过1. 利用 dumpfile() 函数SQL 注入中 Post 和 Get 都做了防注入可采用什么方式绕过许多 Web 应用程序不仅处理 POST 和 GET 数据,还会依赖于 HTTP 请求头中的信息。如果这些头信息没有经过严格的过滤,就可能成为注入点SQL 盲注 if() 函数被过滤怎么绕过1. 利用 CASE WHEN 语句SQL 注入无回显利用 DNSLog 如何构造1. MySQL/MariaDBand or 被过滤怎么绕过1. 利用逻辑运算符的符号替代SQLMap 自带脚本有哪些1. 编码与混淆(绕过签名检测)扫出后缀为 .asp 的数据库文件,访问乱码如何利用这是最常见的情况。利用步骤如下:找到一个注入点怎么判断对方什么数据库1. 报错信息判断SQL 报错注入函数有哪些MySQL单引号被过滤怎么绕过1. 使用双引号MySQL 一个 @ 和两个 @ 的区别@ (用户自定义变量)为什么 MSSQL 存储过程可以执行命令1. xp cmdshell 存储过程如果想通过 MSSQL 上传文件需要开启哪个存储过程的权限1. 利用 xp cmdshell 存储过程(最常见)SQL 延时盲注 sleep() 被禁用怎么绕过1. 利用 BENCHMARK() 函数

Chapter5

现在在域外有一台工作组机器的权限但没有域用户且无法直接通过漏洞进入域内,请问这种情况怎么进入域中找到域控1. 探索工作组机器与域的关联利用 NTLM Relay 配合 ADCS 这个漏洞的情况需要什么条件1. NTLM Relay 攻击的基本原理继上题,Responder 应该开在哪台机器上,为什么为什么必须开在攻击者的机器上?继上题,为什么 ADCS 这个漏洞能获取域管理员权限,原理是什么1. ADCS 漏洞(ESC8)的核心原理如果拿到了一套 vCenter 的权限,如何去进一步深入利用1. 信息收集与环境侦察拿到 vCenter 管理员权限,但部分虚拟机处于锁屏状态怎么办1. 内存转储攻击Kerberos 的原理Kerberos 的三大核心组件Flannel、Calico 和 Cilium 有什么区别1. FlannelCS 上线不出网机器用到的什么类型的 BeaconSMB BeaconPTT 有哪些攻击方法1. 获取 Kerberos 票据(TGT 或 ST)DCSync 的利用条件域管理员组 (Domain Admins) 成员: 默认情况下,此组的成员拥有执行 DCSync 所需的最高权限横向渗透命令执行手段1. WMIPTH、PTT、PTK 三者区别Pass the Hash (PtH)一台机器不能出网,如何把一个 exe 文件放到对应的目标机器上去1. 利用现有会话通道说说域内委派1. 基础知识:委派的类型怎么定位域管曾经登录哪些机器1. 利用事件日志(Event Logs)

Chapter6

Fastjson 漏洞原理Fastjson 是阿里巴巴开源的一个高性能 JSON 解析库,它能够将 Java 对象序列化成 JSON 字符串,也能将 JSON 字符串反序列化成 Java 对象如何判断靶标是否使用 Shiro1. 查看 HTTP 请求和响应头Nacos 如何通过配置文件拿 Shell1. 信息收集与漏洞探测Nacos 不出网利用方式1. 构造恶意 Groovy 配置文件.do 文件是哪种框架Struts 1 框架 :为了实现更好的代码结构和分层,Struts 1 引入了控制器(Controller)的概念。它将所有请求统一通过一个核心的 ActionServl…Shiro 有 Key 无链怎么利用1. 内存马注入Redis 主从复制原理1. 工作原理概述phpMyAdmin 写 Shell 的方法1. 利用 SELECT ... INTO OUTFILE 或 DUMPFILE了解过哪些中间件解析漏洞1. Apache 解析漏洞Shiro 不出网怎么利用1. 利用内存马JNDI 的解析流程和原理JNDI 的解析流程Log4j 漏洞原理1. Log4j 的“查找”(Lookups)功能runc 容器逃逸原理1. 竞争条件JBoss 反序列化漏洞原理在 CVE 2017 7504 的利用中,攻击者通常会利用 Apache Commons Collections 库中的 Gadget Chain。这个库在许多 Java …XStreadm 反序列化漏洞原理1. 核心原理: readObject() 方法和 Bad Gadget讲讲 Confluence RCE1. 漏洞原理

Chapter7

内存马查杀思路在查杀之前,首先要了解内存马的常见类型。它们通常可以分为以下几类:拿到攻击者 IP 怎么溯源第一步:信息收集内网报警处理方式第一步:确认与隔离怎样从日志找 WebShell 位置第一步:排查 Web 服务器访问日志(access.log)常见日志分析工具日志管理与分析平台 (SIEM)网页挂马排查思路第一步:定位恶意代码位置XSS 防御方法1. 对用户输入进行严格的过滤和验证CSRF 防御方法1. 验证 HTTP RefererSSRF 防御方法1. 验证用户输入的 URLXXE 防御方法通用防御思路文件上传防御方法1. 客户端验证Linux 日志存放位置以下是一些重要日志文件及其作用:CS 流量特征一、HTTP/HTTPS 通信特征WebShell 工具流量特征1. 蚁剑(AntSword)日志被删除如何排查1. 内存取证 (Memory Forensics)常见加固手段1. 系统和应用程序加固

Chapter8

正向代理和反向代理区别正向代理 (Forward Proxy)内网有 ACL 策略,如果是白名单如何绕过1. 利用被允许的协议和端口如何进行内网穿透1. 反向代理与隧道技术如何隐藏 CS 流量1. 域前置ICMP 隧道的流量特征由于 ICMP 隧道将其他协议的数据“借壳上市”,它的流量行为和正常的 ping 命令有显著区别。以下是 ICMP 隧道的几个主要流量特征:代理转发常用的工具有哪些1. Frp目标机器 Ping 不通外网,没有办法走网络层协议如何搭建隧道1. HTTP/HTTPS 隧道内网的多级代理用什么东西代理1. SOCKS 代理如果 TCP 和 UDP 不出网怎么绕过1. 利用 DNS 协议进行隧道传输多级代理如何做一个 CDN 进行中转步骤一:准备 C2 服务器

Chapter9

**1. Windows 系统**在 Windows 中,隐藏用户通常有两种实现方式360 开启了晶核模式,怎么去尝试权限维持1. 放弃传统方法,转向无文件和内存驻留计划任务被拦截了怎么办1. 放弃创建,寻找修改或利用已有的计划任务说说 PAM 软连接提权 / 后门原理一、PAM 软连接提权的核心原理如何不记录执行命令1. 临时禁用历史记录

Chapter10

SSRF 漏洞存在位置1. URL地址加载资源SSRF 漏洞绕过方法1. IP 地址绕过SSRF 漏洞利用方式1. 端口扫描SSRF 如何攻击内网服务1. 判断内网Redis端口是否开放如何判断 SSRF 的流量是否攻击成功1. 基于DNS记录判断SSRF 怎么用 Redis 写 Shell步骤一:利用 SSRF 伪造 Redis 协议请求

Chapter11

XXE 漏洞利用方式1. 文件读取(最常见)XXE 盲注思路1. 基础的带外请求(OOB)PCDATA 和 CDATA 的区别PCDATA

Chapter12

文件上传漏洞绕过方法1. 客户端 JS 绕过

Chapter13

代码执行、命令执行的函数有哪些PHP正向 Shell 和反向 Shell 的区别正向 Shell (Bind Shell)如何从非交互的 Shell 提升为交互 Shell方法一:使用 Python PTY 模块(最常用)PHP disable_functions() 绕过方法1. LD PRELOAD 环境变量劫持PHP 的 %00 截断的原理当 PHP 脚本在调用某些文件操作函数(如 include() 、 require() 、 file get contents() 等)时,底层会调用 C 语言的库函数。在…站库分离怎么拿 Shell1. SQL 注入结合文件上传或文件写入漏洞

Chapter14

CC1、CC6 区别Commons Collections 1 (CC1) 利用链讲讲 IIOP 和 T3 反序列化原理1. IIOP (Internet Inter Orb Protocol) 原理Java invoke 反射具体利用1. invoke 反射的基础讲一下 CC1-7 的原理CC1: InvokerTransformerBECL 利用链使用条件及原理1. BECL 利用链核心原理BCEL 与类加载器的关系Java 类加载器( ClassLoader )负责在运行时将 .class 文件加载到 JVM 中。当一个类加载器加载字节码时,它会调用 defineClass() 方法…了解 JEP290 的原理吗JEP290 的核心原理:反序列化白名单和黑名单讲下 RMI 原理以及相关的漏洞1. RMI 原理JdbcRowSetImpl 如何触发的 JNDI 注入1. 核心原理: setDataSourceName() 与 JNDICC 链四个 Transformer 区别1. InvokerTransformer反序列化除了readObject 还有什么触发点1. readResolve() 和 writeReplace()

Chapter15

LM Hash 加密算法过程LM Hash 的整个加密过程可以分解为以下几个步骤:内网抓取密码的话怎么抓1. 利用内存中的明文密码内网有杀软又怎么抓1. 使用 Procdump 转储 lsass.exe 进程操作系统什么版本之后抓不到密码从 Windows 8.1 / Windows Server 2012 R2 开始,微软为了应对 Mimikatz 这类工具,引入了 Protected Process L…抓不到密码怎么绕过1. 哈希传递桌面有管理员会话,怎么做会话劫持步骤一:获取 SYSTEM 权限当前机器上有一个密码本但被加密了,应该怎么办1. 识别加密算法和工具Dcom 怎么操作利用 DCOM 执行命令获取域控的方法有哪些1. 信息收集与利用DLL 劫持原理Windows 系统在加载一个程序所需的 DLL 文件时,会遵循一个固定的搜索路径。这个路径通常包括:DPAPI 机制能干嘛DPAPI 最大的特点是,它将加密数据和加密密钥都存储在本地。这意味着,只要我们能够以 目标用户的身份 登录系统,或者能够获取到该用户的 主密钥 (Master Key),…与 SMB 协议相关的漏洞有哪些1. 永恒之蓝MS14-068 原理1. MS14 068 漏洞的本质内网文件 exe 落地怎么去做,用什么命令去执行来落地1. 文件落地前的准备DB 文件如何解密,原理是什么数据库文件解密主要取决于 加密类型 和 密钥的存储位置 。许多数据库系统(如 MySQL、SQL Server、PostgreSQL)都提供了数据加密功能,通常分为以下几种…PTH 中 LM hash 和 NTLM hash 的区别LM Hash (LAN Manager Hash)

Chapter16

常用的协议有哪些本地文件包含(LFI)协议怎么 GetShell本地文件包含 (LFI) Getshell

Chapter17

MongoDB 注入方式MongoDB 注入的原理

Chapter18

CORS 利用方式1. 简单 CORS 配置不当

Chapter19

ShellCode 免杀方法1. 改变 ShellCode 特征如何去过国内的杀软1. 静态特征码检测分离免杀和单体免杀有啥区别,为什么要分离什么是分离免杀和单体免杀?做过其他免杀吗,比如结合 CS 和 MSF 的MSFvenom 生成的 Payload 如何免杀?

Chapter20

=== 和 == 的区别== (相等运算符)本地文件包含能不能通过 PHP 配置限制文件包含的路径当然能,这个关键的配置项就是 open basedirPHP 在做 SQL 注入防御时有哪些方法1. 使用预处理语句如果审计到了一个文件下载漏洞如何深入的去利用1. 确认与初步利用讲讲 Fortity 等代码审计工具原理Fortify 等代码审计工具的原理常见入口函数怎么找1. 查找 Web 框架的路由文件PHP 代码审计流程1. 宏观分析与项目理解ThinkPHP 框架审计起来有什么不同1. 核心差异:文件结构与路由机制PHP 原生的敏感函数有哪些1. 代码执行 / 命令执行反序列化时有哪些魔术方法是可以作为一个入手点去找的wakeup()常见的路由方法1. 静态路由介绍下 PHP 的变量覆盖有几个 PHP 函数在不安全地使用时,极易引发变量覆盖漏洞远程文件包含和本地文件包含这两种涉及的 PHP 设置有什么1. 本地文件包含(LFI)

Chapter21

JAVA 在做 SQL 注入防御时有哪些方法1. 使用预处理语句

Chapter22

进程和线程内存空间的关系进程的内存空间介绍下父子进程父子进程的创建孤儿进程和僵尸进程区别僵尸进程Kill 一个进程的时候都发生了那些事情,从父子进程角度讲1. 信号发送与接收Linux 开机自启动方式系统级别的自启动方式Linux 有哪些系统调用1. 进程管理相关系统调用说说 Linux 下的 Syscall什么是系统调用(Syscall)?

Chapter23

恶意样本给出函数家族的 md5,如何进行分类1. 样本预处理面对静态编译的大型木马如何通过 IDA 定位其网络传输部分的逻辑第一步:宏观审视与初步筛选如何动态地去找导入表为什么要动态地查找?如何不在编码时直接导入相关 API 的前提下进行攻击从攻击者的角度来看, 不在编码时直接导入相关 API 是一个核心的规避手段。这种技术通常被称为 动态 API 调用 或 运行时 API 解析 ,其主要目的是:Windows 下有哪些常用的反调试技术1. 基于 Windows API 的反调试单步执行的原理是什么1. 陷阱标志在内存中已 Load 的程序如何快速找到其具有执行权限的段方法一:利用操作系统 API恶意软件有哪些方案检测自己处于沙箱中1. 基于环境特征的检测做一个反汇编器,指令集 opcode 的意义去哪查主流 CPU 架构的指令集手册怎么识别指令跳转条件和内存访问如何识别指令跳转条件做一个沙箱,有什么需要重定向的1. 文件系统Linux 程序分为哪几个段1. 代码段ESP 定律原理知道吗ESP 定律的原理C++ 程序怎么去逆向找虚表虚表(vtable)的编译后形态进程隐藏技术是什么,如何检测常见的进程隐藏技术如果多进程下,A 进程的 Source 触发到了 B 进程的 sink 点,如何溯源1. 识别并关联进程间通信(IPC)

Chapter24

清理日志要清理哪些1. 系统日志如何删除 Linux 机器的入侵痕迹1. 消除日志文件中的痕迹

Chapter25

钓鱼方法除了 exe 这种双击的还有什么1. 宏病毒钓鱼上线的主机如何进行利用1. 权限维持和环境侦察伪造电子邮件的原理1. SMTP 协议的漏洞

Chapter26

工控场景的入侵检测与普通场景入侵检测的区别1. 安全目标和优先级不同对比一下 QEMU 模式的 Fuzzing 和源码模式的 Fuzzing1. 源码模式 Fuzzing说说 QEMU 模式的动态插桩怎么实现的,有什么优缺点QEMU 模式动态插桩的实现原理fuzz 普通程序和数据库有哪些不同点1. 输入和协议的复杂性说说 AFL++ 和 AFL 有哪些不同AFL (American Fuzzy Lop)怎么给 AFL 做适配去 fuzz 数据库适配器的核心任务介绍一下 fuzz 的流程,从选取目标开始1. 选取目标讲一下 AFL 的插桩原理插桩的本质:反馈导向的模糊测试怎么选择 fuzz 测试点1. 优先选择处理复杂格式输入的代码哪些漏洞可以用 fuzz 检测到内存安全漏洞符号执行是如何做约束求解的1. 什么是约束求解讲讲 Linux 平台的漏洞缓解机制1. 堆栈保护(Stack Smashing Protection, SSP)NX 是怎么绕过的绕过 NX 的基本思路讲讲 Linux 平台的 ELF 文件结构ELF 文件的两种视图讲讲 Windows 平台的 PE 文件结构PE 文件的双重性质讲讲 ASLR 怎么绕过ASLR 的核心思想

Chapter27

介绍下 SVMSVM 的核心思想:寻找最佳分隔超平面如何降低模型的误报率1. 调整决策阈值如何找攻击样本1. 基于梯度的攻击介绍下 KNNKNN 的核心思想:近朱者赤,近墨者黑卷积神经网络介绍CNN 是什么?莱文斯坦距离莱文斯坦距离是什么?倒排索引倒排索引是什么?搜索引擎的算法有哪些1. 爬虫与数据抓取了解 TF-IDF 文档匹配算法吗TF IDF 的核心思想SGD 和 Adam 的区别什么是优化算法?如何缩减模型的检测时延1. 模型量化

Chapter28

RSA 算法原理RSA 算法是一种非对称加密算法,它的名字来源于三位发明者 Rivest、Shamir 和 Adleman 的姓氏首字母。与对称加密不同,非对称加密使用一对密钥: 公钥 和…AES 算法原理AES 的核心概念说一下非对称加密算法的加密过程加密过程详解有哪些了解过的非对称加密算法1. RSA 算法栅栏密码的原理是什么加密原理Padding Oracle Attack 讲讲攻击的核心原理

Chapter29

说说交易所什么是加密货币交易所?讲一讲区块链逆向函数涉及到的接收参数的指令集当你在逆向一个 EVM 字节码时,你会发现函数参数的传递和处理主要涉及到以下几种指令集和概念:说说重入漏洞什么是重入漏洞?在 DeFi 项目中建立了各种各样的经济模型,怎样才能找出可能存在的漏洞1. 深入理解协议设计libsnark 核心是什么libsnark 是一个 C++ 库,它提供了一套用于构建和验证 简洁非交互式知识论证 (Succinct Non Interactive Arguments of Kno…truffle、solidity 了解吗1. Solidity:智能合约的编程语言智能合约的鉴权、公私密钥什么是鉴权?数字钱包的身份认证数字钱包的身份认证:一个去中心化的过程

Chapter30

控制了一台云主机但没有连接内网也没有云内网,该如何利用1. 将云主机作为跳板

Chapter31

安卓系统如何进行 RCE,有什么思路1. 安卓 RCE 的核心思路给一个移动端的 APP,已知服务端是 cloud 环境有什么思路利用1. 移动端 App 本地分析