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。

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone3 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui