Php

php中常用的几种魔术方法和触发条件

__construct :当一个对象创建时被调用
__destruct :当一个对象销毁时被调用
__toString :当一个类或对象被当作一个字符串被调用
__wakeup :当一个对象使用 unserialize 时触发,反序列化时触发
__sleep :当一个对象使用 serialize 时触发,序列化时触发
__get :当一个对象读取不可访问属性的值时触发
__set :当一个对象在给不可访问属性赋值时
__isset :当一个对象当对不可访问属性调用 issetempty 时触发
__unset :当一个对象对不可访问属性调用 unset 时触发
__invoke :当一个对象尝试以调用函数的方式调用一个对象时触发
__set_state :当一个对象调用 var_export 导出类时,此静态方法会被调用
__call :当一个对象在对象上下文中调用不可访问的方法时触发 
__callStatic :当一个对象在静态上下文中调用不可访问的方法时触发

不同属性之间的区别

public  变量(公有) 
直接将变量名反序列化出来 
protected  变量(受保护) 
\x00 + * + \x00 + 变量名 
private  变量(私有) 
\x00 + 类名 + \x00 + 变量名
CTF题php反序列化python

概述

Flask是一个用Python编写的Web应用程序框架。 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。

Flask中文文档

Flask

文件包含作用函数:

require//包含过程中出现错误直接退出程序
include();//包含过程出现错误,抛出警告,程序继续运行
require_once();//包括require()的功能,但函数只包含一次
include_once();//包括include()的功能,但函数只包含一次

该函数用以加载另一个文件中的php代码,并且当php来执行

而漏洞产生的原因则是因为当函数中的参数未经过严格的过滤,且用户可控时,当用户包含了其它恶意文件代码,就导致执行了非预期操作

php文件包含

2019GXYCTF-Ping Ping Ping

12月份的GWYCTF,BUUCTF上复现

别人学校招新的题目,我还是不会,太菜了

CTF题命令执行