攻防世界13-simple_php

简介: 攻防世界13-simple_php

13-simple_php

<?php
show_source(*__FILE__*);//高亮文件
include("config.php");//文件包含在内
$a=@$_GET['a'];//获得a
$b=@$_GET['b'];//获得b
if($a==0 and $a){  //判断a是否满足条件
    echo $flag1;   //满足就输出flag1
}
if(is_numeric($b)){  //判断b的条件,b是不是数字
    exit();          //b是数字就退出
}
if($b>1234){          //判断b是不是大于1234
    echo $flag2;      //符合条件才能输出flag2
}
?>


解题-代码审计解释

明显的代码审计,代码包含了config.php的文件,想必 密码就在其中,我们需要输入a,b的值.


首先,a需要既等于0又需要$a为真才能输出flag


这时候这需要引入新的知识:(1)$a输入布尔值true,非空数组,非空字符串,非零数字则可使$a判断为真;(2)当逻辑运算符“==”进行判断时,左边的若为字符串(第一个字符不为数字)则会自动转化为数字0,同理左边是数组,则转化为0


所以要满足条件必须让$a!=空值,且不能为数字,同时满足==左边转化后为0


所以$a可以=“asjcn”(任意一个字符串(第一个字符不为数字)) 判断b是否为纯数字,如果b是纯数字就结束,最后是一个判断b是否大于1234,是就打印flag


a可以是abcd b不能是纯数字而且要大于1234(可以在数字后面加字母) 所以b可以=9999c 把a=abcd,b=9999c get进去


使用hackbar完成操作


相关文章
|
15天前
|
PHP
攻防世界---Web_php_include
攻防世界---Web_php_include
|
23天前
|
PHP
02-攻防世界PHP2
02-攻防世界PHP2
|
23天前
|
安全 Linux PHP
【攻防世界】php_rce (ThinkPHP5)
【攻防世界】php_rce (ThinkPHP5)
|
23天前
|
PHP
【攻防世界】easyphp(PHP代码审计)
【攻防世界】easyphp(PHP代码审计)
|
23天前
|
安全 PHP
【攻防世界】file_include (PHP伪协议+过滤器)
【攻防世界】file_include (PHP伪协议+过滤器)
|
6月前
|
SQL 安全 PHP
攻防世界-Web_php_include
攻防世界-Web_php_include
27 0
|
安全 Unix Linux
[CTF/网络安全] 攻防世界 php_rce 解题详析
PHP REC ThinkPHP V5漏洞Payload 姿势 总结
330 0
|
存储 网络安全 PHP
[CTF/网络安全]攻防世界unserialize3解题详析及php序列化反序列化实例讲解
序列化是指将数据结构或对象转换为可传输或可存储的格式的过程。这通常需要将数据转换为字节流或其他形式的编码格式,以便能够在不同的系统和应用程序之间进行传输或存储。
247 0
|
网络安全 PHP
[CTF/网络安全] 攻防世界 simple_php 解题详析
PHP弱语言特性 姿势 参数a限制绕过 参数b限制绕过
180 0
|
前端开发 网络安全 PHP
[CTF/网络安全] 攻防世界 PHP2 解题详析
[CTF/网络安全] 攻防世界 PHP2 解题详析 index.php .phps扩展名
134 0