当前位置: 首页 > news >正文

2025年渗透测试面试题总结-奇安信[实习]安全服务工程师(题目+回答)

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

目录

奇安信[实习]安全服务工程师

1. MVC框架

2. SQL注入

3. XSS与CSRF的区别

4. CSRF原理与防范

5. 其他擅长领域

6. XXE(XML外部实体)原理

7. XXE相关函数(PHP示例)

8. 文件上传漏洞

9. 常见Web容器

10. Apache 7.0文件上传黑名单绕过

11. 密码学算法

12. MD5是否对称加密

13. Apache执行PHP文件

14. 常见数据库

15. 反序列化原理

16. 反序列化函数

17. XXE实战案例

18. Java多线程

19. Python项目经验

20. Python学习阶段

奇安信[实习]安全服务工程师

1. MVC框架详细说一下
2. 详细介绍一下sql注入
3. xss与csrf的区别
4. csrf的原理以及如何防范
5. 还有什么你擅长的但是没有问到的吗
6. 讲一下xxe的原理
7. xxe会用到哪些函数
8. 文件上传,详细说说
9. 常见的web容器有哪些
10. apache 7.0 文件上传黑名单怎么绕过,详细说说
11. 密码学的对称密码与非对称密码有哪些
12. md5是不是对称加密
13. apache可以执行php文件吗
14. 了解哪些数据库
15. 说说反序列化的原理
16. 反序列化会用到哪些函数
17. xxe有没有实战过
18. ava的多线程
19. python有过哪些项目,写过什么东西
20. 之前python学到什么地方. 

1. MVC框架

核心思想:将应用分为**模型(Model)、视图(View)、控制器(Controller)**三层,解耦业务逻辑与界面。

  • 模型:处理数据逻辑(如数据库操作),如Java的POJO类或Python的Django ORM。
  • 视图:用户界面(UI),如HTML模板、React/Vue组件。
  • 控制器:接收用户输入,调用模型处理数据,返回视图(如Spring的@Controller)。
    优势:代码复用率高、维护性强;常见框架:Spring MVC、Django、Ruby on Rails。

2. SQL注入

原理:通过输入恶意SQL代码篡改原始查询逻辑。
类型与示例

  • 联合查询注入' UNION SELECT username, password FROM users--
  • 布尔盲注' AND (SELECT SUBSTRING(password,1,1) FROM users)='a'--
  • 时间盲注' AND IF(1=1,SLEEP(5),0)--
    防御:参数化查询(PreparedStatement)、输入过滤(正则白名单)、最小权限原则。

3. XSS与CSRF的区别

维度XSSCSRF
攻击目标窃取用户数据或劫持会话伪造用户身份执行操作
触发方式恶意脚本嵌入页面诱导用户点击链接/访问恶意页面
防御重点输入过滤、CSP(内容安全策略)Token验证、SameSite Cookie

4. CSRF原理与防范

原理:利用用户已登录的身份,通过伪造请求执行非授权操作(如转账)。
防御方案

  1. CSRF Token:服务端生成随机Token,校验请求合法性。
  2. SameSite Cookie:设置为StrictLax,限制跨域携带Cookie。
  3. 验证Referer:检查请求来源是否合法域名。
  4. 二次确认:关键操作需重新输入密码或验证码。

5. 其他擅长领域

  • 内网渗透:域渗透(Golden Ticket、ACL后门)、横向移动(Pass-the-Hash)。
  • 免杀技术:Shellcode加密(AES)、进程注入(APC Queue)、流量伪装(DNS隧道)。
  • APT对抗:分析Cobalt Strike、Metasploit攻击链,设计检测规则(YARA/Sigma)。

6. XXE(XML外部实体)原理

攻击流程

  1. 上传恶意XML文件,包含外部实体声明:
     

    xml

    复制

    <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> <data>&xxe;</data>

  2. 服务端解析XML时加载外部实体,导致敏感文件泄露或SSRF。
    危害:文件读取、内网探测、拒绝服务(递归实体)。

7. XXE相关函数(PHP示例)

  • SimpleXMLElementsimplexml_load_string($xml)默认解析外部实体。
  • DOMDocument:需显式禁用外部实体:
    php$dom = new DOMDocument(); $dom->loadXML($xml, LIBXML_NOENT | LIBXML_DTDLOAD); 
  • XMLReader:需设置LIBXML_NOENT参数防范。

8. 文件上传漏洞

绕过方法

  1. 扩展名绕过.php5.phtml.phar(Apache黑名单不全时)。
  2. 内容校验绕过
    • 添加图片头(GIF89a)伪装图片文件。
    • 利用解析漏洞(IIS6.0分号截断:shell.asp;.jpg )。
  3. 前端校验绕过:禁用JS或直接发送修改后的POST请求。
    防御:白名单校验、文件内容检测(魔数)、存储路径隔离。

9. 常见Web容器

容器特点
Apache HTTP模块化设计,支持.htaccess配置
Nginx高并发反向代理,静态资源处理高效
TomcatJava Servlet容器,支持JSP
IISWindows集成,支持ASP.NET

10. Apache 7.0文件上传黑名单绕过

绕过方法

  1. 特殊扩展名.php.(末尾多一个点,Windows自动去除)。
  2. 大小写混合.PhP(Unix系统区分大小写,但部分配置不敏感)。
  3. 双重扩展名shell.php.jpg (配合解析漏洞)。
  4. 空字节截断shell.php%00.jpg (旧版本PHP有效)。

11. 密码学算法

类型算法举例
对称加密AES、DES、3DES、RC4
非对称加密RSA、ECC、Diffie-Hellman

12. MD5是否对称加密

。MD5是哈希算法(不可逆),用于数据完整性校验;对称加密需密钥加解密(如AES)。


13. Apache执行PHP文件

条件:安装mod_php模块并配置.htaccesshttpd.conf

apacheAddType application/x-httpd-php .php 

验证:创建info.php ,内容为<?php phpinfo(); ?>,访问查看解析结果。


14. 常见数据库

类型代表
关系型MySQL、Oracle、PostgreSQL
非关系型MongoDB(文档)、Redis(键值对)

15. 反序列化原理

过程:将序列化后的字符串还原为对象,触发类中的魔术方法(如PHP的__destruct())。
漏洞根源:反序列化未校验数据来源,攻击者构造恶意数据执行任意代码。
示例:PHP中unserialize($_GET['data']),若data包含恶意对象链,可导致RCE。


16. 反序列化函数

语言函数/方法
PHPunserialize()
JavaObjectInputStream.readObject()
Pythonpickle.loads()

17. XXE实战案例

案例:某电商平台订单导出功能支持XML输入,构造Payload读取服务器文件:

xml<!DOCTYPE data [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> <order><id>&xxe;</id></order> 

结果:成功获取系统用户列表,进一步利用SSRF攻击内网Redis。


18. Java多线程

实现方式

  1. 继承Thread类:重写run()方法。
  2. 实现Runnable接口:更灵活,可资源共享。
  3. 线程池ExecutorService管理线程生命周期。
    同步机制synchronized关键字、ReentrantLockCountDownLatch

19. Python项目经验

  • 自动化工具:开发内网扫描器(集成Nmap、Masscan)、日志分析脚本。
  • Web应用:基于Flask的漏洞管理系统(CVE数据爬取、可视化)。
  • 渗透工具:实现DNS隧道通信、CSV注入Payload生成器。

20. Python学习阶段

掌握内容

  • 基础:语法、数据结构、装饰器、生成器。
  • 框架:Flask(RESTful API)、Django(ORM、Admin)。
  • 安全库requests(HTTP请求)、pwntools(二进制利用)。
  • 数据分析:Pandas、NumPy、Matplotlib。
http://www.xdnf.cn/news/755101.html

相关文章:

  • 深入探讨redis:万字讲解集群
  • POJO、DTO和VO:Java应用中的三种关键对象详解
  • 重学计算机网络之以太网
  • 北斗导航 | 高级接收机自主完好性监测算法研究进展
  • 适配器模式:让不兼容接口协同工作
  • 雷达中实信号与复信号
  • 学习BI---BI看板的生命周期
  • MobaXterm国内下载与安装使用教程
  • java27
  • Windows如何定制键盘按键
  • 工作流引擎-11-开源 BPM 项目 jbpm
  • 十三、【核心功能篇】测试计划管理:组织和编排测试用例
  • 【存储基础】NUMA架构
  • 【Python Cookbook】文件与 IO(二)
  • unix/linux source 命令,其历史争议、兼容性、生态、未来展望
  • 从前端工程化角度解析 Vite 打包策略:为何选择 Rollup 而非 esbuild。
  • 鸿蒙OSUniApp集成WebGL:打造跨平台3D视觉盛宴#三方框架 #Uniapp
  • C# await与wait的区别
  • 核函数:解锁支持向量机的强大能力
  • NodeJS全栈开发面试题讲解——P3数据库(MySQL / MongoDB / Redis)
  • NLP学习路线图(十五):TF-IDF(词频-逆文档频率)
  • BFS入门刷题
  • Python程序的文件头部声明小结
  • day16 leetcode-hot100-32(链表11)
  • 操作系统学习(十)——文件系统
  • WEB3——开发者怎么查看自己的合约日志记录
  • vscode编辑器怎么使用提高开发uVision 项目的效率,如何编译Keil MDK项目?
  • AI大模型赋能,aPaaS+iPaaS构建新一代数智化应用|爱分析报告
  • Leetcode 3569. Maximize Count of Distinct Primes After Split
  • 刷leetcode hot100--矩阵6/1