SSRF原理与应用

本文详细介绍了SSRF(Server-SideRequestForgery)攻击的概念、原理,涉及php示例,常见场景如社会化分享和在线服务。还探讨了如何通过爬取、工具探测SSRF漏洞以及一系列防御措施。
摘要由CSDN通过智能技术生成

SSRF

SSRF是什么

通过参数使服务器发起未经授权的请求到攻击者指定的目标。

攻击者通过构造特定的请求,欺骗服务器去访问攻击者控制的恶意站点、内部系统或其他受信任的资源,从而可能导致安全漏洞和危险行为。

<?php
function curl($url){  
    $ch = curl_init();
    // 设置URL和相应的选项
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0); // 启用时会将头文件的信息作为数据流输出  
    // 抓取URL并把它传递给浏览器  
    curl_exec($ch);
    //关闭cURL资源,并且释放系统资源  
    curl_close($ch);
}

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

php函数可能引起SSRF

curl_exec() 执行cURL会话
file_get_content()  将整个文件读入到一个字符串
fsockopen()  打开一个网络连接


curl其他协议
file:查看文件   curl-v 'file:///etc/passwd'
dict:探测端口    ip?url=dict:127.0.0.1:3306     
gopher:反弹shell 

?file=php://filter/read=convert.base64-encode/resource=example.php

以下是SSRF攻击的一般原理:

  1. 利用用户输入:攻击者通常利用应用程序中存在的用户输入点,比如URL参数、表单提交等,来构造恶意请求。
  2. 构造恶意请求:攻击者通过在用户输入中注入恶意URL,构造包含恶意目标地址的请求,使服务器执行这个恶意请求。
  3. 欺骗服务器:服务器在处理恶意请求时,可能会信任并执行请求中的URL,从而导致服务器发起未经授权的请求到攻击者指定的目标。
  4. 潜在危害:SSRF攻击可能导致访问内部系统、绕过防火墙、执行远程命令、窃取敏感信息等危险行为,对系统和数据造成严重风险。

SSRF常见场景

社会化分享功能

转码功能

在线翻译

图片加载,下载功能

图片,文章收藏功能

网站采集

如何发现与探测SSRF漏洞

1.爬取地址

2.查看是否请求了其他资源

Google语法:share,wap,url,link,src,source

PHP相关函数

工具

SSRF-Testing
Gopherus
SSRFMap

SSRF防御

1.禁用协议(只是用http,https协议)

2.限制请求端口

3.设置URL白名单

4.过滤返回信息

5.统一错误信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值