news 2026/2/27 0:52:31

bugku ——各种绕过哟

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bugku ——各种绕过哟

启动靶场读取源码

<?php highlight_file('flag.php'); $_GET['id'] = urldecode($_GET['id']); $flag = 'flag{xxxxxxxxxxxxxxxxxx}'; if (isset($_GET['uname']) and isset($_POST['passwd'])) { if ($_GET['uname'] == $_POST['passwd']) print 'passwd can not be uname.'; else if (sha1($_GET['uname']) === sha1($_POST['passwd'])&($_GET['id']=='margin')) die('Flag: '.$flag); else print 'sorry!'; } ?>

分析一下代码:

必须传入GET参数uname,还要传入POST参数passwd;

uname(GET)和password(POST)不能相等,否则会返回“passwd can not be uname”

uname 的sha1加密结果和passwd的sha1的加密结果必须完全相等(===),同时GET参数id必须等于margin;

满足所有条件,就会输出flag。

漏洞就在于如果给sha1加密函数传入一个数组就会返回NULL

NULL === NULL是严格相等的。

例如 uname[]=123和 passwd[]=456

这个时候sha1(uname) === sha1(passwd)就成立了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 18:21:15

教程8:结构体的添加和使用-–-behaviac

原文 本文档描述的是3.6及以后版本&#xff0c;对于3.5及以前的老版本请参考分类“3.5”。对于结构体类型的使用&#xff0c;包括新增全新的结构体和扩展使用已有的结构体。对于新增的结构体&#xff0c;又包括编辑器是否自动生成该结构体的代码。 实际上&#xff0c;我们将新…

作者头像 李华
网站建设 2026/2/21 16:30:10

JavaScript闭包终极指南:从原理到实战(2025版)

JavaScript闭包终极指南&#xff1a;从原理到实战&#xff08;2025版&#xff09;闭包是JavaScript的核心特性&#xff0c;也是面试高频考点与开发易错点。很多开发者只停留在“函数嵌套函数”的表层认知&#xff0c;却不懂其底层原理与实战价值。本文从“内存模型→语法定义→…

作者头像 李华
网站建设 2026/2/15 18:15:30

LangChain 1.0智能体核心组件全解析:从架构到实战

在人工智能飞速发展的今天&#xff0c;单纯的语言模型已经无法满足复杂任务的需求。就像一个聪明的大脑如果没有手脚&#xff0c;也难以完成实际工作。LangChain 1.0的智能体&#xff08;Agent&#xff09;正是为了解决这一问题&#xff0c;将语言模型与工具、中间件、记忆等组…

作者头像 李华
网站建设 2026/2/24 9:12:14

快速排序的理解与实践(c语言实现)

快速排序的理解与实践 排序是计算机程序中常见的操作&#xff0c;而快速排序以其高效性成为许多程序员的优先选择。第一次接触快速排序时&#xff0c;我被它巧妙的分治思想所吸引——将一个大问题分解为若干小问题&#xff0c;逐个解决后再合并结果。这种思维方式不仅适用于排序…

作者头像 李华
网站建设 2026/2/10 0:15:03

Product Hunt 每日热榜 | 2025-12-14

1. PlanEat AI 标语&#xff1a;人工智能将你的健康目标变成一个为期7天的菜单和购物清单。 介绍&#xff1a;大多数应用程序给你提供一堆食谱&#xff0c;而聊天机器人则让你淹没在文字中。PlanEat AI 将你的健康数据和饮食规则整理成一个可行的每周计划和分类购物清单&…

作者头像 李华