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

相关推荐
AI+程序员在路上12 小时前
网桥及IP转发在嵌入式linux eth0与wlan0连接使用方法
linux·tcp/ip·php
微爱帮监所写信寄信16 小时前
微爱帮监狱寄信写信系统后台PHP框架优化实战手册
android·开发语言·人工智能·网络协议·微信·https·php
白帽子黑客罗哥17 小时前
网络安全防护技术与实战策略:从基础防御到前沿应对
安全·web安全·php
快点好好学习吧17 小时前
PHP程序员到底为什么要学习正则表达式?使用场景是什么?底层原理是什么?
学习·正则表达式·php
Smartdaili China18 小时前
如何在桌面和移动设备上修复YouTube错误400
开发语言·php·error·youtube·移动·住宅ip·错误400
yyf1989052519 小时前
用PHP实现论坛功能
php
漏洞文库-Web安全19 小时前
强网杯 2024 web pyblockly 单题wp
安全·web安全·网络安全·ctf
毕设源码-赖学姐20 小时前
【开题答辩全过程】以 基于PHP的国学诗词网站与推荐系统的设计与实现为例,包含答辩的问题和答案
开发语言·php
蓝之白20 小时前
MISC8-Linux2
ctf·misc
oMcLin21 小时前
如何在 Ubuntu 24.04 上安装 LAMP 堆栈(包括 PHP 8.3 和 MariaDB 11)
ubuntu·php·mariadb