Von's Blog

Thinking will not overcome fear but action will.

open_basedir绕过

什么是open_basedir Open_basedir是PHP设置中为了防御PHP跨目录进行文件(目录)读写的方法,所有PHP中有关文件读、写的函数都会经过open_basedir的检查。Open_basedir实际上是一些目录的集合,在定义了open_basedir以后,php可以读写的文件、目录都将被限制在这些目录中。 一般情况下,我们最多可以绕过open_basedir的限制对其进行...

如何正确使用Docker出一道CTF题目

写在前面 前几天忙着出minil的题目,Frank要求要用Docker并且要支持动态Flag,看了网上也没有一篇文章彻底详细的讲解这个过程,鼓捣了好久才搞明白的,于是写一篇文章记录一下这个过程,也让后来的出题人可以学习一下不用走那么长的弯路。 在之前的内容中,我们已经学习了Docker的基本用法,但当时我们构建的题目,都只能在一个固定的端口上使用,如果我们要实现像每个用户分配一个动态容器,还...

Python反序列化漏洞学习

Python序列化和反序列化 和PHP反序列化类似,Python序列化和反序列化的过程就是把对象转化成字符串和把字符串转化成对象的过程。 我们主要运用的是pickle这个库来实现序列化和反序列化的过程。下面,我们举一个例子来说明其工作方式: import pickle class name(): def __init__(self): self.name = 'Vo...

四天学习Flask(入门篇)

写在前面 从今天起开始学习Flask,主要参考书籍是米格尔·格林贝格的《Flask Web开发》,打算用四天的时间看完这本书的入门部分,把学习的过程每天更新在这篇文章里面,记录自己的学习过程,也给看到的人做一个参考吧。 用的是Python3的环境,主机系统为Windows10 第一天 环境的安装和虚拟环境的搭建 Windows10下使用virtualenv来创建虚拟环境 pip3 insta...

XXE学习

什么是XXE? XXE全称是——XML External Entity,也就是XML外部实体注入攻击.漏洞是在对不安全的外部实体数据进行处理时引发的安全问题。 XML学习 既然和XML相关,那我们就先来学习下XML的相关知识。XML 指可扩展标记语言(eXtensible Markup Language).XML被设计用来传输和存储数据。(划重点,存储!html是显示数据,两者设计的目的不...

SSRF中两个函数的绕过

前言 在SSRF中我们经常遇到这两个函数filter_var()和parse_url(),今天来学习一下这两个函数相关的绕过方法. parse_url() 函数介绍 parse_url用来解析 URL,返回其组成部分(返回一个关联数组) 语法如下: parse_url (url,commpent) : mixed 其中,url为需要解析的url(必需),commpent为指定 PHP_U...

SSRF学习

什么是SSRF? SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统) 下面这张图很好的展示了SSRF的流程: 通俗点来说,就是用户无法访问内网的某些数据,通过访问服务端...

CRLF注入

什么是CRLF注入? CRLF是”回车+换行”(\r\n)(编码后是%0D%0A)的简称,在HTTP中,HTTP Header和HTTP Body是用两个CRLF来分割的。浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HT...

记录一个有趣的数学问题

用三角函数嵌套得到任意一个正整数

前言 之前看到了一个有趣的数学问题————Broken calculator.就是给你一个损坏的计算器,只能操控$\tan()$,$\cos()$,$\sin()$,$\arctan()$,$\arcsin()$,$\arccos()$这六个函数进行嵌套,并且给定初始值1,如何得到任意正整数?(嵌套形式如下) 前置知识 我们首先需要知道两个前置公式: 推理 假如我们需要得到的正整数为...

记录一些反弹shell的指令

一篇水文

什么是反弹shell 反弹shell在我看来就是攻击者输入命令,命令在被攻击端执行,并将执行后得到的结果回显到攻击端的过程。 在目前看来似乎主要用在命令执行上,当网页没有直接回显时我们可以使用反弹shell在我们自己服务端对被攻击端执行代码。 关于反弹shell的主要原理我就不在这细讲了。具体的可以看这几篇文章: panda1g师兄的文章1 panda1g师兄的文章2 K0rz3n师兄的文...