ssrf漏洞学习笔记

常见触发点

  • web

    • 常见功能
      • 图片加载
        • 头像
        • 以图搜图
        • 图片变化
        • Markdown显示图片
      • 下载服务
        • 百度云离线下载
      • 预览内容
        • 分享网站
        • 收藏
        • 网址预览
      • 代理服务
      • 文件包含
        • 远程文件包含
          • file_get_contents($file)
          • 开启allow_url_open
      • 多媒体加载
      • api demo
      • 站长工具
      • 在线编程
      • 应用、中间件自带实例文件
      • RSS
    • url中的参数名,利用谷歌搜索,找相关漏洞。或加入fuzz字典
      • share
      • wap
      • url
      • link
      • src
      • source
      • target
      • u
      • 3g
      • display
      • sourceURL
      • imageURL
      • domain
  • 格式处理

  • 数据库

  • 广义SSRF

验证

  • 排除法

防御

  • 限制点
    • 输入合法性验证
    • 输出结果校验
      • 响应格式校验
    • 网络限制
      • 防火墙
  • 限制类型
    • 后缀限制
    • 正则
    • 协议
    • hostname
    • 黑名单
    • 域名
    • 端口硬编码

绕过

  • 使用其它协议

    • file://
    • gopher://
  • http://www.baidu.com@10.10.10.10

  • 整数型:115.239.210.26 = 16373751032

  • 十六进制型:127.0.0.1 = 0x7F000001

  • $f=fscokopen($host,80)

    • host=127.0.0.1:11211

利用流程

  • 扫描内网 fuzz ip/port
  • 找敏感信息 例如敏感端口:redis 6379

其它

操作了1下ssrf打redis,这个算比较经典的利用之一。