[ACTF2020 新生赛]BackupFile

原理

字符串和数字弱比较问题
代码审计
目录扫描

解题过程

进入靶场就让我们找source file,原代码也没其他东西了,只能扫目录了

python dirsearch.py -u 3c33c7f9-7306-4c4e-99a6-13b8ef0803b9.node4.buuoj.cn:81 --delay=3

扫出来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!"; }

可以看到这里用到is_numeric判断是否为数字,最后还用intval强转为数字,最后比较key和str的值,这里用到弱比较问题。
即字符串和数字进行==比较时,会将字符串强转为数字进行比较。所以我们key只需要传入123即可获得flag

payload:key=123

成功获取flag

其他类型的绕过
弱类型和强类型比较:https://blog.csdn.net/weixin_45349299/article/details/127983551
MD5相等绕过:https://blog.csdn.net/m0_64236521/article/details/128877434
strcmp绕过:https://blog.csdn.net/s11show_163/article/details/103238943


__EOF__

本文作者BEONTHE
本文链接https://www.cnblogs.com/BEONTHE/p/17749075.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:转载请注明来源
声援博主:UP UP UP !!!
posted @   圆弧状态  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示