CTF知识点总结(一)

​ 此题所用知识为超全局变量,只需要将传入的参数设置为$GLOBALS即可。

1 |1 PHP 全局变量 - 超全局变量

PHP 中的许多预定义变量都是"超全局的",这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

2 |0 2.php的弱类型比较问题

​ 详见https://www.cnblogs.com/Mrsm1th/p/6745532.html

3 |0 3.php断言(assert)

​ 详见https://www.cnblogs.com/nixi8/p/7147122.html

4 |0 4.php读取目录下文件的方法

​ scandir():读取文件和目录,以数组形式存储

​ print_r():输出

复制代码

<?php dir = "/images/"; // Sort in ascending order - this is default a = scandir(dir); // Sort in descending order b = scandir(dir,1); print_r(a); print_r($b); ?>

结果:

复制代码

Array ( [0] => . [1] => .. [2] => cat.gif [3] => dog.gif [4] => horse.gif [5] => myimages ) Array ( [0] => myimages [1] => horse.gif [2] => dog.gif [3] => cat.gif [4] => .. [5] => . )

5 |0 5.preg_match绕过

​ preg_match用于执行正则匹配。详情见https://www.codercto.com/courses/d/852.html。返回 pattern 的匹配次数。 它的值将是 0 次(不匹配)或 1 次,因为 preg_match() 在第一次匹配后 将会停止搜索。preg_match_all() 不同于此,它会一直搜索subject 直到到达结尾。 如果发生错误preg_match()返回 FALSE。

5 |1 另外有正则表达式语法:

6 |0 6.PHP中sha1()函数和md5()函数的绕过

复制代码

sha1(_GET\['name'\]) === sha1(_GET['password'])

这两个函数比较时,由于无法处理数组,两边都会返回false,则相等,所以playload为?name[]=1&password[]=2。

相关推荐
练习本2 小时前
Android系统架构模式分析
android·java·架构·系统架构
每次的天空7 小时前
Kotlin 内联函数深度解析:从源码到实践优化
android·开发语言·kotlin
练习本7 小时前
Android MVC架构的现代化改造:构建清晰单向数据流
android·架构·mvc
早上好啊! 树哥7 小时前
android studio开发:设置屏幕朝向为竖屏,强制应用的包体始终以竖屏(纵向)展示
android·ide·android studio
YY_pdd8 小时前
使用go开发安卓程序
android·golang
Android 小码峰啊10 小时前
Android Compose 框架物理动画之捕捉动画深入剖析(29)
android·spring
bubiyoushang88810 小时前
深入探索Laravel框架中的Blade模板引擎
android·android studio·laravel
cyy29810 小时前
android 记录应用内存
android·linux·运维
CYRUS STUDIO10 小时前
adb 实用命令汇总
android·adb·命令模式·工具
这儿有一堆花11 小时前
安卓应用卡顿、性能低下的背后原因
android·安卓