当前位置:网站首页>[ACTF2020 新生赛]BackupFile
[ACTF2020 新生赛]BackupFile
2022-08-07 18:26:00 【努力做大佬m0_68074153】
1.源码备份
这题我找了半天也没找到入口啊,看到题目是备份,就输了一下index.php.bak。结果真下载了源码。那么进行代码审计。
<?php
include_once "flag.php";
if(isset($_GET['key'])) {
$key = $_GET['key'];
if(!is_numeric($key)) {
exit("Just num!");
}
$key = intval($key);
$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
if($key == $str) {
echo $flag;
}
}
else {
echo "Try to find out source file!";
}
可以看到,包含了flag.php文件并且传入了参数key并且key要是数字不能是字母,并且intval对key进行了取整,当key==str时输出flag,这里就涉及到了php的弱比较。
2.php弱比较
=== 会同时比较字符串的值和类型
== 会先将字符串换成相同类型,再作比较,属于弱类型比较
在PHP中遇到数字与字符串进行松散比较()时,会将字符串中前几位是数字且数字后面不是”.",“e"或"E"的子串转化为数字,与数字进行比较,如果相同则返回为true,不同返回为false,后面的所有字符串直接截断扔掉。
通过这个特点:
<?php
var_dump(1=="1");
var_dump(123=='123asd');
var_dump("1"==true);
var_dump("0"==false);
var_dump(-1 == true);
var_dump(true=="php");
var_dump(0==NULL);
var_dump(0=="php");
var_dump(0=="");
var_dump(NULL==false);
var_dump(""==false);
var_dump(array()==false);
var_dump(array()==NULL);
?>
以上的运行结果都为真
这样我们就知道了123==‘123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3’的结果为真,我们只要传递参数key=123,即可满足条件得到flag。
之前还有一题也用到了这个特点,但是与这题有一点点不同,有兴趣可以看一下ctf.show_web5。
边栏推荐
猜你喜欢

Free translation software - batch automatic one-click translation

【板栗糖GIS】DOS—如何在当前文件夹内部批量建子文件夹

After love or edge after executives adjustment: life ZhuangHai Wang Jing as CFO for President

ADS127L11 Acquisition Board System Noise Evaluation

免费翻译软件-批量自动一键翻译

从0到1理解c函数

网页翻译插件

Telnet协议抓包-工具Wireshark

word translation - batch word translation

SAS Planet download satellite map
随机推荐
tiup cluster reload
tiup cluster restart
Three ways to splicing int type variables and String type variables in dart
Array Signal Processing Knowledge Point Collection
In-depth explanation of edge cloud | 6. Monitoring and telemetry
tiup cluster patch
从0到1理解c函数
模块九(电商秒杀系统)
tiup cluster rename
[2022 牛客多校4 C] Easy Counting Problem (生成函数 NTT)
ResNet Architecture Analysis
#C语言大小写转换#
ADS127L11采集板系统噪声评估
05-树8 File Transfer(并查集)
tiup cluster patch
The million-dollar annual salary architect talks: mastering this [6+2] learning route, it is not difficult to enter BAT and get a monthly salary of 40k
Changan chain fact example contract stateddb storage data original text with cmecv1.0 reason analysis
SAS Planet下载卫星地图
Graduation Summary
636. 函数的独占时间 : 简单栈运用模拟题