Sky's blog

Sky's blog

热爱Web的蒟蒻一叶飘零/Flappypig

2019 RCTF Web Writeup
前言本坑开的好久了= =,但一直太忙了,现在已经是7月了,都想不起来还有啥题了,只把坑先填上了~ nextphp拿到题目123456<?phpif (isset($_GET['a'])) { eval($_GET['a']);} else { show_source(__FILE__);} 列目录查看一下1http://nextphp.2019.rctf.rois.io/?a=var_dump(scandir(%27.%27)); 得到1array(4) { [0]=> string(1) &quo...
Summary of serialization attacks & Part 2
前言之前写了一篇介绍序列化概念和两种常见攻击:1.魔法方法,2.session序列化引擎。本篇文章继续深入,介绍另外方法:原生类序列化问题。 原生类同名函数问题引入什么是原生类同名函数攻击漏洞呢?我们不妨看如下代码:12345678910class UploadFile { function upload($fakename, $content) { ..... // 你什么也不能做 } function open($fakename, $realname) { ..... // 你什么也不能做 ...
Summary of serialization attacks & Part 1
前言近期因为内部培训有序列化的需求,于是趁此机会由浅入深的剖析一下序列化相关内容。之前也写过由浅入深的xml漏洞系列,欢迎阅读:12https://skysec.top/2018/08/17/浅析xml及其安全问题/https://skysec.top/2018/08/18/浅析xml之xinclude-xslt/ 序列化的概念简单概括来说,序列化即保存对象在内存中的状态,也可以说是实例化变量。在传递一个对象的时候,或是需要把对象保存在文件/数据库中时,就必须用序列化。 序列化样例以php官方手册样例为例:123456789101112<?phpclass SimpleClass&...
2019西湖论剑AD攻防Web题解
前言上周参加了西湖论剑线下赛,在AD攻防赛中喜迎冠军,以下是AD攻防赛中2道web的题解。 Web1 - typecho整体源码如下因为是typecho CMS,所以肯定有已知CVE,由于之前审计过,这就不重新分析了,只分析人为加入的。 漏洞1 - 反序列化CVE1https://skysec.top/2017/12/29/cms%E5%B0%8F%E7%99%BD%E5%AE%A1%E8%AE%A1-typecho%E5%8F%8D%E5%BA%8F%E5%88%97%E6%BC%8F%E6%B4%9E/ 可参加我以前分析的这篇文章,构造如下序列化,进行RCE1234567891011...
从PHP底层看open_basedir bypass
前言有国外的大佬近日公开了一个php open_basedir bypass的poc,正好最近在看php底层,于是打算分析一下。 poc测试首先测试一下:我们用如上源码进行测试,首先设置open_basedir目录为/tmp目录,再尝试用ini_set设置open_basedir则无效果,我们对根目录进行列目录,发现无效,返回bool(false)。我们再尝试一下该国外大佬的poc发现可以成功列举根目录,bypass open_basedir。那么为什么一系列操作后,就可以重设open_basedir了呢?我们一步一步从头探索。 ini_set覆盖问题探索为什么连续使用ini_set不会...
Some Trick About LFI
前言最近遇到一些文件包含的题目,在本篇文章记录两个trick~ 环境背景复现环境还是很容易搭建的:例题1(php7)index.php12345678<?php$a = @$_GET['file'];echo 'include $_GET[\'file\']';if (strpos($a,'flag')!==false) { die('nonono');}include $a;?> dir.php123456<?php$a = @$_GET['dir'];if(!$a){$a = '/tmp';}var_dump(scandir(...
Pwnhub-Always be with U-Writeup
前言正逢pwnhub有比赛,于是做了一下题目,以下是题解 Happy Tree Friends题目概述拿到题目12345678910111213141516171819#!/usr/bin/env python3import zlibfrom Crypto.Cipher import AESimport sysimport osfrom hashlib import md5flag = open("flag.txt").read()while True: data = input() data = "message: %s, flag: %s" % (data, flag) ...
PHP Parametric Function RCE
前言最近做了一些php 无参数函数执行的题目,这里做一个总结,以便以后bypass各种正则过滤。大致思路如下:1.利用超全局变量进行bypass,进行RCE2.进行任意文件读取 什么是无参数函数RCE传统意义上,如果我们有1eval($_GET['code']); 即代表我们拥有了一句话木马,可以进行getshell,例如但是如果有如下限制123if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) { eval($_GET['code']);} 我们会发现我们使用参数则无法通过正...
2019 0CTF Web WriteUp
前言二刷0ctf,去年被虐的很惨,今年还是一样 :( Ghost Pepperjolokia/list发现karaf,动态路由安装webconsole……直接结束 Wallbreaker Easy拿到题目12345Imagick is a awesome library for hackers to break `disable_functions`.So I installed php-imagick in the server, opened a `backdoor` for you.Let's try to execute `/readflag` to get the f...
2018 Code Breaking(4) & phpmagic
前言前些日子有些忙,没有继续做,现在跟进,先看下之前做的几道题:2018 Code Breaking(1) & function :关于\的trick2018 Code Breaking(2) & pcrewaf:关于正则回溯的bypass手段2018 Code Breaking(3) & phplimit:php无参数函数执行RCE今天研究一下phpmagic这道题 题目概述拿到题目1http://106.14.114.127:24004/?read-source=1 发现源代码如下1234567891011121314151617181920212223242...
avatar
一叶飘零
苟有恒,何必三更眠五更起。