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]
相关推荐
看到我,请让我去学习36 分钟前
QT - QT开发进阶合集
开发语言·qt
weixin_3077791338 分钟前
VS Code配置MinGW64编译SQLite3库
开发语言·数据库·c++·vscode·算法
励志不掉头发的内向程序员2 小时前
STL库——string(类函数学习)
开发语言·c++
一百天成为python专家2 小时前
Python循环语句 从入门到精通
开发语言·人工智能·python·opencv·支持向量机·计算机视觉
Sunhen_Qiletian2 小时前
朝花夕拾(五)--------Python 中函数、库及接口的详解
开发语言·python
hqwest2 小时前
C#WPF实战出真汁07--【系统设置】--菜品类型设置
开发语言·c#·wpf·grid设计·stackpanel布局
前路不黑暗@3 小时前
C语言:操作符详解(二)
c语言·开发语言·经验分享·笔记·学习·学习方法·visual studio
auxor3 小时前
Android 开机动画音频播放优化方案
android
whysqwhw3 小时前
安卓实现屏幕共享
android
深盾科技4 小时前
Kotlin Data Classes 快速上手
android·开发语言·kotlin