issctf web1

标题issctf 中最简单的一个web题(耗费了我一个小时。。。。)

题目涉及知识点:
1.php 中的几个函数(等会列举)
2.php parse_str引起的变量覆盖漏洞
一、
我们要了解的php函数即方法
$_SERVER[‘REQUEST_URI’]
parse_url
parse_str
二、
由parse_str引起的变量覆盖漏洞
parse_str() 函数用于把查询字符串解析到变量中,如果没有array 参数,则由该函数设置的变量将覆盖已存在的同名变量。
ok
三、
接下来打开题目

<?php error_reporting(0); include("flag.php"); $hashed_key = 'ddbafb4eb89e218701472d3f6c087fdf7119dfdd560f9d1fcbe7482b0feea05a'; $parsed = parse_url($_SERVER['REQUEST_URI']); if(isset($parsed["query"])){ $query = $parsed["query"]; $parsed_query = parse_str($query); 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(" "); } echo $flag; } }else{ show_source(__FILE__); }?>

我们只需构造一个get传入
是action=auth
且将
hashed_key变量进行覆盖,传入你想传入的经过sha256后的值
最后传入key即可
样本
?action=auth&hashed_key=xxxxxxx&key=xxx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值