2025年渗透测试面试题总结-2025年HW(护网面试) 52(题目+回答)

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

目录

 2025年HW(护网面试) 52

Web安全基础主题

1. JSONP原理、防御、怎么利用、什么位置什么功能点

2. CORS原理、防御、怎么利用

3. 同源策略,举个例子

SQL注入相关主题

4. SQL注入5.0之前和5.0之后有什么区别

5. SQL注入写shell条件

跨站请求伪造(CSRF)主题

6. CSRF原理、防御、利用

7. CSRF防御为什么要check Referer字段

跨站脚本(XSS)主题

8. XSS分为几种类型,具体是什么

9. DOM型原理

10. XSS蠕虫

操作系统识别主题

11. 怎么手动判断一个网站是用的什么操作系统(不用工具)

HTTP协议相关主题

12. 常见的请求方式有哪些

13. GET和HEAD请求有什么区别

14. 常用的扫描器用过那些?有他们也会用GET或者HEAD

15. Referer字段是干啥的

 2025年HW(护网面试) 52

1、jsonp原理,防御,怎么利用的,什么位置什么功能点
2、cors原理,防御,怎么利用
3、同源策略,举个例子
4、sql注入5、0之前和5、0之后有什么区别
5、sql注入写shell条件
6、csrf原理,防御,利用
7、csrf防御为什么要check refer字段
8、xss分为几种类型,具体是什么
9、dom型原理
10、xss蠕虫
11、怎么手动判断一个网站是用的什么操作系统(不用工具)
12常见的请求方式有哪些
13、get和head请求有什么区别
14、常用的扫描器用过那些?有他们也会用get或者head
15、refer字段是干啥的

Web安全基础主题

1. JSONP原理、防御、怎么利用、什么位置什么功能点

JSONP(JSON with Padding)是一种跨域数据交换技术,常用于绕过浏览器的同源策略。以下是关键点:

  • 原理
    浏览器同源策略禁止跨域请求,但允许加载外部脚本(如 <script src="外部URL">)。JSONP利用这一点:客户端定义回调函数(如 callback=handleData),服务器将数据包装在该函数中(如 handleData({"data":"value"}))返回。客户端执行脚本时,数据被回调函数处理。
  • 防御
    由于JSONP易引发安全风险,推荐:①避免使用JSONP,改用更安全的CORS(跨域资源共享);②若必须使用,服务器端应验证回调函数名(只允许字母数字字符);③设置Content-Type为 application/javascript 而非JSON,防止内容嗅探攻击。
  • 怎么利用
    攻击者可:①实施XSS(跨站脚本攻击),通过恶意回调函数注入代码;②窃取敏感数据(如用户Token),通过诱导用户访问恶意页面加载JSONP脚本。例如,攻击者在钓鱼页面嵌入 <script src="https://victim.com/api?callback=maliciousFunction"> ,获取数据。
  • 位置和功能点
    JSONP常见于API接口中需要跨域数据交换的场景,如:社交媒体分享按钮、地图集成功能(如加载地理位置数据)或第三方登录(如OAuth回调)。风险点在回调参数处理不当处。 补充信息:JSONP在现代Web中逐渐被淘汰,CORS更为安全,但它仍在一些老旧系统中使用。
2. CORS原理、防御、怎么利用

CORS(Cross-Origin Resource Sharing)是W3C标准,用于安全处理跨域请求。

  • 原理
    浏览器发送跨域请求(如XMLHttpRequest)时,添加 Origin 头(如 Origin: https://client.com )。服务器响应时,设置 Access-Control-Allow-Origin 头(如 * 或指定域名)允许访问。对于复杂请求(如PUT),浏览器先发送OPTIONS预检请求检查权限。
  • 防御
    防止CORS滥用:①服务器严格配置响应头,如 Access-Control-Allow-Origin 设置为可信域名(避免使用 *);②限制HTTP方法(如只允许GET/POST);③添加 Access-Control-Allow-Credentials: false 防止凭据泄露;④实施请求验证(如Token检查)。
  • 怎么利用
    攻击者可:①利用配置错误(如 Access-Control-Allow-Origin: *),直接窃取数据(如API响应);②结合CSRF攻击,强迫用户执行跨域操作。例如,恶意站点读取银行API数据(如果CORS允许任意来源)。 补充信息:CORS是主动防御机制,但错误配置会导致严重漏洞(如数据泄露),常见于RESTful API。
3. 同源策略,举个例子

同源策略(Same-Origin Policy)是浏览器安全机制,限制不同源页面间的交互。

  • 原理
    “源”由协议、域名、端口三者定义(如 https://example.com:443 )。同源时允许访问DOM、Cookie等;不同源时禁止读取资源(如脚本、iframe内容)。目的是防止恶意站点窃取数据。
  • 举个例子
    假设用户访问 https://shop.com (源A)和嵌入的 https://ads.com (源B)。同源策略阻止源B读取源A的Cookie或DOM。例如,源B的脚本无法调用源A的API(除非通过CORS或JSONP)。 补充信息:同源策略保护用户隐私,但常需绕过(如跨域资源共享),现代Web应用依赖它作为基础防线。

SQL注入相关主题

4. SQL注入5.0之前和5.0之后有什么区别

问题指MySQL数据库SQL注入在版本5.0前后的差异(关键变化是 information_schema 的引入)。

  • 5.0之前(如MySQL 4.x)
    缺乏系统元数据表(如 information_schema),注入攻击依赖猜测:①表名和列名需手动枚举(如通过错误消息或盲注);②利用默认表(如 mysql.user )获取权限信息;③攻击效率低,容易失败。
  • 5.0之后(MySQL 5.0+)
    引入 information_schema 数据库,存储所有表、列等元数据。注入更高效:①直接查询 information_schema.tablesinformation_schema.columns 获取表结构;②示例Payload:' UNION SELECT table_name FROM information_schema.tables --;③自动化工具(如SQLMap)利用此简化攻击。
  • 核心区别:5.0后的版本使信息收集更系统化,注入攻击更精准;防御需强化输入过滤(如参数化查询)。 补充信息:MySQL 5.0发布于2005年,现代数据库(如PostgreSQL)也类似。防御应使用预编译语句。
5. SQL注入写shell条件

通过SQL注入写入Web Shell(如PHP文件),需满足特定条件:

  • 必要条件
    ①数据库用户有文件写入权限(如MySQL的 FILE 权限);②知道Web目录绝对路径(如 /var/www/html);③数据库配置允许文件输出(如MySQL的 secure_file_priv 为空);④注入点能执行写入语句(如 SELECT ... INTO OUTFILE)。
  • 利用过程
    攻击者构造Payload(如 ' UNION SELECT "<?php system($_GET['cmd']); ?>" INTO OUTFILE '/var/www/html/shell.php' --)。成功后,访问 shell.php?cmd=id 即可执行系统命令。
  • 防御
    限制数据库权限(禁用 FILE 权限);配置 secure_file_priv;使用Web应用防火墙(WAF)。 补充信息:写Shell常用于持久化攻击,但条件苛刻(成功率低),多见于权限配置错误场景。

跨站请求伪造(CSRF)主题

6. CSRF原理、防御、利用

CSRF(Cross-Site Request Forgery)攻击强迫用户执行非意愿操作。

  • 原理
    用户登录可信站点(如银行)后,会话Cookie有效。攻击者诱导用户访问恶意页面,该页面发送请求到银行(如转账操作)。浏览器自动携带Cookie,服务器误认合法用户操作。
  • 防御
    核心方法:①使用CSRF Token(服务器生成唯一Token,嵌入表单或头;请求时验证);②检查Referer/Origin头(确保来源可信);③设置Cookie属性(如 SameSite=Strict)。
  • 怎么利用
    攻击者创建恶意页面,嵌入表单或脚本(如 <img src="https://bank.com/transfer?to=attacker&amount=1000"> )。用户访问时,自动发送请求完成转账。 补充信息:CSRF依赖用户会话,常与XSS结合;防御Token需随机且绑定会话。
7. CSRF防御为什么要check Referer字段

Referer字段是HTTP请求头,指示请求来源URL。检查Referer是CSRF防御的辅助手段:

  • 原因
    ①验证来源可信:服务器检查Referer是否为自身域名(如 https://bank.com ),阻止来自恶意站点的请求;②简单高效:无需额外Token,适用于旧系统;③配合Token增加安全性。
  • 局限性
    Referer可能被伪造(如代理修改)、隐私设置禁用(Referer为空)或跨协议问题(HTTP到HTTPS)。因此,它常作为次要防线,优先使用Token。 补充信息:OWASP推荐以Token为主,Referer为补充;现代浏览器支持 Origin 头(更安全)。

跨站脚本(XSS)主题

8. XSS分为几种类型,具体是什么

XSS(Cross-Site Scripting)分为三种主要类型(控制在10个要点内):

  1. 存储型(持久型)
    恶意脚本存储在服务器(如数据库),用户访问受影响页面时自动执行(如论坛评论中的脚本)。
  2. 反射型(非持久型)
    恶意脚本作为请求参数(如URL中的 ?search=<script>alert(1)</script>),服务器返回时执行(用户需点击恶意链接)。
  3. DOM型
    脚本在客户端DOM解析时执行,不经服务器(如 document.location.hash 被注入);纯前端漏洞。
  • 其他注意事项
    • 基于Mutation XSS(DOM变异引起)和Self-XSS(社会工程类)。
    • 所有类型都可窃取Cookie、重定向用户或安装恶意软件。 补充信息:XSS危害大(如会话劫持),防御需输入输出过滤(如HTML编码)。
9. DOM型原理

DOM型XSS基于客户端文档对象模型(DOM)操作:

  • 原理
    攻击者操纵DOM元素(如URL片段 #document.write 输出),注入恶意脚本。例如,页面JavaScript使用 eval(location.hash.substring(1)) ,用户访问 example.com#alert(1) 时执行代码。服务器不参与,纯客户端漏洞。
  • 关键点
    ①触发点:DOM API(如 innerHTMLlocation);②漏洞位置:前端代码逻辑错误;③利用:通过恶意URL或用户输入。
  • 防御
    避免不安全DOM操作;使用 textContent 替代 innerHTML;实施CSP(内容安全策略)。 补充信息:DOM型XSS难检测(传统扫描器可能忽略),需手动代码审计。
10. XSS蠕虫

XSS蠕虫是一种自我传播的恶意脚本:

  • 原理
    蠕虫代码(如JavaScript)在受害者页面自动执行后,复制自身到其他用户页面(如通过社交分享功能)。例如,Samy蠕虫(2005年)在MySpace中通过好友请求传播。
  • 利用条件
    ①存在存储型XSS(如用户内容区);②有传播途径(如API或表单);③用户交互(如点击)。
  • 危害
    大规模感染(如数据泄露、服务中断);防御需严格输入过滤和CSP。 补充信息:蠕虫展示XSS的灾难性,现代社交平台已加强防护。

操作系统识别主题

11. 怎么手动判断一个网站是用的什么操作系统(不用工具)

通过观察HTTP响应和网站行为手动判断(无需扫描器):

  1. HTTP头分析
    • Server 头:如 Apache/2.4(常见于Linux)、Microsoft-IIS/10.0(Windows Server)。
    • X-Powered-By 头:如 PHP/8.0(暗示Linux)、.NET(Windows)。
  2. URL和路径特征
    • Linux:路径大小写敏感(如 /home vs /Home 错误)、斜杠 / 分隔。
    • Windows:路径不敏感(大小写一致)、反斜杠 \ 常见(但Web中多用 /)。
  3. 错误消息
    • 故意触发404:Linux错误消息可能包含 “Not Found” 或文件路径(如 /var/www/error);Windows消息可能提及 “IIS” 或驱动器(如 C:\inetpub)。
  4. 行为和文件扩展名
    • 访问 .php 文件(暗示Linux + PHP);.aspx(Windows + IIS)。
    • TTL值(网络层):Ping网站,TTL≈64(Linux)、TTL≈128(Windows),但需基础网络知识。 补充信息:手动方法不可靠(可被服务器伪装),但适用于初步评估;结合多个指标提高准确性。

HTTP协议相关主题

12. 常见的请求方式有哪些

HTTP请求方式(方法)定义客户端操作(控制在10个要点内):

  1. GET:请求数据(只读),参数在URL中(如 ?id=1)。
  2. POST:提交数据(如表单),参数在请求体。
  3. HEAD:类似GET,但只返回响应头(无正文),用于检查资源。
  4. PUT:上传或替换资源。
  5. DELETE:删除资源。
  6. OPTIONS:查询服务器支持的HTTP方法(用于CORS预检)。
  7. PATCH:部分更新资源。
  8. TRACE:回显请求(用于诊断,但易导致安全风险)。
  9. CONNECT:建立隧道(如代理)。
  • 其他:PROPFIND(WebDAV);现代API常用RESTful方法(GET/POST/PUT/DELETE)。 补充信息:GET和POST最常用;安全设计应限制方法(如禁用PUT/DELETE)。
13. GET和HEAD请求有什么区别

GET和HEAD是HTTP方法,主要区别在于响应内容:

  • GET请求
    ①获取完整资源(响应包括头和正文);②支持查询参数(URL中);③用于数据检索(如加载网页)。
  • HEAD请求
    ①只获取响应头(无正文);②参数传递方式同GET;③用于检查资源状态(如是否存在、修改时间),节约带宽。
  • 核心区别
    HEAD是轻量级GET,适用于预验证(如链接检查);攻击者可能用HEAD探测站点(减少网络流量)。 补充信息:HEAD响应头应与GET一致(RFC标准);扫描器常用HEAD进行快速侦察。
14. 常用的扫描器用过那些?有他们也会用GET或者HEAD

常用Web扫描器列表(控制在10个要点内),并解释其HTTP方法使用:

  1. Burp Suite:渗透测试工具,支持GET/POST/HEAD等,用于爬取和分析。
  2. Nmap:网络扫描器,脚本引擎(NSE)可用GET/HEAD探测Web服务。
  3. OWASP ZAP:安全扫描器,默认使用GET/HEAD收集信息。
  4. Nikto:漏洞扫描器,主要用GET请求测试常见漏洞。
  5. SQLMap:SQL注入工具,用GET/HEAD检测注入点。
  6. Acunetix:商业扫描器,支持多种方法自动化测试。
  7. Nessus:综合漏洞扫描,Web模块用GET/HEAD。
  • HTTP方法使用
    扫描器优先使用HEAD(快速、低开销)检查资源可用性;然后用GET获取详情(如响应正文)。例如,扫描站点时先用HEAD确认页面存在,再GET扫描XSS。 补充信息:扫描器方法选择可配置;防御需监控异常请求(如高频HEAD)。
15. Referer字段是干啥的

Referer(或Referrer)是HTTP请求头字段,指示当前请求的来源URL:

  • 功能
    ①告诉服务器请求是从哪个页面发起的(如从 https://news.com 链接到 https://shop.com ,Referer为 news.com );②用于分析流量来源、防CSRF或防盗链。
  • 安全应用
    在CSRF防御中,服务器检查Referer是否可信(如只允许自家域名);但易被伪造或缺失(隐私模式)。
  • 示例
    用户点击A页面的链接到B页面时,B的请求中 Referer: https://A.com补充信息:Referer拼写错误是历史原因(RFC标准保留);现代替代品包括 Origin 头(更安全)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值