[ACTF2020 新生赛]BackupFile
目录
信息收集
从题目来看应该是让扫描备份文件(backupfile)
进入页面就一句话
Try to find out source file!
先用dirbuster模糊扫描一下目录
常见的如下
index.phps
index.php.swp
index.php.swo
index.php.php~
index.php.bak
index.php.txt
index.php.old
常见备份文件:“.git” 、“.svn”、“ .swp” “.~”、“.bak”、“.bash_history”、“.bkf“
在index.php.bak下载到一份源码
思路
代码审计
intval() 函数用于获取变量的整数值。
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。
构造payload
?key=123
得到flag
知识补充
由于php中数字和字符串比较时
$v1 = "1";$v2 = 1;if ($v1==$v2){ echo ("true
");} else{ echo("false
");};if ($v1===$v2){ echo ("true
");} else{ echo("false
");};
true
false
false
true在php中 == 判断时 当数字与字符串作比较时,系统会先将字符串转化为数字,再与数字进行比较。数字和字符串进行比较时,当这个字符串是一个无法转换为数字的字符串,它就会被强制转化为数字,结果总是为0
数字+字符(字符串)
true
字符(字符串)+数字
';if($c==$b){echo "true";}else{echo "false";}?>
false
true
数字+字符(字符串)+数字
';if($c==$b){echo "true";}else{echo "false";}?>
true
false
字符(字符串)+数字+字符(字符串)
true
来源地址:https://blog.csdn.net/qq_63701832/article/details/128708564
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341