ssrf SSRFServer-side Request Forgery 服务端请求伪造攻击向服务端发送包含恶意url连接的请求,借由服务端发起请求以便获取服务端网络内部的资源一句话总结:控制服务端使用指定协议访问指定的urlA:你为什么这么干?B:是谁谁谁让我干的A:谁谁谁让你去吃shi你去不去?特点:1 让别人访问我们访问不到的url2 拿到自己本来拿不到的数据 条件:1 别人能帮我访问url 服务端有 2024-09-01 CTF-web > ssrf #web ssrf
js原型链污染 JS基础数据类型: 基本数据类型: String Number Boolean Null Undefined Symbol 引用类型: Object Array Function 变量定义: 变量定义的例子: 1234var car = 'A'; // 定义字符串var car = 'B'; // 另一个字符串var x = 3.0; // 定 2024-09-01 CTF-web > js #web js
SSTI SSTI${7*7} y a{*comment*}b y Smarty n ${"z".join("ab")} -> Mako n {{7*7}} y {{7*'7'}} -> jinja2 Twig n 2024-09-01 CTF-web > SSTI #web py
反序列化 PHP 属性和权限 属性的权限,可以分为: public 权限 外部可以通过箭头访问到 private 权限 内部通过 $this->username 访问到 protected 权限 表示 自身及其子类 和父类 能够访问 抽象类 不能被 new,也就是不能被直接实例化对象 接口 interface 为了实现多继承效果 implements 可以实现多个接口 方法的属性修饰 2024-09-01 CTF-web > php反序列化 #web php
文件操作篇 文件包含 include() 文件的内容将作为 PHP 代码执行,找不到被包含的文件时只会产生警告,脚本将继续运行。 include_once() 唯一区别是如果该文件中的代码已经被包含,则不会再次包含。 require() 找不到被包含的文件时会产生致命错误,并停止脚本运行。 require_once() 唯一区别是如果该文件中的代码已经被包含,则不会再次包含。 若文件内容符合 PHP 语法规范 2024-09-01 CTF-web > 文件操作 #web php
rce总结 代码执行eval() assert() preg_replace(a,b,c) :c中被a的要求匹配时。匹配部分以b(此时执行)替换 create_function 动态调用:变量当做函数用 回调函数 call_user_func(a,b) 例子:a:assert(不能是eval或是echo这种语言结构),b:$GET_[‘cmd’] call_user_func_array(a,b) b是数 2024-09-01 CTF-web > rce #web rce
我的革命 「虛无」 或与之对抗、或听天由命,人们总会找到答案 「人们沉睡,是为了最终从梦中醒来」一一这就是一位垂垂老矣的无名客穷尽一生得出的解答。 每个人都会有迷路的时候,犹豫不决,不知道该去往哪个方向。它存在于这片梦境中,也存在于梦境之外的任何地方。走向属于自己的前方,找到独属于身己的意义,并在生命的最后体面的迎接虚无的降临 我们有行动的权利,我们有定义自己结局的权利,我们有前进的权利,走在结局的路上, 2024-08-31 革命拂晓 #文字感悟
PHP7.2特性 PHP7.2函数相关变更(废弃)__autoload() 方法__autoload() 方法已被废弃, 因为和 spl_autoload_register() 相比功能较差 (因为无法链式处理多个 autoloader), 而且也无法在两种 autoloading 样式中配合使用。 (废弃)create_function() 函数考虑到此函数的安全隐患问题(它是 eval() 的瘦包装器),该过时 2024-08-31 CTF-web > php审计 #web php
PHP7.1特性 PHP7.1函数相关变更list()现在支持键名现在list()和它的新的*[]*语法支持在它内部去指定键名。这意味着它可以将任意类型的数组 都赋值给一些变量(与短数组语法类似) 123456789101112131415161718192021<?php$data = [ ["id" => 1, "name" => 'To 2024-08-31 CTF-web > php审计 #web php