攻防世界13-simple_php

13-simple_php

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完成操作

相关推荐
取码网4 小时前
帝国CMS作文网题目文学文章wap+pc自适应响应式模板PHP网站源码
php
arron88995 小时前
RK3588 Ubuntu 22.04 静态 IP 真实配置文件位置 + 最稳修改方法
tcp/ip·ubuntu·php
蒲公英eric10 小时前
攻防世界 misc题GFSJ0403-【intoU】
ctf·misc·攻防世界·音频题
温天仁10 小时前
西门子PLC编程实践教程:工控工程案例学习
开发语言·学习·自动化·php
小草cys13 小时前
review202604032342
开发语言·php
桌面运维家14 小时前
交换机环路排查:STP配置实战与网络故障精确定位
开发语言·php
广州灵眸科技有限公司14 小时前
瑞芯微(EASY EAI)RV1126B 人脸98关键点算法识别
开发语言·科技·嵌入式硬件·物联网·算法·php
Figo_Cheung15 小时前
赛博疯态(Cyber-Madness)研究报告——基于人机交互中的情感共鸣、递归指涉与拟人化投射现象分析
开发语言·php·人机交互
亚马逊云开发者15 小时前
用 Serverless 搭 IoT 设备异常检测:Lambda + Step Functions + DynamoDB 分钟级告警实战
物联网·serverless·php
TO_WebNow15 小时前
tp5部署宝塔遇到的问题
android·ide·php·android studio