SSRF笔记整理

  • 服务器请求伪造

    • 原理简述
      • A通过指使B对C进行攻击
      • A无法直接访问C;B可以直接访问C;B又很听A的话
    • 漏洞成因
      • 服务器可以获取另一台服务器应用的数据;并且对访问的地址没有过滤和限制
      • 简单来说就是一台服务器拥有访问其他任意IP资源的权利
    • 判断点
      • 一个网站通过url就可以访问或者下载其他网站的资源
      • url获取网页文本;加载url获取图片下载;识别url获取资源等
      • 分享、图片加载、翻译网站、
  • PHP中可能存在ssrf漏洞的函数

    • file_get_content()
      • 把文件读到一个字符串中
    • fsockopen()
    • fopen()
    • readfile()
    • curl()
    • curl_exec()
      • 执行一个curl会话
      • curl支持很多协议,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP
  • 伪协议

    • file:// 获取文件内容
      • /etc/passwd 用户信息
      • /etc/hosts IP地址
      • /proc/net/arp 显示arp缓存表(探查主机)
      • /proc/net/fib_trie 路由表信息
    • dict:// 字典扫描端口信息
      • dict://192.168.1.5:80/info
    • ftp:// 扫描端口;很慢
      • ftp://192.168.1.5:80
    • http:// 目录扫描
      • http://192.168.1.5:8080/index.php
      • 通过bp抓包,字典爆破文件名
    • gopher://
      • 默认访问70端口
      • web访问时需要改成80端口
      • 第一个字符默认不识别;需要填充位_(随便设一个填充字符就行,主要用于区别)
      • 该协议可以指定url通过GET请求或POST请求访问数据
      • GET数据请求
        • gopher://192.168.232.125:80/_GET%20name.php%3fname=dabai%20HTTP/1.1%0d%0AHost:%20192.168.232.125%0d%0A
          • 以上示例是直接在浏览器中访问的poc
          • 如果通过抓包进行修改的话需要对后面的数据进行两次url编码
            • 因为要经过ssrf服务器和目标对象两层url解码
          • %20 空格
          • %3f 问号
          • %0d%0A 换行符
          • 发送GET请求需要保留头部信息
            • 路径:GET /name.php?name=dabai HTTP/1.1
            • 主机地址:Host: 192.168.232.125
            • 最后记得加上换行符%0d%0A;因为数据内容和头部之间有空白行
      • POST数据请求
        • gopher://192.168.232.125:80/_+下面url编码后的内容
        • 具体操作和GET请求一样;只是保留数据不同
        • 需要保留的字段
          • POST /name.php HTTP/1.1
          • Host: 192.168.232.125
          • Content-Type: application/json; charset=utf-8
            • 类型具体需要从bp抓包中看一下;这个不固定
          • Content-Length: 123
            • 这个数据长度需要和下面内容匹配
          • 空白行:%0d%0A
          • name=dabai
  • ssrf绕过的方法

    • (1)@          http://abc.com@127.0.0.1
    • (2)添加端口号      http://127.0.0.1:8080
    • (3)短地址        https://0x9.me/cuGfD
    • (4)可以指向任意ip的域名  xip.io
    • (5)ip地址转换成进制来访问 192.168.0.1=3232235521(十进制)
    • (6)非HTTP协议
    • (7)DNS Rebinding

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

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

相关文章

Python学习笔记--面向对象编程基础知识

本文摘自朱雷老师所著《Python工匠》一书第9章内容,因为很多内容,阅读后依然一知半解,特做笔记予以记录而进一步加强认知。 Python是一门面向对象的编程语言,它为面向对象编程提供了非常全面的支持。但和其他编程语言相比&#x…

酒店|酒店管理小程序|基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 &#xff0…

kettle通过severice_name连接oracle数据源踩坑

最近在研究kettle做数据抽取核对,按照官网安装kettle后无法连接oracle 坑1:kettle 连接oracle的数据库名指的是sidname 而非severicename,前期一直使用severicename 如下始终报错 注意区分下: SID:一个数据库可以有多个实例&…

力扣hot100 组合总和 回溯 剪枝 组合

Problem: 39. 组合总和 文章目录 思路复杂度&#x1f496; Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f496; Code class Solution{List<List<Integer>> res new ArrayList<>();int x;// 全局targetin…

[GN] DP学习笔记板子

文章目录 Bitset滚动数组多重背包区间DP树形dp状压dp模拟退火 Bitset 使用bitset需要引用<bitset>头文件。 其声明方法为: std::bitset<N>s; (N为s长度)常用函数&#xff1a; b.any() 判断b中是否存在值为1的二进制位 b.none() 判断b中是否不存在值为1的二…

webassembly003 TTS BARK.CPP-02-bark_tokenize_input(ctx, text);

bark_tokenize_input函数 bark是没有语言控制选项的&#xff0c;但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数&#xff0c;bark_tokenize_input函数对中文分词失效&#xff0c;也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_…

IP 层转发分组的过程

目录 IP 层转发分组的过程 1.1 基于终点的转发 1.2 最长前缀匹配 转发表中的 2 种特殊的路由 主机路由 (host route) 默认路由 (default route) 路由器分组转发算法 1.3 使用二叉线索查找转发表 IP 层转发分组的过程 1.1 基于终点的转发 分组在互联网中是逐跳转发的。…

Walrus 实用教程|Walrus + Gitlab,打通CI/CD 自动化交付!

Walrus file 是 Walrus 0.5 版本推出的新功能&#xff0c;用户可以通过一个非常简洁的 YAML 描述应用或基础设施资源的部署配置&#xff0c;然后通过 Walrus CLI 执行 walrus apply或在 Walrus UI 上进行import&#xff0c;将 Walrus file 提交给 Walrus server&#xff0c;由 …

AP5191 DC-DC宽电压LED降压恒流驱动器 摩托电动汽车驱动芯片

产品描述 AP5191是一款PWM工作模式,高效率、外围简 单、内置功率MOS管&#xff0c;适用于4.5-150V输入的高 精度降压LED恒流驱动芯片。输出功率150W&#xff0c; 电流6A。AP5191可实现线性调光和PWM调光&#xff0c;线性调 光脚有效电压范围0.55-2.6V. AP5191 工作频率可以通过…

visual studio2022专业版安装步骤

目录 一、Visual studio下载二、创建C#项目——Hello World三、专业版秘钥激活 一、Visual studio下载 首先进入下载官网 先下载2022专业版&#xff0c;等等后面还需要选环境 我勾选了以下几个和c#开发有关的&#xff0c;后面缺什么还可以再安装所有以少勾了问题也不大 然后…

c学习:sqlite3数据库操作

目录 获取sqlite3源码 c调用步骤 常用接口函数说明 例子 打开数据库&#xff0c;新建表&#xff0c;插入数据&#xff0c;查询数据&#xff0c;关闭数据库 查询数据需要在回调函数中获取 获取sqlite3源码 先下载c的sqlite3源码&#xff0c;https://www.sqlite.org/inde…

植物病害检测YOLOV8,OPENCV调用

【免费】植物病害检测&#xff0c;10种类型&#xff0c;YOLOV8训练&#xff0c;转换成ONNX&#xff0c;OPENCV调用资源-CSDN文库 植物病害检测&#xff0c;YOLOV8NANO&#xff0c;训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV的DNN调用&#xff0c;支持C,PYTH…

【译】在 Mac 上加速 PyTorch 训练

写在前面 为什么突然深度介入大模型领域了 因为最近在评估大模型用于行业应用&#xff0c;通过 OpenCompass 排行榜了解到了很多大模型&#xff0c;像文心一言是自己深度试用过的&#xff0c;趁着这次评估&#xff0c;也体验或者通过其他团队的介绍了解了通义千问、清华智谱、…

React16源码: React中NewContext的源码实现

NewContext 1 &#xff09;概述 新的 context API 是一个组件化的使用方式 它就跟写其他的组件一样&#xff0c;像写jsx&#xff0c;通过标签的这种方式来赋值一些props还有去给子节点去拿到这个 conntext 的属性 context的提供方和订阅方都是独立的 在什么地方想要用到这个 c…

《Numpy 简易速速上手小册》第5章:Numpy高效计算与广播(2024 最新版)

文章目录 5.1 向量化计算5.1.1 基础知识5.1.2 完整案例&#xff1a;股票数据分析5.1.3 拓展案例 1&#xff1a;多维数组运算5.1.4 拓展案例 2&#xff1a;复杂函数的向量化应用 5.2 广播机制5.2.1 基础知识5.2.2 完整案例&#xff1a;二维数据与一维数据运算5.2.3 拓展案例 1&a…

vxe-table表格合并行和虚拟滚动冲突

项目一直用的vxe-table 2.0版本&#xff0c;支持表格的虚拟滚动&#xff0c;最近要做表格合并行功能&#xff0c;虚拟滚动便失效了&#xff0c;强行虚拟滚动&#xff0c;合并行会有错行现象。 vxe-table2.0给出的解释是&#xff1a;合并行不能和虚拟滚动一起使用。 目前找到两种…

华为VRP系统简介

因为现在国内主流是华为、华三、锐捷的设备趋势&#xff0c;然后考的证书也是相关的&#xff0c;对于华为设备的一个了解也是需要的。 一、VRP概述 华为的VRP(通用路由平台)是华为公司数据通信产品的通用操作系统平台&#xff0c;作为华为公司从低端到核心的全系列路由器、以太…

个人建站前端篇(一)项目准备初始化以及远程仓库连接

云风的知识库 云风网前端重构&#xff0c;采用vue3.0vite antd框架&#xff0c;实现前后端分离&#xff0c;实现网站的SEO优化&#xff0c;实现网站的性能优化 vite创建vue项目以及前期准备 Vite 需要 Node.js 版本 18&#xff0c;20。然而&#xff0c;有些模板需要依赖更高…

java生成dll,并利用c语言使用libcurl调用http接口

本文可能需要使用的环境和工具&#xff1a; c/ c和GCC编译器 (Windows) Cygwin或MinGW 本文运行环境为windows10&#xff0c;使用MinGW-W64-builds-4.2.0 curl-8.5.0 libcurl 可以在官网 http://curl.haxx.se/ 获得。 配置MinGW 将mingw.rar解压到D:&#xff0c;修改系统…

Java面试题之 IO(四)

Java面试题之 IO&#xff08;四&#xff09; 文章目录 Java面试题之 IO&#xff08;四&#xff09;随机访问流 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 随机访问流 这里要介绍的随机访问流指的是支持随意跳转到文件的任意位置进行读写的 RandomAccessFile 。…