【web安全】ssrf漏洞的原理与使用

前言

菜某对ssrf漏洞的总结。

ssrf的作用

主要作用:访问外界无法访问的内网进行信息收集。

1.进行端口扫描,资源访问

2.指纹信息识别,访问相应的默认文件

3.利用漏洞或者和payload进一步运行其他程序

4.get类型漏洞利用,传参数实现攻击

5.post型漏洞利用,用gopher协议进行参数构造

6.拒绝服务攻击(访问大文件占用资源)

ssrf的原理

当网站有一个功能,能去访问网络上的其他资源时,我们可以更改他要访问的url地址,使其指向我们想让他访问的位置。

服务器处于一个内外网交界的位置,我们无法访问他们的内网,所以我们就可以利用ssrf漏洞,以他作为跳板去访问正常访问不到的内网的内容。

ssrf常出现的场景

任何服务器访问其他资源的地方,都可能有。

常常出现在:

1.通过URL地址进行页面分享

2.转码服务,通过URL把原文件地址的页面进行页面转换格式

3.在线翻译,一键翻译相应URL地址中的英文

4.图片加载与下载,通过URL进行图片获取的。

5.未公开的api实现以及其他调用URL的功能

6.设备后台管理进行存活测试,(测试开启状态时会访问)

7.远程图片访问或者加载

8.远程头像加载

10.打包附件或者内容编辑导出

ssrf漏洞的判定

1.回显变化,根据页面的回显情况进行判断

2.让他访问自己的服务器,然后看日志他是否访问过

3.从时间判断,有些外国网站明显访问速度应该比国内网站慢,有过有这种情况则存在

4.    DNS 请求检测:自己搭建 DNS 服务器,或者利用网上的 DNSLog

服务(比如http://www.dnslog.cn/),生成一个域名(l08bgh.dnslog.cn)用于伪造请求,看漏洞服务器是否发起DNS 解析请求,若成功访问在 DNSLog.cn 上就会有解析日志。

ssrf常用的攻击协议

http(s),file,dict,gopher

--http协议:最常用的ssrf漏洞利用协议

  例:http://xxx.com?url=http://1.1.1.1/xxx

--file协议:可以读取服务器文件

  例:http://xxx.com?url=file://1.1.1.1/xxx

--dict协议:可以利用此协议进行端口开放测试

  例:http://xxx.com?url=dict://1.1.1.1/xxx

--gopher协议:支持发送get,post请求,可进行复杂漏洞利用。

但是支持的范围比较小

不同语言对于协议的支持情况

ssrf常用的绕过方法

开发人员常见的过滤手法:对域名和IP进行白名单或者黑名单的限制。

绕过方法

@字符:xxx.com@10.10.10.10访问10.10.10.10(对抗白名单)

后加xip.io:10.10.10.10.xip.io被解析成10.10.10.10

数字IP地址:127.0.0.1的十进制:2130706433

进制转换:127.0.0.1的八进制:0177.0.0.1。十六进制:0x7f.0.0.1

封闭式的字母数字:有些手机上打出来开的数字外面套着圈的也能被识别

DNS重绑定:使用此方法可以实现域名解析为内网IP

协议限制绕过:禁用了部分协议之后可以换用其他协议。

[::]绕过localhost:http://[::]:80/

ssrf案例

均在本地搭建简易漏洞

案例一

端口扫描敏感信息

因为mysql的端口在3306,当我们访问3306时得到了mysql的版本

案例2

利用get形式的其他漏洞

我同时装了xss-labs靶场,用这个端口可以去请求xss的第一关实现xss利用。

当然这个是对本机进行的,也可以对内网的其他机器进行。

(实战中通常是用内网中一些get型的软件漏洞进行攻击)

输入的内容

http://127.0.0.1/xss/level1.php?name=test<script>alert(1)</script>

案例三

查看文件

在对应的目录下,还有一个lookme的文件,可以用这个读取。

这里是看的本机的,如果把IP换成内网的就可以访问内网的了。

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

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

相关文章

Dart编程基础 - 一种新的编程语言

Dart编程基础 – 一种新的编程语言 Dart Programming Essentials - A New Type of Programming Language By JacksonML Dart is a client-optimized language for fast apps on any platform From dart.dev 在1999年之前&#xff0c;和我一样对计算机技术感兴趣的伙伴们&…

Glide结合OkHttp保证短信验证接口携带图形验证码接口返回Cookie值去做网络请求

一、实现效果 二、步骤 注意&#xff1a;仅展示核心部分代码 1、导入依赖 api com.github.bumptech.glide:glide:4.10.0 kapt com.github.bumptech.glide:compiler:4.10.0 api com.squareup.okhttp3:okhttp:3.11.0 api com.squareup.okhttp3:logging-interceptor:3.11.02、自…

非应届生简历模板(13篇)

无论您是职场新人还是转行求职者&#xff0c;一份出色的简历都是获得心仪岗位的关键。本文为大家精选了13篇专业的非应届生简历模板&#xff0c;无论您的经验如何&#xff0c;都可以灵活参考借鉴&#xff0c;提升自己的简历质量。让简历脱颖而出&#xff0c;轻松斩获心仪职位&a…

【【FPGA 之 MicroBlaze定时器中断实验】】

FPGA 之 MicroBlaze定时器中断实验 AXI Timer 具有 AXI 总线接口&#xff0c;能够产生不同时间周期和占空比的时钟、脉冲产生电路、产生与时间有关的中断和用于电机控制的脉宽调制信号。 AXI Timer IP 核提供了一个 AXI4 Lite 接口用于与处理器通信&#xff1b;它内部有两个可…

OpenCV-Python:计算机视觉框架

1.背景 俗话说“工欲善其事必先利其器”&#xff0c;想要学好计算机视觉&#xff0c;需要借助于相关的计算机视觉库&#xff0c;这样在进行学习的时候可以达到事半功倍的效果。 2.早期计算机视觉框架概述 Matlab的最早历史可以追溯到1970年&#xff0c;开始是作为数据处理工…

VL53-400激光测距传感器

一、产品简介 先由激光二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器&#xff0c;被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器&#xff0c;因此它能检测极其微弱的光信号。记录并…

数据库设计实践:粒度的理解与应用示例

粒度是描述数据存储和表示的详细程度。在数据库设计中&#xff0c;理解和正确选择粒度是非常重要的&#xff0c;因为它直接影响到数据的存储效率、查询性能和数据分析的灵活性。 文章目录 粒度的类型&#xff1a;案例粒度选择的考虑因素实际应用 粒度的类型&#xff1a; 细粒度…

UI自动化Selenium find_elements和find_element的区别

# 如果获取的element是list&#xff0c;那么需要用find_elements方法&#xff1b;此方法会返回list&#xff0c;然后使用len() 方法&#xff0c;计算对象的个数&#xff1b; # find_element方法返回的不是list对象&#xff0c;所以导致没办法计算对象个数 # 1.返回值类型不同…

智慧工地一体化解决方案(里程碑管理)源码

智慧工地为管理人员提供及时、高效、优质的远程管理服务&#xff0c;提升安全管理水平&#xff0c;确保施工安全提高施工质量。实现对人、机、料、法、环的全方位实时监控&#xff0c;变被动“监督”为主动“监控”。 一、建设背景 施工现场有数量多、分布广&#xff0c;总部统…

2023.11.30 关于 MyBatis 动态 SQL 的使用

目录 引言 if 标签 trim 标签 where 标签 set 标签 foreach 标签 引言 动态 sql 是 MyBatis 的强大特性之一允许你根据输入的参数动态地构建 sql 语句从而在运行时根据不同的条件生成不同的 sql 核心思想 基于提供的数据和条件&#xff0c;能够修改、增加、删除 sql…

极智芯 | 解读国产AI算力 昆仑芯产品矩阵

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文分享一下 解读国产AI算力 昆仑芯产品矩阵。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 昆仑芯来源于百度,2018 年…

用CHAT 写一份销售人员激励方案

问CHAT &#xff1a;写一份销售人员早会激励方案 CHAT回复&#xff1a; 标题&#xff1a;鼓舞斗志&#xff0c;迎接新的一天 -- 销售人员早会激励方案 一、会议的氛围设定&#xff1a; 深呼吸&#xff0c;准备开始一天的事业&#xff1a;清晨的阳光&#xff0c;温暖而明亮&…

redis------在java中操作redis

Redis&#xff08;非关系型数据库&#xff09;简介 redis下载 点击即可进入redis中文网进行下载 百度网盘windows版本 提取码 DMH6 redis主要特点 基于内存存储&#xff0c;读写性能高 适合存储热点数据&#xff08;热点商品、资讯、新闻&#xff09; 企业应用广泛 redis不同…

【代码】CNN-GRU-Attention基于卷积神经网络和门控循环单元网络结合注意力机制的多变量回归预测

程序名称&#xff1a;CNN-GRU-Attention基于卷积神经网络和门控循环单元网络结合注意力机制的多变量回归预测 实现平台&#xff1a;matlab 代码简介&#xff1a;为更准确地预测&#xff0c;提出基于注意力机制的CNN-G&#xff32;U预测模型。该模型主要借助一维卷积单元提取数…

Filebeat使用指南

Filebeat介绍主要优势主要功能配置日志的解析Kibana中设置日志解析安装步骤安装Filebeat安装监控通过prometheus监控 Filebeat和Logstash的主要区别 Filebeat介绍 Filebeat是使用Golang实现的轻量型日志采集器&#xff0c;也是Elasticsearch stack的一员。它可以作为一个agent…

全网关键词采集,免费关键词采集软件使用方法

网站的SEO优化已经成为企业提升在线可见性的不二选择。而关键词的选择和使用则是SEO优化的核心。本文将专心分享关键词采集的正确用法&#xff0c;助您在SEO的道路上掌握正确的方向。 关键词采集&#xff1a;SEO的基础 让我们明确关键词采集的重要性。在搜索引擎的世界里&…

计算机组成学习-数据的表示和运算总结

1、进制与编码 1.1 进位计数法 常用的进位计数法有十进制、二进制、八进制、十六进制等。十六进制每个 数位可取0〜9、A、B、C、D、E、F中的任意一个&#xff0c;其中A、B、C、D、E、F分别表示 10〜15。 八进制数字通常以前缀 "0"&#xff08;零&#xff09;加上数…

【openssl】Window系统如何编译openssl

本文主要记录如何编译出windows版本的openss的lib库 1.下载openssl&#xff0c;获得openssl-master.zip。 a.可以通过github&#xff08;网址在下方&#xff09;上下载最新的代码、今天是2023.12.1我用的master版本&#xff0c;下载之后恭喜大侠获得《openssl-master.zip》 …

Redis高可用集群架构

高可用集群架构 哨兵模式缺点 主从切换阶段&#xff0c; redis服务不可用&#xff0c;高可用不太友好只有单个主节点对外服务&#xff0c;不能支持高并发单节点如果设置内存过大&#xff0c;导致持久化文件很大&#xff0c;影响数据恢复&#xff0c;主从同步性能 高可用集群…

【开源】基于JAVA语言的考研专业课程管理系统

项目编号&#xff1a; S 035 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S035&#xff0c;文末获取源码。} 项目编号&#xff1a;S035&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高…