当前位置: 首页 > news >正文

网络安全-ssrf

目录

一、环境

二、漏洞讲解

三、靶场讲解

四、可利用协议 

4.1 dict协议

4.2 file协议

4.3 gopher协议

五、看一道ctf题吧(长亭的比赛)

5.1环境

5.2开始测试

​编辑


一、环境

pikachu,这里我直接docker拉取的,我只写原理,靶场都是随便找的

docker run --name piakchu -d -p 8000:80 area39/pikachu 

二、漏洞讲解

SSRF(Server-Side Request Forgery:服务器端请求伪造)

其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制

导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据

数据流:攻击者----->服务器---->目标地址

根据后台使用的函数的不同,对应的影响和利用方法又有不一样

PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,则请做好目标地址的过滤

三、靶场讲解

首先点进来是一首诗,点击后url后面会有参数,请求本地的一个资源,?url=http://127.0.0.1/vul/ssrf/ssrf_info/info1.php

去看看源码吧,用vscode直接远程连接docker里面

请求的东西在这里

 代码不等于空就执行,最后curl_exec执行

 比如访问百度,就会把百度加载出来,那这有什么用呢????有什么危害

可以通过各种协议读取文件等等,我们一个一个研究

四、可利用协议 

4.1 dict协议

dict 协议是一个在线网络字典协议,这个协议是用来架设一个字典服务的。不过貌似用的比较少,所以网上基本没啥资料(包括谷歌上)。可以看到用这个协议架设的服务可以用 telnet 来登陆,说明这个协议应该是基于 tcp 协议开发的。

所以像 mysql 的服务,因为也是基于 tcp 协议开发,所以用 dict 协议的方式打开也能强行读取一些 mysql 服务的返回内容,比如我本地开的mysql我们尝试读取

利用点在于,可以探测内网端口(比如我们渗透的时候遇到的不出网协议),fastcgi,redis

pass:readis【6379】未授权访问(写入webshell,物理路径,写入任务计划(反弹webshell),写入公钥(直接登录服务器))很盛行,因为低版本90%的人基本上不会设置密码,但到2024年有些企业很注意这个点了,大部分人也开始设置了 

4.2 file协议

读取文件

包括php连接文件,可以读出来mysql的账号和密码

4.3 gopher协议

可以发送发送gopher get请求

我们gethub上面开源了一款工具叫做gopherus这个工具

可以攻击点就这么多,可以想象这个漏洞的危害,已经可以直接写一句话木马了

我刚刚克隆了一下这个工具给大家展示一下作用

 问反弹shell还是写入phpshell

而这个协议最重要的还是物理路径,如果网站的debug没关的话,也许我们日常挖洞的时候可以爆出来,我docker里面做测试我已经知道本地物理路径这里只展示

 我们来看一下它写入解码后的一个值是 ,很明显可以看到它在将我写入的内容存入到shell.php这个目录下,相当于是内存数据落盘

来看看反弹shell是怎么回事

任务计划root权限

 还有一个写公钥的功能它并没有,但这个也合理正常来说公钥是我们自己生成的,用-t就可以了,这样就可以实现免密登录了

五、看一道ctf题吧(长亭的比赛)

5.1环境

自己网上找,名字web-ssrfme.md

5.2开始测试

访问如下,限制了协议file、dict、localhost,不能探测内网端口和文件

访问是可以但是没什么用

当我们去探测内网端口的时候直接nonono

 但是它给了提示可以用info打印出phpinfo,可以看出使用的是apache7.0

看出它的docker里面的ip

 那我们去访问一下看看,又打印了一次,那我可以用它来探测端口,3306和6379都没有反应,好像什么服务都没装

 bp爆破探测一下看看

但是不好的消息是好像只开放了80,那没必要在这个服务器浪费时间了

手工探测一下0.1,0.3等等,先看看,很明显0.2和0.1是有服务器的,但0.1是默认html文件对我们用处不大去看看0.2吧

 爆破0.2很明显有6379和80端口

那我们就需要考虑传webshell但是我们不知道物理路径,先猜吧/var/www/html ,用刚才的Gopherus工具生成个payload

 很明显并没有写进去

用上帝视角去看一下updload给的权限这么高,很明显就是上面我们所讲的

但正常做题我们并没有上帝视角,一般都是用gethub上面开源的目录等等,我们做题只模拟,假设我们字典只有这五个

用bp抓包,然后爆破,假设我们扫出来了,那我们gopherus的目录就要变了,我们接着写入才有可能会成功

 还是没有成功,很快就结束了,并没有下一步动作

考虑一下二次编码

 再次测试,很明显已经成功实现了

但是我们发现id并没有进行一个执行

 排一下错,我们上帝视角改一下看看

这样是执行成功了

 那说明我们写的解析有问题,重新写下看看

这下是ok的,那就证明正常解法就是如此,那我正常入侵的时候写webshell和反弹shell也ok

相关文章:

网络安全-ssrf

目录 一、环境 二、漏洞讲解 三、靶场讲解 四、可利用协议 4.1 dict协议 4.2 file协议 4.3 gopher协议 五、看一道ctf题吧(长亭的比赛) 5.1环境 5.2开始测试 ​编辑 一、环境 pikachu,这里我直接docker拉取的,我只写原…...

c++刷题

17.电话号码的组合 来源于题解思路&#xff1a; 继承 CC14 KiKi设计类继承 #include <iostream> #include <memory> using namespace std; class Shape{ private:int x;int y; };class Rectangle:public Shape { public:Rectangle(int length,int width):Shape…...

艾丽卡的区块链英语小课堂

系列文章目录 复习昨日 文章目录 系列文章目录前言1.opaque2.deduplicates3.references4,intermix5.serializing6.streamline7.robust8.flexibility9.exotic10.nevertheless11. realize12.flavor13.subtract14.attach15.award 前言 欢迎来到艾丽卡的区块链英语小课堂&#x…...

计算机毕业设计 公寓出租系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…...

eclipse使用 笔记02

创建一个项目&#xff1a; 【File-->New-->Dynamic Web Project】 进入页面&#xff1a; Project name为项目命名 Target runtime&#xff1a;选择自己所对应的版本 finish创建成功&#xff1a; 创建成功后的删除操作&#xff1a; 创建前端界面&#xff1a; 【注意&a…...

基于C++实现(MFC)职工工作量统计系统

题目&#xff1a;职工工作量统计系统设计 1、问题描述 职工包括姓名、职工号、性别、年龄、所在部门、联系方式等信息。 工作量包括职工号、完成的产品数量等信息。 该设计系统能够对职工的工作量进行统计&#xff0c;并排出名次。注意&#xff0c;一个职工的工作量是可以多次…...

大家好,我叫Redis~

大家好&#xff0c;我是Redis&#xff01;下面请通过我的故事来认识我吧。 1. 初次登场&#xff1a;为什么需要我 在“双十一”期间&#xff0c;商店被顾客挤得水泄不通&#xff0c;所有人都急着问&#xff1a;“这款商品还有库存吗&#xff1f;” 可怜的服务员&#xff08;My…...

【鸿蒙】HarmonyOS NEXT星河入门到实战6-组件化开发-样式结构重用常见组件

目录 1、Swiper轮播组件 1.1 Swiper基本用法 1.2 Swiper的常见属性 1.3 Swiper的样式自定义 1.3.1 基本语法 1.3.2 案例小米有品 2、样式&结构重用 2.1 Extend:扩展组件(样式、事件) 2.2 Styles:抽取通用属性、事件 2.3 Builder:自定义构建函数(结构、样式、事…...

网络安全学习(五)Burpsuite

经过测试&#xff0c;发现BP需要指定的JAVA才能安装。 需要的软件已经放在我的阿里云盘。 &#xff08;一&#xff09;需要下载Java SE 17.0.12(LTS) Java Downloads | Oracle 1.2023版Burp Suite 完美的运行脚本的环境是Java17 2.Java8不支持 看一下是否安装成功&#xff0c…...

多版本node管理工具nvm

什么是nvm&#xff1f; 在项目开发过程中&#xff0c;使用到vue框架技术&#xff0c;需要安装node下载项目依赖&#xff0c;但经常会遇到node版本不匹配而导致无法正常下载&#xff0c;重新安装node却又很麻烦。为解决以上问题&#xff0c;nvm&#xff1a;一款node的版本管理工…...

如何扫描试卷去除笔迹?4种方法还原整洁试卷

如何扫描试卷去除笔迹&#xff1f;扫描试卷去除笔迹&#xff0c;作为现代学习管理与评估的革新手段&#xff0c;不仅显著提升了试卷的整洁美观度&#xff0c;更在环保和资源再利用层面发挥了积极作用。它使得试卷的保存、分享与复习变得更加便捷高效&#xff0c;减少了纸质资源…...

介绍⼀下泛型擦除

1.是什么 泛型擦除&#xff08;Type Erasure&#xff09;是Java泛型实现中的一个重要概念。Java的泛型是通过类型擦除来实现的&#xff0c;这意味着在运行时&#xff0c;泛型信息&#xff08;即类型参数的具体类型&#xff09;是不可用的。编译器在编译时会对泛型代码进行擦除处…...

从底层原理上理解ClickHouse 中的 Distributed 引擎

ClickHouse 的 Distributed 引擎 是实现大规模分布式查询和高可用性的关键技术之一&#xff0c;它允许集群中的多个节点协同工作&#xff0c;提供横向扩展能力和负载均衡机制。在底层&#xff0c;Distributed 引擎通过一系列的机制和策略&#xff0c;确保数据的分布、查询的并行…...

社区志愿者服务系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;志愿者管理&#xff0c;社区管理&#xff0c;活动类型管理&#xff0c;志愿者活动管理&#xff0c;活动报名管理&#xff0c;活动签到管理&#xff0c;证书信息管理&#xff0c;系统管理 微信端账号功…...

echarts map地图动态下钻,自定义标注,自定义tooltip弹窗【完整demo版本】

在数据可视化中&#xff0c;地图是很重要的一个环节&#xff0c;很多时候需要展现的不仅是国家地图&#xff0c;还需要能从国家进入到省市。这个逐级进入的过程就是我们今天说的地图下钻。 地图下钻看起来很屌、很高大上&#xff0c;但是仔细琢磨一下&#xff0c;技术实现上真的…...

Python热频随机森林分类器算法模型模拟

&#x1f3af;要点 研究发射测量斜率和时滞热频率表征&#xff0c;使用外推法计算三维磁场并定性比较使用基于焓的热演化环模型模拟每条线的热力学响应&#xff0c;测试低频、中频和高频热场景使用光学薄、高温、低密度等离子体的单位体积辐射功率或发射率公式等建模计算使用直…...

C++11新增特性:lambda表达式、function包装器、bind绑定

一、lambda表达式 1&#xff09;、为啥需要引入lambda&#xff1f; 在c98中&#xff0c;我们使用sort对一段自定义类型进行排序的时候&#xff0c;每次都需要传一个仿函数&#xff0c;即手写一个完整的类。甚至有时需要同时实现排升序和降序&#xff0c;就需要各自手写一个类&…...

动态主题模型DTM(Dynamic topic model)简介及python代码

文章目录 DTM模型简介DTM实现1:gensim.models.ldaseqmodel包DTM实现2:gensim.models.wrappers.dtmmodel.DtmModel包DTM模型简介 DTM模型(Dynamic Topic Model)是一种用于文本数据分析的概率模型,主要用于发现文本数据背后的主题结构和主题的演化过程。DTM模型是LDA模型的…...

GDPU MySQL数据库 天码行空1 数据库的创建和基本操作

&#x1f496; 必看 MySQL 5.7默认的 innodb 存储引擎Windows10 和 Centos7 一、实验目的 1&#xff0e;熟知机房用机安全规则。 2&#xff0e;通过上机操作&#xff0c;加深对数据库系统理论知识的理解&#xff1b;通过使用具体的DBMS&#xff0c;了解一种实际的数据库管理系…...

《告别卡顿,一键卸载!IObit Uninstaller 13 免费版让电脑重获新生》

随着电脑使用时间的增长&#xff0c;各种软件的安装和卸载&#xff0c;难免会让电脑变得臃肿不堪&#xff0c;运行速度大不如前。你是否也有过这样的烦恼&#xff1f;别担心&#xff0c;IObit Uninstaller 13 免费版来帮你解决这个问题&#xff01; IObit Uninstaller 13 是一…...

无机布防火卷帘门报价透明,包工包料,一次说清所有费用

很多客户在选购无机布防火卷帘门时&#xff0c;最关心实际成交价格&#xff0c;也担心报价不清晰&#xff0c;后期产生各类额外支出。行业内产品定价参差不齐&#xff0c;选材做工不同&#xff0c;最终价位自然存在差距&#xff0c;挑选时不能只看表面低价。 &#x1f449; 点击…...

多自由度冗余空间机械臂位姿一体化规划与控制【附代码】

✨ 长期致力于空间机械臂、对偶四元数、位姿一体化、路径规划、跟踪控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;基于对偶四元数的冗余机械臂运…...

Allegro等长设置翻车实录:拓扑模板法的3个坑与手工PinPair的救赎

Allegro等长设计避坑指南&#xff1a;从拓扑模板到精准PinPair的实战演进在高速PCB设计中&#xff0c;等长匹配如同精密钟表里的齿轮啮合&#xff0c;差之毫厘便可能导致整个系统时序崩塌。当设计从简单的点对点结构升级到多负载复杂拓扑时&#xff0c;Allegro用户常陷入两种典…...

Unity安卓构建72小时实战指南:从零到真机运行

1. 这不是“又一本Unity教程”&#xff0c;而是我带三个新人从零上线第一款安卓游戏的真实路径你点开这个标题&#xff0c;大概率正站在两个路口之间&#xff1a;一边是满屏“30天速成Unity”“零基础做爆款”的短视频封面&#xff0c;一边是你刚下载完Unity Hub、卡在Android …...

Onekey终极指南:如何5分钟快速获取Steam游戏清单的免费神器

Onekey终极指南&#xff1a;如何5分钟快速获取Steam游戏清单的免费神器 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 还在为复杂的Steam游戏清单下载而头疼吗&#xff1f;想要备份游戏资源却不…...

警惕!AI正在悄悄重构全球攻防格局

警惕&#xff01;AI 正在悄悄重构全球攻防格局 热点聚焦 AI重构网络安全&#xff1a;全球巨头加速布局 2026年5月&#xff0c;全球网络安全领域迎来重大变革&#xff0c;AI技术正在重塑攻防格局。OpenAI发布专为网络安全防御打造的集成化AI平台Daybreak&#xff0c;将安全防…...

3步解锁网易云音乐NCM加密:让音乐真正属于你

3步解锁网易云音乐NCM加密&#xff1a;让音乐真正属于你 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为下载的网易云音乐只能在特定客户端播放而烦恼吗&#xff1f;当你精心收藏的歌曲被NCM格式"锁"在单一平台时&a…...

Owl-Alpha 新手快速上手指南

在处理大规模数据或构建高性能应用时&#xff0c;我们常常会遇到一个棘手的问题&#xff1a;如何在不阻塞主线程的情况下&#xff0c;高效地执行耗时任务&#xff1f;无论是处理图像、解析大型文件&#xff0c;还是进行复杂的数学运算&#xff0c;传统的单线程模式往往会让界面…...

轻量化部署,异地机房快速接入,多机房管理不用再大动干戈

随着业务拓展&#xff0c;不少企业、单位陆续建起异地分部机房、多区域节点机房。传统资产管理系统部署复杂、对接困难&#xff0c;异地机房接入成本高、周期长&#xff0c;改造繁琐&#xff0c;让很多运维团队望而却步&#xff0c;只能继续沿用分散人工管理&#xff0c;资产混…...

Python UiAutomation实战:从网页数据抓取到桌面应用,一个库打通数据采集全链路

Python UiAutomation实战&#xff1a;打通数据采集全链路的智能解决方案 在数据驱动的商业环境中&#xff0c;企业常常面临跨平台数据采集的挑战——财务系统里的交易记录需要与网站后台的报表进行交叉分析&#xff0c;销售数据要从桌面软件导出后上传到云端处理系统。传统的人…...