关于攻防世界平台上的"simple_php"题目,以下是根据提供的信息整理出的详细解答步骤: 1. 题目概述 "simple_php"是一个位于攻防世界平台上的CTF题目,属于Web安全类题目,难度为1。题目要求通过分析PHP源代码,找出并利用其中的漏洞或特性,以获取flag。 2. 源码分析 以下是"simple_php"题目的PHP源代码: php <?
题目标题“simple_php”,简单的php。 题目描述:小宁听说php是最好的语言(我不同意!),于是她简单学习之后写了几行php代码。 根据标题和描述得知这题考察php语言。 进入在线环境: 来分析这段php代码,首先创建了两个GET变量a和b,然后进行了三次判断, 第一次判断,同时满足a=0和a为真才能显示出flag1这个变量。 ...
由于它们的值相等,所以输出结果为"相等"。这就是弱类型比较的典型案例。 一、simple_php 1.题目 2.答题 <?php show_source(__FILE__);include("config.php");$a=@$_GET['a'];$b=@$_GET['b'];if($a==0and$a){echo$flag1;}if(is_numeric($b)){exit();}if($b>1234){echo$flag2;...
分析一波 (1)这里包含了config.php (2)url接收参数a和b的值 (3)如果$a等于0 and a , 输出 a,输出a,输出flag1 (4)如果b 是数字或者字符串那么退出当前脚本 ( 5 ) 如果 b是数字或者字符串那么退出当前脚本 (5)如果b是数字或者字符串那么退出当前脚本(5)如果b>1234,输出f l a g 2 所以 , 这里我...
php中有两种比较符号 === 会同时比较字符串的值和类型 == 会先将字符串换成相同类型,再作比较,属于弱类型比较 也就是说$a和0的数据类型不相等,但最后的结果是0就可以,那么a=不是数字开头的任何玩意都能得到flag1 接下来就是flag2了 用你那双明亮的眼睛来看看有什么函数(如果你眼瞎就不用看了)if()函数...
simple_php 题目描述 进入场景后,可以看见几行PHP代码 以GET方式获得两个参数a和b,如果a和b满足一定条件,则打印flag1和flag2,猜测将flag1和flag2拼接就能够得到完整flag is_numeric() 函数会判断如果是数字和数字字符串则返回 TRUE,否则返回 FALSE。所以可以知道如果要正确输出flag2,则前面的数字必须大于1234...
CTF攻防世界web_simple_php20201010 ] windows [工具] firefox [步骤]1.打开页面,进行代码审计,发现同时满足$a==0和 $a时,显示flag1。 2.php中的弱类型比较会使’abc’ ==0为真,所以输入a=abc时,可得到flag1,如图所示。(abc可换成任意字符)。 3.is_numeric() 函数会判断如果是数字和数字字符串则返回...
简介:PHP弱语言特性姿势参数a限制绕过参数b限制绕过 [CTF/网络安全] 攻防世界 simple_php 解题详析 代码解读 PHP弱语言特性 姿势 参数a限制绕过 参数b限制绕过 总结 题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 代码解读 $a=@$_GET['a']; 从HTTP GET请求参数中获取一个名为a的...
我们在对变量的操作中经常需要用到比较,php的比较操作包含松散和严格比较。 松散比较:使用两个等号 == 比较,只比较值,不比较类型。 严格比较:用三个等号 === 比较,除了比较值,也比较类型。 在PHP中,进行松散比较时,如果是数字与字符串比较,会将字符串中前几位是数字且数字后面不是".","e"或"E"的子串转...
一、simple_js 解题方法: 1、理解php代码 过程: 输入框中输入密码后 Ctrl+U查看源码 JS function dechiffre(pass_enc){ var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"; var tab = pass_enc.split(','); var tab2 = pass.split(',');var i,j,k...