欢迎光临
我们一直在努力

2026年渗透测试面试题总结-17(题目+回答)

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

目录

一、渗透测试/网络安全(482-498)

482. 单机上进行域名爆破存在什么缺陷?

483. GitHub中可根据企业哪些特征进行搜索?

484. 如何找到某个人的联系方式?

485. 各种常见木马的优劣势?

486. 木马免杀有哪些方式?哪种方式最有效?

487. 木马隧道有哪些?哪种隧道在当前最有效?

488. WordDDE和Office宏有什么优劣势?

489. 如何绕过Office受保护视图?

490. 有哪些有效的钓鱼方式?

491. 如何绕过WAF(Web应用防火墙)?

492. BadUSB原理及局限?

493. 如何在禁止出网的机器上访问互联网?

494. ew、frp差异?

495. ICMP如何出网?

496. 如何进行水坑攻击?

497. 如何利用XSS让影响最大化?

498. 如何全流程最大限度降低被红军发现概率?

二、 Java基础(499-508)

499. equals与==的区别

500. Java虚拟机区域如何划分?

501. 方法重载与方法重写的区别?

502. HashMap、HashTable、ConcurrentHashMap的区别?

503. 进程和线程区别,进程间、线程间通信方式?

504. Java BIO/NIO/AIO是什么?适用哪些场景?

505. 单例模式讲解

506. synchorized如何使用?Object的wait/notify作用?

507. sleep()和wait()有什么区别?

508. 什么是幂等性?实现方式?

三、算法/系统设计(509-510)

509. 大文件小内存的排序如何做?

510. 有1亿个数字,其中有两个重复,如何快速找到?要求时间和空间最优。

 

482单机上进行域名爆破存在什么缺陷
483GitHub中可根据企业哪些特征进行搜索?
484如何找到某个人的联系方式?
485各种常见木马的的优劣势?
486木马免杀有哪些方式?哪种方式最有效?
487木马隧道有哪些?哪种隧道在当前最有效?
488WordDDE和Office宏有什么优劣势?
489如何绕过Office受保护视图?
490有哪些有效的钓鱼方式?
491如何绕过WAF、HIDS、威胁感知,选其一回答?
492BadUSB原理及局限?
493如何在禁止出网的机器上访问互联网?
494ew、frp差异?
495ICMP如何出网?
496如何进行水坑攻击?
497如何利用XSS让影响最大化?
498如何全流程最大限度降低被红军发现概率?
499equals与==的区别
500Java虚拟机区域如何划分?
501方法重载与方法重写的区别?
502HashMap和HashTable、ConcurrentHashMap的区别?
503进程和线程区别,进程间、线程间通信有哪几种方式?
504JavaBIO/NIO/AIO是什么?适用哪些场景?
505挑一个设计模式(工厂、单例、适配器、观察者)进行讲解
506synchorized如何使用?Object的wait、notify方法有什么作用?
507sleep()和wait()有什么区别?
508什么是幂等性?一般有什么方式实现?
509大文件小内存的排序如何做?
510有1亿个数字,其中有两个是重复的,如何快速找到?要求时间和空间最优。


一、渗透测试/网络安全(482-498)

482. 单机上进行域名爆破存在什么缺陷?
  • 性能瓶颈:单机带宽和CPU有限,难以支撑大规模字典攻击,易被目标防火墙拦截。
  • 隐蔽性差:高频请求触发安全设备(如WAF)告警,暴露攻击者IP。
  • 效率低下:缺乏分布式协同,无法快速覆盖子域名变体(如a.example.com, b.example.com)。 改进方向:使用分布式工具(如Ffuf集群)或云服务分散请求。
483. GitHub中可根据企业哪些特征进行搜索?

可搜索特征包括:

  • 组织名称:org:google
  • 代码内容:filename:config password in:path
  • 员工信息:user:email@company.com
  • 项目标签:topic:api-key
  • 提交历史:author:name commit_date:>2024 技巧:结合 in:file、language:python 等过滤条件缩小范围。
  • 484. 如何找到某个人的联系方式?

    分四步进行:

  • 开源情报(OSINT):爬取LinkedIn/社交媒体(工具:Maltego)。
  • 企业关联:通过公司官网或WHOIS查询域名注册邮箱。
  • 数据泄露库:检索HaveIBeenPwned或Dehashed。
  • 钓鱼验证:伪造问卷诱导目标主动提交(需合规授权)。 注意:隐私法律限制(如GDPR),仅限授权测试。
  • 485. 各种常见木马的优劣势?
    木马类型优势劣势
    RAT(远程访问) 功能全(摄像头/文件控制) 体积大,易被杀软检测
    Downloader 体积小(<100KB) 依赖网络下载载荷,出网受限
    无文件木马 无磁盘写入,隐蔽性强 依赖内存驻留,重启失效
    486. 木马免杀有哪些方式?哪种方式最有效?
    • 方式:
    • 代码混淆:加密字符串(AES)、指令重排。
    • 加壳:UPX压缩或VMProtect虚拟化。
    • 内存加载:PE文件注入合法进程(如explorer.exe)。
    • 签名劫持:伪造微软签名或劫持白名单程序。
    • 最有效:内存加载(如Cobalt Strike的反射DLL注入),不落盘、行为模拟合法进程,绕过静态+动态分析。
    487. 木马隧道有哪些?哪种隧道在当前最有效?
    • 常见隧道:
      • HTTP/HTTPS:伪装Web流量(工具:Metasploit)。
      • DNS:通过DNS查询传递数据(工具:DNScat2)。
      • ICMP:利用Ping包(隐蔽但带宽低)。
    • 当前最有效:HTTPS隧道(如Cloudflare反向代理),流量加密且与正常Web服务混合,难以被流量分析设备识别。
    488. WordDDE和Office宏有什么优劣势?
    特性WordDDE(动态数据交换)Office宏
    优势 无文件执行,老系统兼容性强 支持复杂逻辑(如API调用)
    劣势 新版Office默认禁用,用户需确认 需启用宏,易被沙箱检测
    适用场景 钓鱼邮件附件(针对旧版Office) 诱导用户启用宏的文档
    489. 如何绕过Office受保护视图?
  • 信任域绕过:将恶意文档放在网络共享路径,标记为“受信任位置”。
  • 利用漏洞:CVE-2017-0199(RTF漏洞)强制退出保护模式。
  • 社会工程:文档提示“内容被锁定,点击启用编辑”。 最佳实践:结合漏洞利用(如OLE对象注入)提高成功率。
  • 490. 有哪些有效的钓鱼方式?
    • 鱼叉钓鱼:定制化邮件(仿冒HR通知),打开率>30%。
    • 水坑攻击:劫持目标常访网站(见问题496)。
    • 二维码钓鱼:诱导扫描恶意二维码下载APP。
    • 语音钓鱼(Vishing):AI模拟高管声音要求转账。 关键:心理操纵(如制造紧迫感:“账户即将冻结”)。
    491. 如何绕过WAF(Web应用防火墙)?
    • 混淆技术:
    • 编码绕过:Unicode/Base64编码SQL注入语句(如SELECT → \\u0053\\u0045\\u004C\\u0045\\u0043\\u0054)。
    • 分块传输:HTTP协议分块发送恶意载荷(绕过正则匹配)。
    • IP轮替:代理池切换源IP避开速率限制。
    • 高级手法:利用WAF规则盲区(如JSON格式SQLi)。
    492. BadUSB原理及局限?
    • 原理:伪装为HID设备(键盘),注入预编程按键指令(如打开终端执行命令)。
    • 局限:
      • 需物理接触设备。
      • 依赖目标禁用USB安全策略。
      • 无法绕过现代EDR的行为监控。
    493. 如何在禁止出网的机器上访问互联网?
    • 方式:
    • ICMP隧道:封装数据到Ping包(工具:icmpsh)。
    • DNS隧道:通过DNS解析请求传数据(见问题495)。
    • 物理中转:USB设备交换数据(如隔空投递+离线解码)。 首选:DNS隧道(企业极少封锁DNS端口)。
    494. ew、frp差异?
    特性ew(EarthWorm)frp
    定位 内网穿透(轻量级) 反向代理(高可配置)
    协议 支持SOCKS5/多级跳板 支持HTTP/TCP/UDP
    场景 红队渗透(隐蔽性强) 合法业务暴露(如远程桌面)
    495. ICMP如何出网?

    通过封装TCP/UDP数据到ICMP Echo请求包:

  • 工具(如ptunnel)在客户端封装Payload。
  • 服务端解包并转发至目标服务器。
  • 限制:带宽低(<1Mbps),仅适合命令控制(C2)小数据量场景。
  • 496. 如何进行水坑攻击?

    分三步:

  • 目标分析:识别目标群体常访网站(如行业论坛)。
  • 漏洞利用:攻陷该站注入恶意JS(如浏览器0day)。
  • 载荷投递:下载木马或窃取会话Cookie。 关键:选择高信任度网站降低怀疑。
  • 497. 如何利用XSS让影响最大化?
    • 横向扩散:
    • 窃取Cookie接管账号。
    • 注入恶意JS到用户生成内容(如评论)。
    • 纵向提权:
    • 劫持管理员会话。
    • 结合CSRF修改系统配置。 案例:Self-XSS诱导用户复制恶意代码到控制台。
    498. 如何全流程最大限度降低被红军发现概率?
    • 侦查阶段:
      • 使用匿名基础设施(Tor+云虚拟机)。
    • 攻击阶段:
      • 无文件攻击 + 合法工具滥用(Living-off-the-Land)。
    • 持久化:
      • 隐藏计划任务/注册表键(命名仿系统服务)。 核心:减少攻击频率,模拟正常用户行为(如工作时间访问)。

    二、 Java基础(499-508)

    499. equals与==的区别
    • ==:比较对象内存地址(是否同一实例)。
    • equals():比较对象内容(可重写,如String比对字符序列)。

    Java

    String s1 = new String("text"); String s2 = new String("text"); s1 == s2; // false(地址不同) s1.equals(s2); // true(内容相同)

    500. Java虚拟机区域如何划分?

    JVM内存分为:

  • 堆(Heap):对象实例(GC主区域)。
  • 栈(Stack):方法局部变量、操作数栈。
  • 方法区(Method Area):类元数据、常量池(JDK8后为Metaspace)。
  • PC寄存器:线程执行位置。
  • 本地方法栈:Native方法调用。
  • 501. 方法重载与方法重写的区别?
    维度重载(Overload)重写(Override)
    作用域 同一类中 子类继承父类
    签名 方法名相同,参数列表不同 方法名、参数、返回类型均相同
    多态 编译时多态 运行时多态
    502. HashMap、HashTable、ConcurrentHashMap的区别?
    特性HashMapHashTableConcurrentHashMap
    线程安全 不安全 安全(synchronized) 安全(分段锁/CAS)
    Null键 允许 禁止 禁止
    性能 高(非并发) 高(并发优化)
    503. 进程和线程区别,进程间、线程间通信方式?
    • 区别:
      • 进程:独立资源单元(内存、文件),切换开销大。
      • 线程:进程内执行单元,共享资源,切换开销小。
    • 通信方式:
      • 进程间:管道、消息队列、共享内存、Socket。
      • 线程间:锁(synchronized)、信号量、volatile变量。
    504. Java BIO/NIO/AIO是什么?适用哪些场景?
    模型机制场景
    BIO 同步阻塞(1请求1线程) 低并发连接(如老旧系统)
    NIO 同步非阻塞(多路复用) 高并发(如聊天服务器)
    AIO 异步非阻塞(回调通知) 文件I/O等延迟敏感操作
    505. 单例模式讲解

    核心:确保类仅有一个实例,全局可访问。

    Java

    public class Singleton { private static volatile Singleton instance; // volatile防指令重排 private Singleton() {} // 私有构造 public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); // 双重检查锁 } } } return instance; } }

    场景:配置管理、数据库连接池。

    506. synchorized如何使用?Object的wait/notify作用?
    • synchronized:修饰方法或代码块,实现互斥锁。 Java

      public synchronized void syncMethod() { … }

    • wait():释放锁并阻塞线程,等待其他线程notify。
    • notify():唤醒同一对象上wait的一个线程。 典型应用:生产者-消费者模型(协调线程协作)。
    507. sleep()和wait()有什么区别?
    维度sleep()wait()
    归属 Thread类静态方法 Object类方法
    锁释放 不会释放锁 释放锁
    唤醒 时间到自动唤醒 需notify()/notifyAll()唤醒
    508. 什么是幂等性?实现方式?
    • 定义:多次执行同一操作,结果一致(如支付重复提交仅扣款一次)。
    • 实现方式:
    • Token机制:请求带唯一Token,服务端校验后失效。
    • 版本号:数据更新附带版本号(如CAS)。
    • 唯一约束:数据库唯一索引防重复插入。

    三、算法/系统设计(509-510)

    509. 大文件小内存的排序如何做?

    采用外部排序(归并排序变种):

  • 分块:将大文件拆分为内存可容纳的小块(如100MB)。
  • 内部排序:对每个块在内存中快速排序后写回磁盘。
  • 多路归并:将有序块合并(堆排序优化合并过程)。 优化:使用败者树减少归并比较次数。
  • 510. 有1亿个数字,其中有两个重复,如何快速找到?要求时间和空间最优。
    • 问题关键:数字范围未知,但仅两个重复。
    • 最优解法:位图法(Bitmap)
    • 初始化一个大小足够的位数组(如10^8位≈12.5MB)。
    • 遍历数字,若位图对应位已置1,则该数字重复。
    • 时间复杂度:O(n),空间复杂度:O(n/8)(n为最大值)。
    • 代码示意: Java

      BitSet bitSet = new BitSet(); for (int num : nums) { if (bitSet.get(num)) return num; // 找到重复 bitSet.set(num); }

    特殊场景:若数字范围极大,改用哈希表(空间O(n),时间O(1)查询)。

    赞(0)
    未经允许不得转载:171主机测评 » 2026年渗透测试面试题总结-17(题目+回答)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址