这篇是在做[BJDCTF2020]EasySearch的时候写的,主要还是基础知识还不够广泛导致不会利用shtml。 原理介绍一下shtml,全称Server Side Includes HTML,主要作用是再HTML上插入服务器端的指令,语法是<!--# -->,例如<!--#exec cmd="command"...

原理XXE漏洞全称:XML External Entity Injection,即外部实体注入,大多数情况下是针对XML输入类型的攻击,那么首先了解一下XML是什么 XMLXML全称:Extensible Maekup Language,即可扩展标记语言,主要功能是用来传输于储存数据的,一般采用树形结构,具体语法看着很像HTML。 语法举个例子 12345678<?xml version="1.0" encoding="utf-8"?><!DOCTYPE test[...

题目在buuctf的练习场内偶然刷到了一道rce题,题目是[极客大挑战 2019]RCE ME 1,源码是这样的 1234567891011121314151617<?phperror_reporting(0);if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); }...

原理这篇是在复现newstar week3的otenki girl时写的,其实就是整理了一下js原型链的定义和题目注入点此类的东西。 原型链首先解释一下js原型链,给个例子: 1234567function test(num){ This.num=num;}test.prototype.add=function(num){ This.num+=num;}let te = new...

原理稍微介绍原理稍微介绍一下原理,phar 文件为php 中的压缩文件,其内置分为四个部分 stub 部分 为标识符,让 php 指令知道这是一个 phar 文件,一般的内容是<?php __HALT_COMPITER();?> manifest 部分 记载着压缩文件的信息和权限,一般是用来介绍压缩文件的,但其形式含有反序列化,所以我们的利用点一般在这。 content 部分 压缩文本部分,不过多赘述。 signature 部分 签名部分,没可利用的。 上面也说了,在 manifest 部分有反序列化的方法,当赋值给 manifest...

在buu上偶然刷到一道题(忘了哪道题了:(),挺有意思的,于是乎便记录了下来。 12345678910111213141516<?php error_reporting(0); if(isset($_GET['file'])) { $file = $_GET['file']; if(preg_match('/flag|log|session|filter|input|data/i', $file)) {...

记得有一次再buuctf刷题的时候,看到了这串代码if(preg_match("/[A-Za-z0-9]+/",$code))把字母和数字全都waf了,当时还不会如何做到无数字字母的rce,就索性全学了整理下来。 异或绕过首先第一种绕过是异或绕过。首先得先了解一点,urlencode和普通十六进制编码其实差别不大,仅仅是写法不同罢了,例如普通十六进制是0xff,在url编码里是%ff,仅仅差别前缀,一个是0x,一个是#。而异或则可以把其它可用的字符运算成需要的字符,举个例子:P字符被正则过滤了,但是P字符可以由.和~异或运算而来,即P=(‘...