[ACTF2020 新生赛]BackupFile

[ACTF2020 新生赛]BackupFile#

应该是备份文件泄漏,扫一扫。

image-20220510101421206

image-20220510151637882

# 查看 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!";
}

php是弱类型语言,变量不需要声明数据类型,在php中的 ===== 完全是两种不同的比较方式。

<?php
# 数字和字符串比较
var_dump(123=='123'); //bool(true)
var_dump(123==='123'); //bool(false)
var_dump(123=='123ccccssssd341');  //bool(true)
var_dump(123==='123dasdsd');	//bool(false)

# 科学计数法(xey = x*10^y)
var_dump(100=='1e2');	//bool(true)
var_dump(100==='1e2');	//bool(false)
?>

image-20220510154139392

所以这里的参数提交只要可以相等就行了。

# payload
?key=123

image-20220510155032777

参考文章:

[phpweak](

作者:knsec

出处:https://www.cnblogs.com/knsec-cnblogs/p/16582246.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

备注:你可以在这里自定义其他内容,支持 HTML

posted @ 2022-08-13 10:38  knsec  阅读(37)  评论(0)    收藏  举报
相关博文:
阅读排行:
· dotnetty 新的篇章- 开源
· 设计模式:简单工厂、工厂方法与抽象工厂
· 用好 JUnit 5 的高级特性:提升单测效率和质量
· 【大数据高并发核心场景实战】 - 数据持久化之冷热分离
· DotTrace系列:1. 理解四大经典的诊断类型(上)
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示