flask模板注入的一些备忘

python中常用函数、模块__getattribute__被调用无条件地实现类的实例的属性访问。object.getattribute(self,name)1)self必需的。类的实例,在调用时自动传递。2)name必需的。属性的名称。__dict__存放类的函数、属性dir()显示对象的属性的名


PHP的函数缺陷

[ACTF2020新生赛]BackupFile题目开始提示找源码,直接index.php.bak下载弱比较如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行,在比较时该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值


php中的浅拷贝深拷贝

简单的概念浅拷贝赋值时,引用赋值,相当于取了一个别名。对其中一个修改,会影响另一个PHP中,=赋值时,普通对象是深拷贝,但对对象来说,是浅拷贝。也就是说,对象的赋值是引用赋值。(对象作为参数传递时,也是引用传递,无论函数定义时参数前面是否有&符号)<?php//普通对象赋值,深拷贝,完


pop链和php反序列化字符逃逸

POP链POP:面向属性编程面向属性编程(Property-OrientedPrograming)常用于上层语言构造特定调用链的方法,与二进制利用中的面向返回编程(Return-OrientedPrograming)的原理相似,都是从现有运行环境中寻找一系列的代码或者指令调用,然后根据需求构成一组连


[护网杯 2018]easy_tornado 1

SSTI服务器端模板注入(Server-SideTemplateInjection)ql注入是从用户获得一个输入,然后又后端脚本语言进行数据库查询,所以可以利用输入来拼接我们想要的sql语句,当然现在的sql注入防范做得已经很好了,然而随之而来的是更多的漏洞。SSTI也是获取了一个输入,然后再后端的


php反序列化漏洞

魔法函数sleep()和wakeup()unserialize()对单一的已序列化的变量进行操作,将其转换回PHP的值unserialize()执行时会检查是否存在一个wakeup()方法。如果存在,则会先调用wakeup方法,预先准备对象需要的资源。wakeup()经常用在反序列化操作中,例如重新