上海手机网站制作公司/排名前十的大学
环境:用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 多模态模型实践 四、总结 一、引言…...

Kotlin 函数式接口
文章目录 定义实例化Kotlin 调用 Java 单抽象方法接口 定义 在 Kotlin 中,如果一个接口只有一个抽象方法(其他非抽象成员数量不限),可以写成类似函数的形式。 fun interface Editable {// 此处 abstract 可省略abstract fun edi…...

【数据结构】平衡二叉树(AVL树)
目录 前言 一、AVL树概念 二、AVL树节点定义 三、AVL树插入 1. 按照二叉搜索树的方式插入新节点 2. 维护节点的平衡因子与调整树的结构 a. 新节点插入较高左子树的左侧---左左:右单旋 b. 新节点插入较高右子树的右侧---右右:左单旋 c. 新节点插入…...

python数据文件处理库-pandas
内容目录 一、pandas介绍二、数据加载和写出三、数据清洗四、数据转换五、数据查询和筛选六、数据统计七、数据可视化 pandas 是一个 Python提供的快速、灵活的数据结构处理包,让“关系型”或“标记型”数据的交互既简单又直观。 官网地址: https://pandas.pydata.o…...

stm32 h5 串口采用DMA循环BUFF接收数据
当使用STM32H5系列的MCU进行串口(USART)通信,并希望使用DMA(Direct Memory Access)进行循环缓冲区(Circular Buffer)接收数据时,你需要进行以下配置步骤: 初始化串口&…...

海外媒体通稿:9个极具创意的旅游业媒体推广案例分享-华媒舍
如今,旅游业正迅速发展,媒体推广成为吸引游客的关键。为了更好地展示旅游目的地,许多创意而富有创新的媒体推广策略应运而生。本文将介绍九个极富创意的旅游业媒体推广案例,为广大从业者带来灵感和借鉴。 1. 视频系列:…...

接口自动化框架封装思想建立(全)
httprunner框架(上) 一、什么是Httprunner? 1.httprunner是一个面向http协议的通用测试框架,以前比较流行的是2.X版本。 2.他的思想是只需要维护yaml/json文件就可以实现接口自动化测试,性能测试,线上监…...

char [] 赋新值
在C语言中,字符数组(char [])的值可以通过多种方式进行赋值。以下是一些常见的方法: 1、直接初始化: char str[50] "Hello, World!";2、使用strcpy()函数: char str[50]; strcpy(str, "…...

matlab计算图像信噪比SNR
直接上源码: close all clear all clc% 读取图像 I = imread(lena.bmp);I = rgb2gray(I); J =imnoise(I, salt & pepper, 0.001);...

DP读书:如何使用badge?(开源项目下的标咋用)
最近在冲论坛,很少更一些内容了。但遇到了一个真的有趣的: 开源项目下,蓝蓝绿绿的标是怎么用的呢? 这是我的主页Readme,在看一些NXP的主仓时,突然发现没有这个玩,就自己整了个 再比如我的CSDN专…...

使用JavaScript实现网页通知功能
如何使用js来实现网页通知功能。即使在用户浏览其他页面时,也能向他们推送通知信息。 废话不多说直接上代码 function showAutoNotification() {if ("Notification" in window) {Notification.requestPermission().then(function(permission) {if (permis…...