渗透测试面试涉及问题

admin 2025年2月8日00:41:28评论10 views字数 3618阅读12分3秒阅读模式

SQL 相关

  • SQL 注入能否百分百预编译
    :理论上预编译可以防止 SQL 注入,但在实际中很难做到百分百。因为可能存在开发人员未正确使用预编译、框架存在漏洞、数据库驱动问题等情况导致预编译失效。
  • SQL 注入的修复方式
    :使用预编译语句、对用户输入进行严格的过滤和验证、限制数据库用户权限、对数据进行转义处理、使用安全的存储过程等。
  • MySQL RCE 的几种方式
    :利用 MySQL 的函数如 LOAD_FILE、SELECT... INTO OUTFILE 等结合文件操作权限来执行系统命令;通过注入恶意代码到存储过程或函数中,在特定条件下触发执行系统命令。
  • SQL Server 除了 xp 组件的利用方式
    :利用扩展存储过程、CLR 集成、通过注入攻击修改数据库对象执行恶意代码等。

文件上传与 WAF 相关

  • 文件上传绕过 WAF 的几种方式
    :利用文件扩展名白名单绕过,如使用大小写混淆、点号截断等方式绕过检查;修改文件头信息伪装文件类型;采用分块上传、多步上传等方式绕过检测;利用 WAF 对文件内容检测的漏洞,如对一些特殊编码或加密的文件内容无法正确检测。

系统安全相关

  • 有 360 时读取系统密码
    :可以尝试利用系统自身漏洞或弱口令,通过一些工具扫描系统存在的可利用点;也可以寻找 360 可能存在的防护漏洞,但这种方法难度较大且违法风险高。
  • 永恒之蓝利用绕过 360
    :可以尝试对永恒之蓝的攻击代码进行变形、加密或混淆处理;利用 360 可能存在的对某些特殊网络流量或特定环境下的检测漏洞。

内网渗透相关

  • 蓝队进行内网应急的内网思路
    :首先进行全面的资产发现和梳理,确定网络拓扑和关键设备;监控网络流量,及时发现异常连接和行为;对关键系统和数据进行备份;建立应急响应预案,针对不同类型的攻击制定应对措施。
  • 域控漏洞子域打父域
    :利用子域与父域之间的信任关系,通过获取子域的权限,寻找可利用的信任漏洞,如利用域间的票据传递漏洞等,尝试提升权限获取父域控制权。
  • 内网有蓝队监控设备找靶标和堡垒机
    :通过扫描网络寻找开放的高危端口和服务;分析网络流量,寻找异常的通信行为和目标;利用社会工程学获取相关信息,定位靶标和堡垒机的位置。
  • 拿下运维机普通用户无浏览器密码获取靶标系统权限思路
    :查看运维机上是否有保存的配置文件、日志文件等包含靶标系统的连接信息或密码;尝试利用运维机上的其他漏洞提升权限;通过监听运维机与靶标系统的通信获取相关信息。
  • 三层内网隧道搭建
    :可以使用工具如 frp、ngrok 等搭建正向或反向代理隧道;利用 VPN 技术搭建内网隧道;通过在不同层的主机上设置端口转发等方式逐步建立连接隧道。

代码审计与漏洞相关

  • 审计代码的具体流程
    :首先进行代码的静态分析,检查代码结构、语法错误、潜在的安全漏洞等;然后进行动态分析,通过运行代码,输入不同的测试数据,观察代码的运行结果和行为;对代码中使用的第三方组件、库进行安全检查;最后对发现的问题进行整理和评估,提出修复建议。
  • 文件下载函数和 SSRF 函数
    :文件下载函数在不同语言和框架中有不同形式,如 Python 中的 urllib.request.urlretrieve 等,主要用于从网络上下载文件。SSRF(Server-Side Request Forgery)函数是指服务器端在处理用户请求时,没有对请求的目标地址进行充分验证,导致可以利用服务器端的权限去访问内部或外部的其他资源,如 Java 中的 HttpURLConnection 类的相关方法如果使用不当可能导致 SSRF。
  • CC 链原理流程
    :CC 链通常指的是在 Java 反序列化漏洞中,利用某些类的构造函数或方法调用链来触发恶意代码执行。以常见的 Commons Collections 链为例,通过构造特定的对象链,利用 Java 的反射机制和对象的方法调用,最终执行恶意代码。
  • CC1 修复方式
    :升级 Commons Collections 库到安全版本;对反序列化的输入进行严格的验证和过滤,禁止反序列化不可信的数据;使用安全的反序列化方式,如白名单机制等。
  • Java 反序列化漏洞原理
    :Java 对象在序列化和反序列化过程中,如果没有对输入进行严格的验证和过滤,攻击者可以构造恶意的序列化数据,在反序列化时执行恶意代码,如利用一些可利用的类的构造函数、方法等触发漏洞。
  • Fastjson 怎么判断是否存在该组件和版本号
    :可以通过查看项目的依赖文件,如 Maven 项目的 pom.xml 文件或 Gradle 项目的 build.gradle 文件中是否有 Fastjson 的依赖声明来判断是否存在该组件,版本号也会在依赖声明中显示。还可以在代码中搜索 Fastjson 相关的类和方法来进一步确认。
  • Fastjson 不出网怎么办
    :可以尝试利用本地的资源或漏洞进行攻击,如利用本地文件读取漏洞、本地命令执行等;也可以尝试通过与其他本地组件或服务的交互来实现攻击目标。
  • 除了 Fastjson、Shiro、Log4j 这些组件,还审过哪些组件漏洞
    :Spring 框架、Struts 框架、Hibernate 框架、Jackson 库等都可能存在安全漏洞。
  • Fastjson 除了 jdbc 链,还有什么链子
    :还有如 dnslog 链、ldap 链等。
  • Fastjson 多少版本下可以使用 urldns 链
    :在 Fastjson 1.2.24 及以下版本存在可以利用 urldns 链的漏洞情况。
  • Shiro 框架存在什么漏洞
    :存在反序列化漏洞、越权绕过漏洞、身份认证绕过漏洞等。
  • 一个网站同时存在 Spring 和 Shiro 框架的思路
    :可以分别对 Spring 和 Shiro 框架进行漏洞扫描和分析,检查 Spring 是否存在如远程代码执行、SQL 注入等漏洞,Shiro 是否存在反序列化、越权等漏洞;同时关注两个框架之间的交互是否存在安全风险。
  • Shiro 越权绕过漏洞版本
    :Shiro 1.2.4 及之前版本存在一些越权绕过漏洞。
  • Shiro 越权绕过漏洞原理
    :通常是由于 Shiro 在权限验证过程中,对用户的权限判断存在漏洞,如没有正确验证用户的角色或权限,导致用户可以绕过权限检查访问本不应访问的资源。
  • Shiro550 反序列化的漏洞原理
    :在 Shiro 的 RememberMe 功能中,对用户的身份信息进行序列化和反序列化操作,当处理不当,攻击者可以构造恶意的序列化数据,在反序列化时执行恶意代码。
  • Shiro550 和 Shiro721 的区别
    :Shiro550 主要是 RememberMe 功能中的反序列化漏洞,而 Shiro721 是在权限管理模块中存在的漏洞,两者的漏洞触发点和利用方式不同。
  • Shiro 反序列化怎么绕过 WAF
    :可以对恶意的序列化数据进行编码、加密或混淆处理;利用 WAF 对某些特殊字符或编码方式的检测漏洞;通过构造复杂的请求包来绕过 WAF 的检测。
  • Log4j2 的漏洞原理
    :Log4j2 在处理日志输入时,支持使用 JNDI 等功能进行动态查找和加载资源,如果没有对输入进行严格验证,攻击者可以通过构造恶意的 JNDI 地址,触发远程代码执行。
  • Log4j2 反序列化怎么绕过 WAF 审计
    :对 JNDI 地址进行编码、变形处理;利用 WAF 对某些特殊协议或字符的检测盲区;通过使用一些混淆技术来隐藏恶意代码。
  • 反序列化的 payload waf 拦截了怎么绕过
    :对 payload 进行编码转换,如使用 Base64 编码、URL 编码等;将 payload 拆分成多个部分,分多次传输;利用 WAF 对某些特定环境或上下文的检测漏洞。
  • 原生反序列化漏洞有挖到过没
    :在实际的安全测试和攻防场景中,是可以挖到原生反序列化漏洞的,例如在一些自定义的序列化和反序列化实现中,如果没有正确处理输入和验证,就可能存在漏洞。

免杀与钓鱼相关

  • Webshell 免杀的几种思路
    :对 Webshell 代码进行加密、混淆处理;采用动态加载技术,将恶意代码隐藏在正常的代码逻辑中;利用服务器上的合法进程或服务来执行恶意代码;通过修改 Webshell 的特征码,使其避开杀毒软件的检测。
  • 远控免杀的几种思路
    :使用免杀的远控工具,如经过特殊处理的 Metasploit 等;对远控程序进行加壳、加密处理;采用动态域名、反向代理等技术隐藏远控的通信地址和端口;利用系统的漏洞或合法的系统功能来实现远控功能。
  • 钓鱼的案例
    :攻击者发送一封看似来自银行的邮件,邮件中包含一个链接,声称用户的银行账户存在异常,需要点击链接进行验证。用户点击链接后,进入一个与银行网站相似的钓鱼网站,输入账号密码等信息,攻击者就获取了用户的敏感信息。
  • 内存马原理
    内存马是将恶意代码注入到目标系统的内存中,利用目标系统的运行环境和资源来执行恶意操作,通常是通过修改应用程序的内存空间,插入恶意的代码片段或利用一些漏洞在内存中构造恶意的对象来实现。
  • 内存马的类型
    :常见的有 Servlet 内存马、Filter 内存马、Listener 内存马等,分别是通过在 Servlet、Filter、Listener 等组件中注入恶意代码来实现内存马的功能。

原文始发于微信公众号(TtTeam):渗透测试面试涉及问题

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月8日00:41:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试面试涉及问题https://cn-sec.com/archives/3710617.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息