• SSRF漏洞


    Server-Side Request Forgery:服务器端请求伪造

    目标:网站的内部系统

    形成的原因

    攻击者构造形成由服务器端发起请求的译者安全漏洞。

    由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。

    发现漏洞

    黑盒:URL分享网页内容,转码,在线翻译,图片加载下载,图片文章收藏功能,未公开的API

    白盒:从URL关键字找:share,wap,url,src,source.target.u,3g,display,image,domain

    用途

    1、获取banner信息

    2、攻击运行在内网或本地的应用程序,比如溢出

    3、对内网WEB应用指纹识别

    4、攻击内外网WEB应用

    5、利用file协议读取本地文件

    常用攻击函数

    curl_init 初始化

    file_get_contents   php内置函数,以字符串的形式获取指定文件的内容。使用该函数可以读取本地的文件、远程文件和 HTTP 请求的响应等内容

    fsockopen      php内置函数,建立基于TCP和UDP协议的客户端和服务器之间的连接通道。该函数通过Socket API实现网络通信,支持多种应用层协议,如HTTP、SMTP、FTP等。$fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30)是连接百度

    防御方法

    1、地址白名单,设定只允许访问的列表

    2、禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// ,dict:// 等引起的问题

    3、过滤私有IP地址段10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,localhost私有地址,IPV6地址

    4、内容识别,识别的关键字没有就报错

    绕过方法

    更改IP为8进制,16进制,10进制

    利用接卸URL把ip写到网址后面

    演示实验

    使用pikachu网站,

    curl_init演示,$URL变量没有过滤,存在SSRF漏洞。

    可以支付协议FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP

     
    

    file_get_contents示例,$filename变量没有过滤,存在SSRF漏洞。

    可以读本地,

    验证有没有漏洞

    读PHP文件

    redis漏洞获取未授权访问

    redis是存放日志的,端口默认是6379,默认的是不能远程连接,

    在bp测试器设置字典,把端口都改一下,如果包的大小和其他不一样说明有这个端口开放。

    用MSF打内网,SSRF来攻击redis反弹shell

  • 相关阅读:
    猿创征文|【概率论基础进阶】随机事件和概率-概率及概率公式
    【ICCV】PointDC,基于深度聚类的无监督3D场景语义分割,FaceChain团队联合出品
    星系炸弹(蓝桥杯真题填空题)
    算法5: LeetCode_单链表_两数相加
    #define的使用
    刷爆力扣之至少是其它数字两倍的最大数
    CAD如何绘制六连环图案?CAD使用圆,椭圆,直线综合练习
    linux中 ~ / . ..分别表示什么
    python 在pycharm中使用venv虚拟环境 + 激活与去激活在干什么?+如何不激活环境使用pip
    Vue2和Vue3的emit、props、watch等知识点对比
  • 原文地址:https://blog.csdn.net/arissa666/article/details/133244113