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。

相关推荐
lxysbly4 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首5 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节
消失的旧时光-19437 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
Jinkxs7 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&7 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
LDORntKQH8 小时前
基于深度强化学习的混合动力汽车能量管理策略 1.利用DQN算法控制电池和发动机发电机组的功率分配 2
android
冬奇Lab8 小时前
Android 15 ServiceManager与Binder服务注册深度解析
android·源码·源码阅读
2501_9160088910 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
独行soc11 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
常利兵11 小时前
2026年,Android开发已死?不,它正迎来黄金时代!
android