zoukankan      html  css  js  c++  java
  • CTFHUB-技能树-Web-SSRF(上)

    SSRF(服务端请求伪造)
    形成原因:由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发送请求,并返回对该目标地址请求的数据
    在PHP中:某些函数的不当使用会导致SSRF:如file_get_conntents()、fsockopen()、curl_exec()
    file_get_conntents():把文件写入字符串,当url是内网文件时,会先把这个文件的内容读出来再写入,导致了文件读取
    fsockopen():实现获取用户指定url的数据(文件或者html),这个函数会使用socket跟服务器建立tcp连接,传输原始数据
    curl_exec:通过file、dict、gopher三个协议来进行渗透
    危害:获取web应用可达服务器服务的banner信息,以及收集内网web应用的指纹识别,根据这些信息再进行进一步的渗透
    攻击运行在内网的系统或应用程序,获取内网系统弱口令进行内网漫游,对有漏洞的内网web应用实施攻击获取webshell
    利用由脆弱性的组件结合ftp://、file://、dict://等协议实施攻击
    漏洞发生点:
    通过url地址分享网页内容
    文件处理、编码处理、转码等服务
    在线翻译
    通过url地址加载与下载图片
    图片、文章收藏功能
    未公开的api实现及其他调用url的功能
    网站邮箱收取其他邮箱邮件功能
    从url关键字寻找:share,wap,url,link,src,source,target,u,3g,display,sourceURL,imageURL,domain等

    这一部分关于

    内网访问

    伪协议读取文件

    端口扫描

    内网访问
    根据提示

    构造:

    得到flag

    伪协议读取文件
    提示

    file伪协议上一篇讲过了用法,此题运用file协议读取
    构造:

    端口扫描
    提示

    这题运用了dict协议
    dict协议运用:
    curl:一种命令行工具,作用是发出网络请求,获取数据
    curl -v ‘dict://ip:端口’:显示HTTP通信的整个过程,包括端口连接和HTTP request头信息
    dict协议是一个字典服务器协议,通常用于让客户端使用过程中能够访问更多的字典源,在SSRF中如果可以使用此协议,就可以轻易获取目标服务器端口上运行的服务版本等信息(远程利用)

    用bp的intruder模块进行测试


    ③start attack
    扫描出8237端口,注意这里每个人测出来的端口会不同,最后构造payload访问得到flag

  • 相关阅读:
    【集合】元组元素命名
    普通数组-队列
    稀疏数组
    Java基础 07 API概述 Scanner类 Random类 ArrayList类
    Java基础 06 类与对象、封装、构造方法
    Java基础 05 数组
    Java基础 04 IDEA、方法
    Java基础 04 [附] IDEA 的安装、配置与使用
    Java基础 03 流程控制语句
    Java基础 02 数据类型转换、运算符、方法入门
  • 原文地址:https://www.cnblogs.com/Web-Fresher/p/13723103.html
Copyright © 2011-2022 走看看