免责声明
蟹堡安全团队的技术文章仅供参考,任何个人和组织在使用网络时应当遵守相关法律法规,不得利用网络从事危害国家安全、荣誉和利益的活动。未经授权,请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,蟹堡安全团队及文章作者不承担任何责任。本文所提供的工具仅用于学习,禁止用于其他用途!
01
代码审计
include "flag.php";
highlight_file(__FILE__);
if (isset($_GET['0'])){
$arr[$_GET['0']]=1;
if ($arr[]=1){
die($flag);
}
else{
die("nonono!");
}
}
逐行分析:
isset($_GET['0'])
$_GET请求参数中是否有0这个参数,如果设置了,就会进入if语句块里面
$arr[$_GET['0']]=1;
将$arr数组中下标为$_GET请求参数中0参数对应的参数值的键对应的数值
赋值为1
if ($arr[]=1)
此处应该是编写题目的作者出现的问题,if条件判断内容为赋值语句,
条件恒成立,自动进入if语句块里面
所以经过上面的分析可知,只需要在GET请求参数中加入查询字符串0就可以获取flag
原文始发于微信公众号(蟹堡安全团队):[ctfshow]新手必刷_菜狗杯-无一幸免
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论