攻防世界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完成操作

相关推荐
OpenAnolis小助手4 小时前
PHP 两个严重漏洞曝光,龙蜥社区 24 小时完成 3 版本修复
开发语言·操作系统·php·龙蜥社区
云边云科技_云网融合5 小时前
连锁门店组网怎么做?SD-WAN 多分支组网的架构选型、部署与成本结构
服务器·数据库·php
SHENGWEI胜为9 小时前
局域网出现 IP 地址冲突怎么办?如何从 ARP 表定位故障设备
网络协议·tcp/ip·php
hengdonghui11 小时前
Writeup 4 0xGame 2021 - robot
web·ctf·信息泄露·robots.txt
4SAPI11 小时前
多模态 AI 应用统一接入网关生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
大数据·人工智能·架构·php·1024程序员节
4SAPI12 小时前
营销内容生成大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
数据库·人工智能·架构·php
迪康Defender13 小时前
PHP 高危漏洞应急分析:从风险原理到端点侧纵深防护
运维·开发语言·安全·自动化·php·运维开发·远程工作
躺柒14 小时前
读数据安全架构设计与实践16安全架构案例(上)
安全·php·零信任·安全架构·防火墙·无边界
fengci.15 小时前
CTF2刷题记录(困难部分)
android·开发语言·前端·学习·php
vipxieliang15 小时前
PHP OPcache 原理与配置:字节码缓存、参数调优、失效机制与性能影响
php