CTF知识集-PHP特性


title: CTF知识集-PHP特性

写在开头可能会用到的提示

  • call_user_func 调用的函数可以不区分大小写
  • preg_match过滤存在长度溢出,长度超过100w检测失效。str_repeat('show',250000); 生成100w个字符
  • preg_match是无法处理数组的,例如:preg_match( n u m ) , num), num),num[1]=1,这样子无法处理
  • intval()是可以检测十进制 | 八进制 | 十六进制的。如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);如果字符串以 "0" 开始,使用 8 进制(octal);否则,使用十进制
  • intval()。可以搭配的特殊字符是+和空格,当然也可以URL编码后提交。
  • highlight_file 包含的文件可以是全路径,可以接php://filter/resource=xxx
  • php的md5传入的是数组,那么md5一样,例如:a[]=1和b[]=2的md5值一样 补充:sha1可以
  • %00 可以截断
  • echo new DirectoryIterator(getcwd()); 遍历目录类 echo new filesystemIterator(getcwd()); 遍历文件类
  • var_dump($GLOBALS); 可以查看当前的全部变量
  • is_file() 检测文件函数,可以用伪协议来绕过
  • php会自动将不符合规范的变量(空格等特殊符号)转换为_,且只会转换一次,例如fl[ag.com,转换为fl_ag.com,后面的 . 不会被转换
  • 小知识点: ()是一个函数,()==gettext() 是gettext()的拓展函数
  • php里默认命名空间是\,所有原生函数和类都在这个命名空间中。 普通调用一个函数,如果直接写函数名function_name()调用,调用的时候其实相当于写了一个相对路 径; 而如果写\function_name()这样调用函数,则其实是写了一个绝对路径。 如果你在其他namespace里调用系统类,就必须写绝对路径这种写 法
  • file_get_contents可以使用伪协议,例如:file_get_contents( f i l e ) = = = " 123 " , file)==="123", file)==="123",file=data://text/plain,123;或者是php://input
  • curl 不仅支持http(s),而且支持file协议,例如: curl file:///home/sibei/test
  • P O S T [ c m d ] 可以写为 _POST[cmd]可以写为 POST[cmd]可以写为_POST{cmd}
  • php无论有没有上传文件的参数,如果强制上传文件,那么PHP会先保存到临时目录,待脚本执行结束后删除。linux的临时目录文件是/tmp/php???,问号代表任意字符。如果存在命令执行,那么就可以通过执行强制的临时文件来达到命令执行。linux通配符匹配 /???/???[@-[],这样可以匹配最后一位是大写字母的文件,贴个脚本

CVE收集

PHP5.5.9整数溢出漏洞

CVE收集

PHP5.5.9整数溢出漏洞

  • 当数组下标为4294967296时,等同于下标0,例如:maodoo[4294967296]等同于maodoo[0]
相关推荐
2601_949543011 分钟前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter
青岑CTF3 分钟前
攻防世界-Web_php_include-胎教版wp
开发语言·安全·web安全·网络安全·php
雾岛听蓝10 分钟前
C++11 列表初始化与右值引用核心解析
开发语言·c++·经验分享
小北方城市网20 分钟前
Spring Boot 多数据源与事务管理实战:主从分离、动态切换与事务一致性
java·开发语言·jvm·数据库·mysql·oracle·mybatis
痴儿哈哈20 分钟前
C++与硬件交互编程
开发语言·c++·算法
遇见火星34 分钟前
Linux综合性能监控工具dstat命令详解
linux·服务器·php·dstat
roman_日积跬步-终至千里40 分钟前
【Java 并发-面试】从线程基础到企业级开发的知识点概况
java·开发语言
云中飞鸿40 分钟前
VS2015安装后,安装QT59,之后安装qt-vsaddin-msvc2015-2.4.3.vsix 文件失败问题!
开发语言·qt
m0_7482331744 分钟前
C与C++:底层编程的六大核心共性
java·开发语言
沐知全栈开发1 小时前
HTTP Content-Type
开发语言