XCTF攻防世界web新手练习—simple_php

题目

题目为simple_php,根据题目信息,判断是关于php代码审计的.

小宁听说的很对,PHP的最好的语言。

打开题目,得到一串php代码

<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
    echo $flag1;
}
if(is_numeric($b)){
    exit();
}
if($b>1234){
    echo $flag2;
}
?>

简单审计下代码,发现需要以get的方式传入两个参数a和b。

a参数的要求 a必须等于0且a为真

b参数的要求 b不能为数字且b大于1234

来看代码

if($a==0 and $a){
    echo $flag1;
}

因为php是弱类型语言,当不同类型的值进行==比较的时候会发生类型转换。

所以,只需要使a=0e1

下一段代码

if(is_numeric($b)){
    exit();
}
if($b>1234){
    echo $flag2;
}

get的b不能是数字,但又必须大于1234,这里可以用b=12345a绕过

结合一下

?a=0e1&b=12345a

得到flag

生成海报

陌涛

这个博主很懒,懒死了。

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

微信扫一扫,分享到朋友圈

XCTF攻防世界web新手练习—simple_php