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)的不同
-
CSRF攻击利用用户已经登录的身份,在用户不知情的情况下发送恶意请求,执行未经授权的操作。攻击者利用受害者的身份在受害者不知情的情况下执行操作,比如更改密码或发送消息。而XSS攻击则是通过在网页中注入恶意脚本,当用户访问包含这些脚本的页面时,攻击者可以获取用户的信息、劫持会话或者执行其他恶意操作。
-
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漏洞
-
同源验证(Same-Site Cookies):使用 SameSite 属性,可以限制浏览器只在请求源站点 (same-site) 发送 Cookie,从而减少 CSRF 的风险
-
CSRF Token:在每个表单中包含一个随机生成的 token,并且验证这个 token,确保请求是来源于合法的网站而不是恶意网站
-
验证 Referer 头:在服务端检查 HTTP 头中的 Referer 字段,确保请求来自合法的来源网站
-
双重提交 Cookie:将 CSRF Token 既以 Cookie 形式存储,也作为隐藏字段的形式加入到表单中,以确保提交请求时两者匹配
-
自定义请求头:要求所有的请求都携带自定义的请求头,服务端验证该请求头来确认请求的合法性
-
限制敏感操作:在网站上进行敏感操作时,要求用户再次输入密码或进行其他形式的二次确认
-
保持安全的开发实践:确保网站的代码安全,遵循最佳实践,包括输入验证、输出编码、使用安全的密码哈希算法等
二.SSRF漏洞
1.SSRF漏洞简介
SSRF(Server-Side Request Forgery)漏洞是一种安全漏洞,攻击者可以利用该漏洞向服务器发起伪造的请求。这些请求伪装成服务器本身发起的请求,因此可以绕过一些安全控制,访问本地系统资源、其他服务器资源,甚至内部网络
SSRF漏洞通常出现在允许用户提供URL并在服务端进行请求的场景中,比如Web应用中的URL解析、文件上传功能、图片处理等。攻击者可以利用这些功能,提供指向内部系统或受信任的外部系统的URL,并执行一系列恶意操作。
攻击者可以利用SSRF漏洞实施以下攻击:
-
访问内部系统信息:攻击者可以利用SSRF漏洞访问内部服务器的敏感信息,如配置文件、日志等。
-
攻击本地系统:攻击者可以利用SSRF漏洞将服务器定向到恶意URL,执行各种攻击,如端口扫描、攻击本地服务等。
-
攻击内部系统:通过SSRF漏洞,攻击者可以攻击内部系统,从而导致数据泄露、服务拒绝或其他安全风险。
为了防止SSRF漏洞,开发者可以采取以下措施:
-
限制请求的目标:仅允许访问受信任的URL,可以通过白名单或者正则表达式进行过滤。
-
使用安全代理:通过安全代理或反向代理,限制请求的目标并过滤恶意请求。
-
使用URL白名单:限制应用程序可以访问的URL范围,避免访问内部网络。
-
验证用户提供的URL:对用户提供的URL进行验证和安全性检查,确保其合法性。
2.CSRF(Cross-Site Request Forgery)和SSRF(Server-Side Request Forgery)有什么不同
-
CSRF (Cross-Site Request Forgery):
- CSRF 是一种利用用户当前已经认证的会话,在用户不知情的情况下执行非法操作的攻击方式。
- 攻击者通过欺骗受害者访问包含恶意代码的网页,使受害者在已认证的会话中执行未经授权的操作。
- 主要针对的是用户的浏览器和其在目标网站上的已验证会话,常见于对在线银行账户、社交媒体账户等进行未经授权的操作。
-
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



重新访问就有内容了

相关文章:
csrf漏洞与ssrf漏洞
环境:用kali搭建的pikachu靶场 一.CSRF 1.CSRF漏洞简介 跨站请求伪造(CSRF)漏洞是一种Web应用程序安全漏洞,攻击者通过伪装成受信任用户的请求来执行未经授权的操作。这可能导致用户在不知情的情况下执行某些敏感操作࿰…...
AWS EC2服务器开启root密码,SSH登录
1) EC2 Instance Connect连接,更改root密码 sudo passwd root 2)接着切换到切换到 root 身份,编辑 SSH 配置文件 $ sudo -i$ vi /etc/ssh/sshd_configPasswordAuthentication no,把 no 改成 yes #PermitRootLogin prohibit-passw…...
常见代码版本管理工具
目录 一、引言 二、Gitee (一)优点与特点 (二)缺点 (三)使用报告 三、GitHub 四、SVN 五、总结 一、引言 在软件开发过程中,代码版本控制工具是不可或缺的。Gitee、GitHub和SVN是三种常…...
最新版点微同城源码34.7+全套插件+小程序前后端
带全套插件 自己耐心点配置一下插件 可以H5可以小程序 一款专属的同城服务平台对于企业和个人而言,无疑是拓展业务、提升服务品质的重要一环。点微同城源码搭配全套插件,以及完善的小程序前后端,将为您的业务发展提供强大支持 源码免费下载…...
逻辑回归及python实现
概述 logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很多相同之处。它们的模型形式基本上相同,都具有 w‘xb,其中w和b是待求参数,其区别在于他们的因变量不同&#x…...
大模型押题高考语文作文,带着大模型参加语文高考会怎么样?
前沿 大语言模型通常是指那些经过大量数据训练,能够理解和生成自然语言文本的人工智能系统。这些模型通常具有数百万到数十亿个参数,能够执行多种语言任务,例如语言翻译、文本摘要、问答系统、文本生成等。大语言模型能够捕捉语言的复杂性和细微差别,提供更加准确和自然的…...
Linux Ext2/3/4文件系统
文章目录 前言一、Linux文件系统简介1.1 简介1.2 Linux File System Structure1.3 Directory Structure 二、Ext2/3/4文件系统2.1 Minix2.2 EXT2.3 EXT22.4 EXT32.5 EXT4 三、EXT Inode参考资料 前言 这篇文章介绍了Linux文件系统的一些基础知识:Linux 文件系统简介…...
SIMBA方法解读
目录 预处理scRNA-seqscATAC-seq 图构建(5种场景)scRNA-seq分析scATAC-seq分析多模态分析批次整合多模态整合 图学习SIMBA空间中查询实体识别TF-target genes 预处理 scRNA-seq 过滤掉在少于三个细胞中表达的基因。原始计数按文库大小标准化࿰…...
VueRoute url参数
版本 4.x 获取query参数 使用$router.query,可以获取参数对应的json对象。 获取url参数 需要在路由配置中定义。使用$router.param获取。...
WPS表格插件方方格子【凑数】功能:选出和等于固定数字的数
文章目录 后来发现可以下载方方格子插件,使用【凑数】功能https://ffcell.lanzouj.com/iwhfc1kjhayh【凑数】快速【凑数】 导师让沾发票,需要选出若干个数额的发票,使它们的和等于一个指定数。不知道怎么办了,查了一下,…...
通过SpringCloudGateway中的GlobalFilter实现鉴权过滤
1.pom.xml中加入gateway jar包 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency> 2.创建权限过滤器 SecurityFilter /*** 鉴权过滤***/ Slf4j Component …...
TCP/IP(网络编程)
一、网络每一层的作用 *网络接口层和物理层的作用:屏蔽硬件的差异,通过底层的驱动,会提供统一的接口,供网络层使用 *网络层的作用:实现端到端的传输 *传输层:数据应该交给哪一个任…...
网工内推 | 网络运维工程师,H3CIE认证优先,13薪,享股票期权
01 畅读 🔷招聘岗位:高级网络运维工程师 🔷职责描述: 1.负责线上业务网络技术运维工作,保障并优化线上网络质量; 2.规划并构建公司线上业务网络架构; 3.规划线上业务网络质量评估与监控体系&…...
QT C++ 基于word模板 在书签位置写入文字和图片
如果你有按模版批量自动化操作word文件的需求,那么本文能给你一定的帮助。 它能满足你程序自动化生成报表的需求。常常用于上位机、测试仪器的软件中。 需要你你自己做个word模版文档,添加2个书签。点按钮,会按照你的模板文档生成一个同样的…...
根据word模板生成word内容(JAVA)
主要是借助 poi-tl 来实现业务需求 当时第一次尝试的是Apache poi不是很好用,不推荐 第二次是xml,找的眼睛都花了,不推荐 要求:jdk1.8,Apache POI5.2.2 我这里使用的是5.2.3版本 文档:Poi-tl Documentati…...
vscode运行命令报错:标记“”不是此版本中的有效语句分隔符。
1. 报错问题 标记“&&”不是此版本中的有效语句分隔符。 2. 解决办法 将 terminal 中的 owershell 改成 cmd 就 ok...
搜索与图论:树的重心
搜索与图论:树的重心 题目描述参考代码 题目描述 输入样例 9 1 2 1 7 1 4 2 8 2 5 4 3 3 9 4 6输出样例 4参考代码 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 100010, M N * 2;int n, m…...
程序代写,代码编写
Java 项目代做,小程序,安卓,鸿蒙,VUE 程序代写 Java调试安装、项目运行、代码代做、环境配置、工具安装、代码讲解、代码调试、代码运行、代码部署、项目调试、项目部署、Java Web、Spring Boot、项目设计、前后端分离、代码报错解…...
PbootCms微信小程序官网模版/企业官网/社交电商官网/网络工作室/软件公司官网
在数字化时代,企业网站已成为吸引潜在客户、提升企业形象、和扩大品牌影响力的必备工具。因此,一个优秀的企业网站模板显得尤为重要。 企业官网的内容框架通常都包含企业形象、产品或服务类型、信息展示等部分,设计师需要借助和企业形象契合…...
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
目录 一、引言 二、模型简介 2.1 GLM4-9B 模型概述 2.2 GLM4-9B 模型架构 三、模型推理 3.1 GLM4-9B-Chat 语言模型 3.1.1 model.generate 3.1.2 model.chat 3.2 GLM-4V-9B 多模态模型 3.2.1 多模态模型概述 3.2.2 多模态模型实践 四、总结 一、引言…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

