[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(三)CSRF相关面试题

news2025/1/18 20:10:57

🍬 博主介绍
👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

渗透方向的岗位,涉及到的知识点是很广泛的。
这里我总结了整个一系列的面试题,可能没有覆盖到全部的知识面,但是应该是比较全面的,本文主讲解web漏洞CSRF方向的面试题。
如果整个系列的问题搞懂了大部分,那找个网安方向的工作基本上没什么问题了。
当然了,可能也不是说这些问题都会被问到,但这些题目都是和网安岗位相契合的。

系列文章

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(一)SQL注入相关面试题

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(二)XSS注入相关面试题

文章目录

  • 系列文章
  • 1、CSRF 原理
  • 2、CSRF 攻击要点
  • 3、CSRF 有什么局限性(前提条件)
  • 4、常见攻击手段:
    • 1、CSRF作用范围内的威胁:
    • 2.CSRF作用范围外的威胁(联合攻击):
  • 5、如何防御 CSRF
  • 6、token 和 referer 做横向对比,谁安全等级高?
  • 7、对 referer 的验证,从什么角度去做?如果做,怎么杜绝问题
  • 8、针对 token,对 token 测试会注意哪方面内容,会对 token 的哪方面进行测试?
  • 9、如何确定一个web系统是否存在CSRF漏洞?
    • 1.关键信息是否容易被伪造
    • 2.确认凭证的有效期
  • 10、Token是如何让防止CSRF的
  • 11、CSRF漏洞检测
    • 1、手工检测
    • 2、工具检测
    • 3、CSRFTester工具
  • 12、CSRF 与 XSS 的区别

1、CSRF 原理

CSRF 是跨站请求伪造攻击,由客户端发起,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。
CSRF攻击建立在浏览器和web服务器的会话之中,并且能欺骗用户访问url。发起的目标是通过伪造的用户请求,该请求不是用户想发出去的请求,服务器或服务来说,该请求是完全合法的请求,但却完成了攻击者的期望操作。
在这里插入图片描述

2、CSRF 攻击要点

1、服务器没有对操作来源进行判断,如IP,Referer等
2、受害者处于登录状态,但是攻击者无法拿到Cookie
3、攻击者需要找到一条可以修改或获取敏感信息的请求

3、CSRF 有什么局限性(前提条件)

1、目标站点不能有检查referer头的操作,或许被攻击者的浏览器允许referer欺骗。
2、攻击者必须在目标站点找到啊一个表单的提交入口,或者有类似的URL(例如用来转钱,修改受害者邮箱或者密码)
3、攻击者必须觉得所有的表单或者URL参数中的正确的值;如果有秘密验证值或者ID,攻击者没有猜对,攻击很可能不成功。
4、攻击者必须诱使受害者访问有恶意代码的页面,并且此时受害者已经登录到目标站点。

4、常见攻击手段:

1、CSRF作用范围内的威胁:

a.论坛的交互区。如用户提交的一些图像,url指向一个恶意网址,很可能导致CSRF攻击。且这些请求无法自定义HTTP Header,必须使用GET方法。
b.web所有者的攻击。指拥有自己独立域名,HTTPS证书和web服务器的个人,一旦访问其所在域名,攻击者可同时用GET和POST方法发起跨站请求,即为CSRF攻击。
c.网络攻击者。指能控制用户网络连接的恶意代理,如通过控制无限路由或DNS服务器控制用户的网络连接,该攻击需要更多的准备及资源。

2.CSRF作用范围外的威胁(联合攻击):

a.跨站脚本(XSS)。如果网站本身存在XSS漏洞,那么CSRF的防御将毫无意义,因为用户会话的完整性和保密性已经告破。
b.恶意软件。如果用户在攻击者电脑或者移动端设备上运行着恶意软件,那么攻击者可以控制用户的浏览器,向那些可信的网站注入脚本,那么所有基于浏览器的防御策略都会失效。
c.证书错误。如果用户的HTTPS证书错误时,还继续点击访问,那么HTTPS能提供的安全防护措施毫无意义,也包括CSRF。
d.钓鱼。访问钓鱼网站时,用户输入的个人信息,很可能导致钓鱼攻击。

5、如何防御 CSRF

1、避免在URL中明文显示特定操作的参数内容;
2、使用同步令牌(Synchronizer Token),检查客户端请求是否包含令牌及其有效性;(常用的做法,并且保证每次token的值完全随机且每次都不同)[增加token验证]
3、检查Referer Header,拒绝来自非本网站的直接URL请求;[通过http头中referer字段来限制元页面)
4、不要在客户端保存敏感信息(比如身份认证信息);
5、设置会话过期机制,比如20分钟无操作,直接登录超时退出;[破坏登录态]
6、敏感信息的修改时需要对身份进行二次确认,比如修改账号时,需要判断旧密码;[二次验证]
7、敏感信息的修改使用post而不是get;[POST比GET安全]
8、避免交叉漏洞,如XSS等;
9、禁止跨域访问;[访问控制安全管理]
10、在响应中设置CSP(Content-Security-Policy)内容安全策略;
11、在 HTTP 头中自定义属性并验证。

6、token 和 referer 做横向对比,谁安全等级高?

token 安全等级更高,因为并不是任何服务器都可以取得 referer,如果从 HTTPS 跳到 HTTP,也不会发送 referer。并且 FLASH 一些版本中可以自定义 referer。但是 token 的话,要保证其足够随机且不 可泄露。(不可预测性原则)

7、对 referer 的验证,从什么角度去做?如果做,怎么杜绝问题

对 header 中的 referer 的验证,一个是空 referer,一个是 referer 过滤或者检测不完善。为了杜绝这种问题,在验证的白名单中,正则规则应当写完善。

8、针对 token,对 token 测试会注意哪方面内容,会对 token 的哪方面进行测试?

针对 token 的攻击,一是对它本身的攻击,重放测试一次性、分析加密规则、校验方式是否正确等,二是结合信息泄露漏洞对它的获取,结合着发起组合攻击信息泄露有可能是缓存、日志、get,也有可能是利用跨站很多跳转登录的都依赖 token,有一个跳转漏洞加反射型跨站就可以组合成登录劫持了另外也可以结合着其它业务来描述token 的安全性及设计不好怎么被绕过比如抢红包业务之类的。

9、如何确定一个web系统是否存在CSRF漏洞?

我们判断一个网站是否存在CSRF漏洞,其实就是判断对其关键信息(比如密码等敏感信息)的操作(增删改)是否容易被伪造。

1.关键信息是否容易被伪造

对目标网站增删改的地方进行标记,观察逻辑(抓包),判断请求是否可以被伪造
如:修改账号密码是时,需要进行旧密码的验证,就导致请求容易被伪造(自己注册账号修改);
如:对于敏感信息没有使用安全的token验证,导致请求容易被伪造(抓包看有没有token)(token是随机的,较长的字符串,每次验证都会变化);

2.确认凭证的有效期

虽然退出或者了浏览器,但cookie任然有效,或者session没有及时过期,导致CSRF攻击变简单,因为CSRF有一个条件是登录态。(这个问题会提高CSRF被利用的概率)

10、Token是如何让防止CSRF的

1、CSRF的主要问题实际上是敏感信息的操作,请求容易被伪造。
2、token是长度足够、足够随机的一个随机码,是不容易被伪造的。
3、Token使用一次失效,重新生成,很难伪造。
4、后台每次都会对这个随机码(token)进行验证,每次请求这个页面的时候(修改个人信息等敏感信息)都需要验证token。

11、CSRF漏洞检测

1、手工检测

检测CSRF漏洞是一项比较繁琐的工作,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

2、工具检测

随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。

3、CSRFTester工具

以CSRFTester工具为例,CSRF漏洞检测工具的测试原理如下:使用CSRFTester进行测试时,首先需要抓取我们在浏览器中访问过的所有链接以及所有的表单等信息,然后通过在CSRFTester中修改相应的表单等信息,重新提交,这相当于一次伪造客户端请求。如果修改后的测试请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。

12、CSRF 与 XSS 的区别

CSRF和XSS都是客户端攻击,它们滥用同源策略,利用web应用程序和不知情的用户之间的信任关系。但是,XSS 和 CSRF 攻击之间存在一些根本差异,包括:
1、在XSS攻击中,恶意代码存储在站点中;而在CSRF攻击中,恶意代码存储在受害用户访问的第三方站点中。
2、XSS攻击遵循双向攻击模式,允许攻击者执行恶意脚本、访问响应,并将后续敏感数据发送到攻击者选择的目的地;CSRF是一种单向攻击机制,这意味着攻击者只能发起HTTP请求,但不能检索已发起请求的响应。
3、在XSS攻击中,只要用户登录,就可以存储和交付有效载荷;而CSRF攻击则需要,CSRF攻击要求经过身份验证的用户处于活动会话中。
4、XSS攻击提供执行恶意脚本来执行攻击者所选择的任何活动,从而扩大了攻击的范围;相反,CSRF攻击的范围有限,仅限于用户可以执行的操作,例如点击恶意链接或访问黑客的网站。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Azure CDN

Azure CDN Azure CDN 是服务器的分发网络,可以将网页内容更高效地分发给终端用户。 CDN在POP点的边缘服务器缓存内容,这样更临近终端用户,延迟低。 Azure CDN 给开发者提供全球解决方案,能够将内容放在全球各个节点,提…

MotoSimEG-VRC软件:龙门架外部设备添加以及示教编程与仿真运行

目录 概述 龙门架添加与属性配置 龙门架软限位设定 龙门架示教编程 仿真运行 概述 龙门架是工业生产中十分常见的自动化设备,由于其具备三维空间内的多自由度运动特性,通常被作为堆垛机,广泛应用在仓储物流领域。也可以作为直角坐标机器…

如何通过 Hardhat 来验证智能合约

在很大程度上,由于部署到通用区块链的智能合约的不变性,安全始终是用户和企业的首要任务。因此,在以太坊上开发智能合约的关键步骤之一是初始部署后的 Etherscan 验证。Etherscan 使任何人,从用户到经验丰富的开发人员和 bug hunt…

计算机组成原理课程设计(1)

指令设计 计算机组成原理课程设计 1、完成以下9条指令的设计: LDI Rd,#data,LDA Rd,adr,STA adr,Rs,LDR Rd,Rs,ADD Rd,Rs,XOR Rd,Rs,JMP adr,JZ adr,HALT 2.指令设计 …

全球著名漫画家蔡志忠创作的“EIS元宇宙之门”数字艺术品限量发售!11.29正式开售

开启宇宙之门 2022年12月3日,EIS我们将一起迎接一个新的爆发机会——品牌将正式接轨元宇宙一个全新的营销时代即将来临!首次集结千位元宇宙领域品牌营销头号玩家,找到通往元宇宙智慧的不二法门! 品牌营销领域一次全新的风向标&am…

SPARK数据分析

有了 DataFrame 之后,我们该如何在 DataFrame 之上做数据探索、数据分析,以及各式各样的数据转换呢?在数据处理完毕之后,我们又该如何做数据展示与数据持久化呢?今天这一讲,我们就来解答这些疑问。 为了给开…

[附源码]计算机毕业设计springboot创新创业管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

操作系统01_进程管理_---软考高级系统架构师006

操作系统的考点;可以看到这里有进程管理 2.存储管理 3.设备管理 4.文件管理 其中比较重要的是进程管理,进程管理中的进程三态图,前趋图,同步与互斥,PV操作,死锁,线程,这个地方考的比较多 ---------------------- 进程的组成: 进程控制块PCB,是进程的唯一标志 T…

阿里云服务器公网带宽计费模式:固定带宽和按使用流量详解

阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算?按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费,如果带宽实际利用率较高的话&…

自学软件测试必备的英文单词【1500道加语法】

电脑专业英语1500词《电脑专业英语》 1. file n.文件;v.保存文件 2. command n.命令,指令 3. use v.使用,用途 4. program n.程序 5. line n. (数据,程序)行,线路 6. if conj.如果 7. display vt.显示&#xff…

5. 虚拟化特性介绍

5.1 通用虚拟化特性 虚拟化集群特性(1) 集群(cluster):单纯地从集群的角度或用途来说,集群属于网格计算。大家把各自的资源(如:服务器提供了自己的计算资源、网络资源、存储资源&am…

BUUCTF Misc 来首歌吧 荷兰宽带数据泄露 面具下的flag 九连环

来首歌吧 下载文件 使用Audacity打开 可以发现框出来的一串,放大查看 有长有短有空格,大概率是摩斯密码 ...../-.../-.-./----./..---/...../-..../....-/----./-.-./-.../-----/.----/---../---../..-./...../..---/./-..../.----/--.../-../--.../-----/----./.…

unity资源管理之Addressable

unity自带了AssetsBundle的机制,Addressable是在AssetsBundle的机制上封装了一下。 主要做了以下封装: 1.编辑器:根据项目需求,编写编辑器扩展,提供指定资源打入对应bundle包的策略; 2.可以自主加载和释放资源:根据项目的需求,…

【MySQL】数据库服务器硬件优化与实战详解(调优篇)(实战篇)(MySQL专栏启动)

📫作者简介:小明java问道之路,专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

[附源码]计算机毕业设计springboot-菜篮子系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

D-017 SWD硬件电路设计

SWD硬件电路设计1 简介2 JTAG和SWD的区别2 设计要点3 电路实战1 简介 SWD(SERIAL WIRE DEBUG)是一种串行线调试,是ARM设计的协议,主要功能是对微控制器进行编程和调试。 相关引脚说明: PIN脚描述SWDIO串行数据线,用于数据的读出和写入。SW…

Nodejs -- CORS的介绍及使用CORS解决Express请求跨域的问题

文章目录CORS 跨域资源共享1 接口的跨域问题2 使用cors中间件解决跨域问题3 什么是CORS4 CORS的注意事项5 CORS响应头部 - Access-Control-Allow-Origin6 CORS响应头部 - Access-Control-Allow-Headers7 CORS响应头部 - Access-Control-Allow-Methods8 CORS请求的分类9 简单请求…

R语言隐马尔可夫模型HMM识别股市变化分析报告

了解不同的市场状况如何影响您的策略表现可能会对您的收益产生巨大的影响。最近我们被客户要求撰写关于HMM的研究报告,包括一些图形和统计输出。 某些策略在波动剧烈的市场中表现良好,而其他策略则需要强劲而平稳的趋势,否则将面临长时间的下…

使用Spark的foreach算子及UDTF函数实现MySQL数据的一对多【Java】

使用Spark的foreach算子及UDTF函数实现MySQL数据的一对多【Java】 背景 我们的数仓项目中遇到了这样一种场景,脱敏后内容大致如下: col1col2time1time2a1b12022-01-01 00:00:002022-01-05 00:00:00a2b22022-01-28 00:00:002022-02-03 00:00:00a3b3202…

53-54 - 被遗弃的多重继承

---- 整理自狄泰软件唐佐林老师课程 1. 问题 C是否允许一个类继承自多个父类? 1.1 C中的 多重继承 C支持编写多重继承的代码 一个子类可以拥有多个父类子类拥有所有父类的成员变量子类继承所有父类的成员函数子类对象可以当作任意父类对象使用 1.2 多重继承的语…