csrf漏洞与ssrf漏洞

环境:用kali搭建的pikachu靶场

一.CSRF

1.CSRF漏洞简介

  跨站请求伪造(CSRF)漏洞是一种Web应用程序安全漏洞,攻击者通过伪装成受信任用户的请求来执行未经授权的操作。这可能导致用户在不知情的情况下执行某些敏感操作,如更改密码、发送消息等。要防止CSRF攻击,可以使用随机生成的令牌来验证每个请求的来源和合法性。

CSRF利用流程:攻击者发现CSRF漏洞-->构造代码-->发送给受害人-->受害人打开-->受害人执行代码-->完成攻击

CSRF利用条件

 1.用到了cookie鉴权

 2.被攻击方鉴权未过期

 3.知道目标网站请求的详细信息

2.CSRF(Cross-Site Request Forgery)与XSS(Cross-Site Scripting)的不同

  1. CSRF攻击利用用户已经登录的身份,在用户不知情的情况下发送恶意请求,执行未经授权的操作。攻击者利用受害者的身份在受害者不知情的情况下执行操作,比如更改密码或发送消息。而XSS攻击则是通过在网页中注入恶意脚本,当用户访问包含这些脚本的页面时,攻击者可以获取用户的信息、劫持会话或者执行其他恶意操作。

  2. CSRF攻击是针对用户身份验证机制的漏洞,攻击者利用受害者已经登录的身份来执行操作;而XSS攻击是利用网站对用户输入的信任,将恶意脚本注入到网页中,从而获取用户信息或执行恶意操作。

3.例子

pikachu靶场
1.点击提示,登录vince用户

2.进入到这个页面

3.通过html伪造修改的请求

<form method="get" action="http://192.168.168.128/pik/vul/csrf/csrfget/csrf_get_edit.php">
    <input type="text" name="sex" value="1234"></p>
    <input class="phonenum" type="text" name="phonenum" value="123"></p>
    <input class="add" type="text" name="add" value="123"></p>
    <input class="email" type="text" name="email" value="1231"></p>
    <input class="sub" type="submit" name="submit" value="submit">
</form>

4.用浏览器打开html文件
5.点击submit

发现页面跳转并修改用户的个人信息

注:如果点击修改个人信息后出现空白

说明PHP版本较高,需要修改一下文件

进入到/var/www/html/pik/vul/csrf/csrfget/目录,修改csrf_get_edit.php文件

删除第七十行MYSQL_ASSOC(因为PHP这个版本识别不了)

然后刷新就可以出来了

4.预防CSRF漏洞

  1. 同源验证(Same-Site Cookies):使用 SameSite 属性,可以限制浏览器只在请求源站点 (same-site) 发送 Cookie,从而减少 CSRF 的风险

  2. CSRF Token:在每个表单中包含一个随机生成的 token,并且验证这个 token,确保请求是来源于合法的网站而不是恶意网站

  3. 验证 Referer 头:在服务端检查 HTTP 头中的 Referer 字段,确保请求来自合法的来源网站

  4. 双重提交 Cookie:将 CSRF Token 既以 Cookie 形式存储,也作为隐藏字段的形式加入到表单中,以确保提交请求时两者匹配

  5. 自定义请求头:要求所有的请求都携带自定义的请求头,服务端验证该请求头来确认请求的合法性

  6. 限制敏感操作:在网站上进行敏感操作时,要求用户再次输入密码或进行其他形式的二次确认

  7. 保持安全的开发实践:确保网站的代码安全,遵循最佳实践,包括输入验证、输出编码、使用安全的密码哈希算法等

二.SSRF漏洞

1.SSRF漏洞简介

  SSRF(Server-Side Request Forgery)漏洞是一种安全漏洞,攻击者可以利用该漏洞向服务器发起伪造的请求。这些请求伪装成服务器本身发起的请求,因此可以绕过一些安全控制,访问本地系统资源、其他服务器资源,甚至内部网络

SSRF漏洞通常出现在允许用户提供URL并在服务端进行请求的场景中,比如Web应用中的URL解析、文件上传功能、图片处理等。攻击者可以利用这些功能,提供指向内部系统或受信任的外部系统的URL,并执行一系列恶意操作。

攻击者可以利用SSRF漏洞实施以下攻击:

  1. 访问内部系统信息:攻击者可以利用SSRF漏洞访问内部服务器的敏感信息,如配置文件、日志等。

  2. 攻击本地系统:攻击者可以利用SSRF漏洞将服务器定向到恶意URL,执行各种攻击,如端口扫描、攻击本地服务等。

  3. 攻击内部系统:通过SSRF漏洞,攻击者可以攻击内部系统,从而导致数据泄露、服务拒绝或其他安全风险。

为了防止SSRF漏洞,开发者可以采取以下措施:

  1. 限制请求的目标:仅允许访问受信任的URL,可以通过白名单或者正则表达式进行过滤。

  2. 使用安全代理:通过安全代理或反向代理,限制请求的目标并过滤恶意请求。

  3. 使用URL白名单:限制应用程序可以访问的URL范围,避免访问内部网络。

  4. 验证用户提供的URL:对用户提供的URL进行验证和安全性检查,确保其合法性。

2.CSRF(Cross-Site Request Forgery)和SSRF(Server-Side Request Forgery)有什么不同

  1. CSRF (Cross-Site Request Forgery):

    • CSRF 是一种利用用户当前已经认证的会话,在用户不知情的情况下执行非法操作的攻击方式。
    • 攻击者通过欺骗受害者访问包含恶意代码的网页,使受害者在已认证的会话中执行未经授权的操作。
    • 主要针对的是用户的浏览器和其在目标网站上的已验证会话,常见于对在线银行账户、社交媒体账户等进行未经授权的操作。
  2. SSRF (Server-Side Request Forgery):

    • SSRF 是一种攻击,攻击者能够利用目标服务器上的漏洞,以服务器的身份执行未经授权的网络请求。
    • 攻击者通过向应用程序发送包含恶意 URL 的请求,利用服务器端的漏洞执行一些未经授权的操作,例如访问内部系统、执行端口扫描等。
    • SSRF 的危害范围更广泛,可以直接影响到服务器上的资源和其他内部系统,而不是仅仅利用用户的会话。

CSRF 主要针对用户会话,而 SSRF 则主要利用服务器漏洞

3.例子

file协议

文件协议(file protocol),通常表示为 "file://",是用于访问本地或网络文件系统中文件和目录的 URL 方案。当浏览器或应用程序遇到以 "file://" 开头的 URL 时,它会理解需要访问的资源位于本地文件系统而不是互联网上。

例如,如果您有一个名为 "example.html" 的文件位于目录 "C:\Users\YourName" 中,您可以使用文件协议来访问它,像这样:

复制代码

file:///C:/Users/YourName/example.html

这将在您的默认 Web 浏览器中打开 "example.html" 文件。类似地,您可以使用文件协议来访问其他类型的文件,如图像、文本文档,甚至目录。然而,需要注意的是,使用文件协议可能会带来安全隐患,特别是当从不受信任的来源访问文件时,由于潜在的安全漏洞。

gopher协议

gopher协议是http出现之前,在internet上常见的且常用的协议

gopher协议可以做很多事情,特别是在SSRF中可以发挥很多重要的作用,利用此协议可以攻击内网的FTP,Telnet,Redis,Memcache,也可以进行GET,post请求

gopher://host:port/数据流

数据流第一个字符会被吞掉,所以第一个字符通常用_

换行符要用%0d%0a

?符号也要进行URL编码

nc -lvvp 888          #监听888端口

curl gopher://127.0.0.1:888/abc      #使用gopher协议请求访问资源

发现监听到的第一个字符被吞掉需要再前面加一个_

dict协议

"dict 协议" 是一种用于在计算机网络上查询词典和参考资料的协议。它允许用户通过网络连接到远程词典服务器,并以特定的格式发送查询请求,然后接收并解析服务器返回的结果。dict 协议通常使用 TCP 或 UDP 连接,通常在端口 2628 上。

通过 dict 协议,用户可以查询词典、百科全书、单词释义等参考资料,并获得相关的定义、解释、用法等信息。dict 协议的查询通常基于一组事先定义好的规范和格式,这使得不同的词典服务器可以共同遵循相同的协议,以便客户端能够在不同的服务器上执行相似的查询操作。

file_get_contents()函数

根据关卡名字,可以看到会利用file_get_content函数,上面概述中有介绍这个函数的作用是把整个文件读入一个字符串中!读取时支持file协议和http协议以及php伪协议
file协议读到php源码后,无法采用file协议获取源码想要获取源码 可以通过php伪协议将代码编码一下才能获取代码
php://fi1ter/read=convert.base64-encode/resource=../../index.php

注:如果点击这里出现白屏

说明php-curl依赖没有下载

apt update                                 #更新包管理器

apt install php-curl                    #下载php-curl依赖

systemctl restart apache2       #重启apache2

重新访问就有内容了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

21、matlab生成脉冲序列:pulstran()函数

1、pulstran()函数 1&#xff09;语法 语法1&#xff1a;y pulstran(t,d,func,fs) 基于连续函数的采样产生脉冲序列。 语法2&#xff1a;y pulstran(t,d,p) 生成一个脉冲序列&#xff0c;该脉冲序列是向量p中原型脉冲的多个延迟插值的总和。 语法3&#xff1a;y pulstran…

echarts柱状图坐标轴的内容太长导致显示不全的两种解决办法

情况一&#xff1a;坐标上的内容是文字时 width: 60,//将内容的宽度固定 overflow: truncate,//超出的部分截断 truncate: ...,//截断的部分用...代替 情况二&#xff1a;如果纵坐标上是数字 grid: {top: "15%",left: "2%",right: "2%",bottom:…

西贝柳斯终极版2023:Mac上的简易音乐记谱神器,谱写未来

Avid Sibelius Ultimate 2023 for Mac是一款专为Mac用户设计的音乐记谱软件&#xff0c;它以其强大的功能和直观的操作界面&#xff0c;为音乐创作者们提供了一个高效、便捷的创作平台。 一、音乐创作的得力助手 Sibelius Ultimate 2023不仅适用于有抱负的作曲家和词曲作者&a…

OpenCV中的圆形标靶检测——斑点检测算法(一)

1.导读 在上一节内容中我们简要描述了OpenCV中实现圆形标靶检测的API的使用方法,其处理流程可大致分为1)斑点形状的检测,和2)基于规则的斑点形状的过滤与定位。第一步将类似圆斑形状的区域检测出来,但可能存在一些误检测的噪声,第二步则利用圆斑的分布规则(M*N排列)进行…

海外仓系统介绍:一篇文章讲清楚这是什么,怎么选,有哪些坑

所谓的海外仓系统是一种管理海外仓的综合性工具&#xff0c;主要功能体现在海外仓仓储管理、一件代发订单处理、快递物流跟踪、数据统计、财务统计等方面。 因为海外仓的类型比较多&#xff0c;有大型集团化海外仓&#xff0c;起步阶段海外仓和中小型海外仓&#xff0c;家庭仓…

短视频矩阵系统搭建开发,ai智能剪辑系统,矩阵发布,一键管理多个账户

前言&#xff1a; 企业短视频矩阵是企业通过搭建多个短视频平台账号&#xff0c;形成一个多元化的内容传播网络。它旨在通过多平台内容的同步传播&#xff0c;实现企业品牌价值的最大化。短视频矩阵包括抖音、快手、视频号、小红书、百家号等热门短视频平台&#xff0c;其核心…

UTONMOS:元宇宙游戏,散发无尽魅力与可能

在数字世界的浩瀚星海中&#xff0c;utonmos元宇宙游戏宛如一颗璀璨的明珠&#xff0c;散发着无尽的魅力与可能。 utonmos可不单单只是一款游戏&#xff0c;它更是一个令人惊叹的全新虚拟宇宙&#xff0c;急切地等待着你去深入探索和豪迈征服。 在这里&#xff0c;你能随心所欲…

论文写作必备工具大揭秘:提升效率的终极指南

论文写作必备工具大揭秘&#xff1a;提升效率的终极指南 引言 不论你是文科、理工科还是商科的学生&#xff0c;面对论文的压力总是无法逃避的。临近期末&#xff0c;论文写作是不是让你头疼不已&#xff1f;别担心&#xff0c;你既然找到了这篇文章&#xff0c;就说明你渴望…

详解MyBatis(一)

目录 1.JDBC操作示例回顾 2.什么是MyBatis 3.MyBatis入门 3.1准备工作 3.2配置数据库连接字符串 3.3写持久层代码 3.4单元测试 ​4.MyBatis的基本操作 4.1打印日志 4.2参数传递 1.JDBC操作示例回顾 我们学习MySQL数据库时 &#xff0c;已经学习了JDBC来操作数据库, 但…

企业微信hook接口协议,ipad协议http,一个用户多个标签

一个用户多个标签 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid": "168885xxx599424","userid":0,//用户id"labelid_list":[ //标签id数组0] } 返回示例 {"data…

Nvidia Jetson/Orin +FPGA+AI大算力边缘计算盒子:公路智能巡检解决方案

项目背景 中国公路网络庞大&#xff0c;总里程超过535万公里&#xff0c;高速公路里程位居世界前列。面对基础设施存量的不断增长&#xff0c;公路养护管理已迈入“建管养并重”的新时代。随着养护支出的逐年攀升&#xff0c;如何提升养护效率、降低管理成本&#xff0c;成为亟…

流媒体服务器SMS-语音对讲(二)

1.简介 上篇文件介绍了流媒体与设备之间可能的交互场景&#xff0c;本文将介绍客户端或者web端与摄像头对讲的总体流程。 老规矩&#xff0c;介绍一下本人的开源流媒体&#xff0c;点个star&#xff0c;有兴趣一起开发的朋友也可以联系本人&#xff1a;https://gitee.com/inyem…

为什么我们需要用到空号检测

为什么需要空号检测 在我们进行群发短信营销和电话营销时&#xff0c;如果不提前对号码库进行空号筛选&#xff0c;那么会影响效率、浪费成本。 SUBMAIL 的空号检测&#xff0c;直接调用运营商的 API 接口进行数据对照&#xff0c;从而让手机号码的检测结果更加可靠。 空号检测…

Vercel deploy- Nextjs project error-URL link-env variable

Vercel deploy- Nextjs project error-URL link-env variable Error Check Database URL Check next-auth URL NEXTAUTH_URLhttps://yourappname.vercel.app/ 依次排查可能性 Application error: a server-side exception has occurred (see the server logs for more in…

sonobe:针对IVC的fold arithmetic电路实例

1. 引言 近日&#xff0c;arnaucube发推宣称 在EVM链&#xff08;Optimistic&#xff09;上验证了首个NovaCycleFold proof&#xff0c;对应开源代码实现见&#xff1a; https://github.com/privacy-scaling-explorations/sonobe&#xff08;Rust Solidity&#xff09; son…

Git基本使用教程(学习记录)

参考文章链接&#xff1a; Git教程&#xff08;超详细&#xff0c;一文秒懂&#xff09; RUNOOB Git教程 Git学习记录 1Git概述 1.1版本控制软件功能 版本管理&#xff1a;更新或回退到历史上任何版本&#xff0c;数据备份共享代码&#xff1a;团队间共享代码&#xff0c;…

大数据的数据采集

大数据采集是指从各种来源收集大量数据的过程&#xff0c;这些数据通常是结构化或非结构化的&#xff0c;并且可能来自不同的平台、设备或应用程序。大数据采集是大数据分析和处理的第一步&#xff0c;对于企业决策、市场分析、产品改进等方面具有重要意义。以下是大数据采集的…

2024 年适用于 Mac 的 5 大免费录屏软件

要成为Mac的优秀屏幕录像机&#xff0c;捕获视频的高清质量和易于操作的界面是两个主要重要因素。此外&#xff0c;Mac上的付费屏幕录像机不仅可以输出高质量的屏幕捕获视频。您也可以在免费的视频捕获软件中获得类似的桌面录制服务。因此&#xff0c;如果您不需要以专业的方式…

Java 异常处理详解(如果想知道Java中有关异常处理的知识点,那么只看这一篇就足够了!)

前言&#xff1a;异常处理是 Java 编程中非常重要的一部分&#xff0c;它能够有效地捕获和处理程序运行中的错误&#xff0c;提高代码的健壮性和可靠性。本文将深入探讨 Java 中异常的概念、体系结构、抛出、解决方式以及如何自定义异常&#xff0c;并结合代码案例进行详细解释…

什么文档加密软件好用?迅软DSE加密软件你不会还不知道吧?

一、什么文档加密软件好用&#xff1f; 其中有迅软DSE文档加密软件等。 迅软DSE加密软件&#xff1a;让企业的创意成果、招投标文件、生产工艺、流程配方、研发成果、公司计划、员工信息等核心数据更安全。 多方面加密模式&#xff0c;有效防止数据泄密 透明无感知加密&…