Web一道 Upload 题目的Writeup
Upload 首先先是一个注册页面 注册后可以进入登录页面 登录完毕后是一个上传页面 首先判断这里是否存在上传漏洞 , 经过一些测试 , 发现页面只能上传 *.jpg 格式的文件 , 无法上传其他类型的文件 , 上传了一个 *.jpg 文件之后 , 页面跳转 , 上传的文件显示在页面上 通过 BurpSuite 走了一遍流程 , 发现这里很可能不是…
STRICT_ALL_TABLES vs STRICT_TRANS_TABLES
STRICT_ALL_TABLES 和 STRICT_TRANS_TABLES 是 mysql 中 sql_mode 的两个选项 , 之前一直弄混的 , 这里来记录一下 如何查看 sql_mode 一般通过如下命令来查看 sql_mode show variables like "sql_mode%"; 可以看到 , sql_mode 中默认存在 …
由一道题引发的对无字母数字WebShell的思考
前言 跟随 PHITHON 师傅 的笔记 , 研究了一下 无字母数字 的 WebShell~ 一道题目 写这篇 Blog 的本因是看到了这段代码 题目的要求很明确 , 就是构造一个WebShell , 执行 getFlag() 函数 来拿到 Flag . 但是题目要求真的非常有意思 整个代码的长度不能超过35个字符 在代码中不能出现任何字母 , 数…
WebShell 剖析与变形
在测试中经常说到要传马 , 这里的马就是指 WebShell . 一般马被分为小马和大马 , 按功能的强弱划分 . 最常用的 WebShell 就是一句话木马 . 这里从 PHP的WebShell 入手 , 来看一下这些 WebShell 是如何执行 , 如何变形的 文章内容可能比较多 , 但是耐心看完后你定会有收获 最基本的WebShell结构 …
PHP反序列化漏洞
反序列化漏洞还是比较重要的 , PHP反序列化漏洞又被称为PHP对象注入 , 可能会导致远程代码执行( RCE ) PHP序列化与反序列化 要想了解PHP反序列化漏洞 , 首先要知道什么是PHP序列化 定义 PHP中所有的值都可以用函数 serialize() 返回的一个包含字节流的字符串来表示 , 序列化一个对象会保存当前对象的所有变量 , 会保…
Web02_6道题的WriteUp
unserialize3 打开页面 , 发现是一个类 class xctf{ public $flag = '111'; public function __wakeup(){ exit('bad requests'); } } 然后问你 ?code= 根据上面代码可以很容易看出 , 当 xctf 这个类被实例化后 , 会先执行构造函数 __wak…
反弹Shell的姿势详解
反弹Shell定义 控制端监听在某 TCP / UDP 端口 , 被控制端发起请求到该端口 , 并且将其命令行的输入输出转到控制端 最常用的 Reverse Shell ( 反向Shell ) 与常见的 Telnet , SSH 等标准的 Shell 对应 , 本质上就是 网络概念的客户端与服务端的角色反转 反弹Shell是外网渗透的最后一步 , …
PHP伪协议利用
今天刷到一道题 , 需要用到PHP伪协议读取源码 , 刚好对这种利用方式不太熟练 , 这里做个总结 PHP中支持多种伪协议 伪协议 功能 file:// 访问本地文件系统 http(s):// 访问 HTTP(S) 网址 ftp(s):// 访问FTP(S) URLS php:// 访问各个输入输出流(IO Stream) zlib:// 压缩流 …
Git泄露
漏洞原理 当前大量开发人员使用 git 进行版本控制 , 对站点自动部署 . 但是如果配置不当 , 可能会将 .git 文件夹直接部署到线上环境 , 这就引起了git泄露漏洞 . 在运行 git init 初始化代码库的时候 , 会在当前目录下面产生一个 .git 隐藏文件 , 用来记录代码的变更记录等等 . 在发布代码的时候 , 如果 /.git…