![](https://img-blog.csdnimg.cn/e08b0b4e367441bc85a864779be22b32.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ctf
文章平均质量分 83
ctf学笔记
k_du1t
白蓝
展开
-
【2022蓝帽杯】file_session && 浅入opcode
每次蓝帽的web总能让人坐牢事情太多(人也菜)断断续续磨了很长一段时间的东西。原创 2022-07-28 10:49:41 · 1617 阅读 · 1 评论 -
[ctfshow web入门-大赛原题]web785-800(部分)
ctfshow web入门大赛原题 乱序写写 有新做的就补上去吧稍微刷几个做的人比较少的heihei 顺便记录一下参考羽师傅的文章brain.md: test文件夹覆盖掉软连接 test文件夹中的内容会写入原来test软连接对应的目录我们动手实测一下先在uploads目录下建立一个test软连接然后在别的地方建立一个test文件夹里面随便放个东西将test文件夹mv至uploads目录下可以发现软连接所指向的目录多出了test文件夹里存放的东西niubi 又学到了zip --symlin原创 2022-06-17 16:01:55 · 1072 阅读 · 0 评论 -
[PWNHUB 2022 6月内部赛web部分]login game
出去旅游了… 没打到比赛有点亏来复现一下zip-slip-vulnerabilityzip slip漏洞影响库pyYaml库版本PyYAML反序列化漏洞师傅文章扫扫盲tarfile进行zip slip文件覆盖userConfig.yaml然后pyyaml反序列化漏洞太穷了 只有一台学生机userConfig.yamlgene_evil_tar.pypoc.py果然还是得while True竞争以下引用自 https://xz.aliyun.com/t/7923#toc-8看些关原创 2022-06-14 14:24:06 · 438 阅读 · 0 评论 -
[ctfshow 单身杯]web writeup&&学习一下sed awk基本用法
想起来之前比赛撞了 单身杯没打完 刚好来复现一下data伪协议直接过 ?>截断就行poc远程包含用?参数包含也可三字长度命令 参数长度任意保证传入字符串参考 sed教程流程:sed工作流程sed不用任何语句时可以直接输出源文件内容本着需要什么学什么的初心我们直接看payload来学习sed支持正则匹配 /esca/匹配到 escape行 d 将其删除sed语句用;间隔开s字符串替换 shell_exec -> systemg为全局替换标志w 写入 -->可以看作cp的功能版将原创 2022-06-08 13:53:50 · 1053 阅读 · 5 评论 -
[SEETF]Super Secure Requests Forwarder
闲来无事打打 发现自己菜到家了advocate库还是第一次见 google一下就是防ssrf的库天真地把自己知道的所有姿势都fuzz了一遍无一例外地被拦下了看了一下exp恍然大悟exp.pyevil_server再接受请求时能返回不同的结果再回头看看源码 (果然还是不够细~验证机制中看到 只有第一次try时使用了advocate下面就直接 r=requests.get(url) 了那么服务器第一次和第二次返回不同的结果就直接bypass了最近忙着期末 遗失了之前沉浸思考的状态了希望今天原创 2022-06-06 16:45:20 · 246 阅读 · 0 评论 -
【Dest0g3 520迎新赛】web部分writeup
Phpdest访问日志可包含直接getshellEasyphp触发error直接得flagSimplerce进制编码绕过 str_ireplaceEasysstiFuzz一下几个主要的blacklist参考https://xz.aliyun.com/t/9584#toc-320c过一下空格Pharpop__destruct变量销毁会等程序运行完但是有throw new error 利用php gc强制回收浅析GC回收机制与phar反序列化 | Arsene.Tang原创 2022-05-29 22:31:59 · 2046 阅读 · 3 评论 -
[PWNHUB 2022 5月公开赛&&内部赛web部分]
1NDEX0x00 前言公开赛Templateplay看看官方的wpMyNotesphp session序列化机制brain.md内部赛MockingMail反思0x01 rethink0x00 前言打了一下pwnhub补充了一下知识库,发现自己还是太菜了,有些地方确实不懂公开赛Templateplay主页没看到什么注入点js改个UA就进很明显的ssti过滤很多,先fuzz一下 直接出来了… 爽局用fuzz的payload直接cat flag会500不怎么理解最后用nl * 才看到原创 2022-05-17 21:59:43 · 796 阅读 · 0 评论 -
[ctfshow web入门]常用姿势817-820 &&虎符ctf ezphp
0x00 前言接上一篇继续记录ctfshow web入门常用姿势 嗝820 非常规文件上传php中的base64_decode只对合法字符合并后进行解码,非法字符会直接丢弃,不参与整体的base64解码合法字符包括A-Za-z0-9/+字母26+26<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2022-04-30 10:52:40# @Last Modified by: h1xa# @Last Mod原创 2022-05-09 15:57:46 · 1165 阅读 · 2 评论 -
【*CTF/starctf oh-my-lotto-revenge复盘】
0x00 前言回来复盘一下多种解法oh-my-lotto预期解HOSTALIASES可以设置shell的hosts加载文件http://www.scratchbox.org/documentation/general/tutorials/glibcenv.html-N, --timestamping don't re-retrieve files unless newer than可对本地文件进行覆盖brain.md1.forecast上传待加载文件,将s原创 2022-05-03 15:12:40 · 1200 阅读 · 0 评论 -
[ctfshow web入门]常用姿势813-816
参考https://www.anquanke.com/post/id/254388https://download.qingteng.cn/frontendcdn/2019/06/%E5%AE%89%E5%85%A8%E7%A0%94%E7%A9%B6-%E7%BB%95%E8%BF%87php%E7%9A%84disable_functions%EF%BC%88%E4%B8%8A%E7%AF%87%EF%BC%89.pdf看id调用了哪些c语言库函数编译同名函数进行劫持注意进行unset(L原创 2022-05-02 20:16:12 · 1607 阅读 · 0 评论 -
【MRCTF2022 writeup】
1NDEX0x00 前言WebWebCheckInBonusJava_mem_shell_BasicJust HackingJava_mem_shell_FilterMISCCheckinPDD0x01 rethink0x00 前言这把打的太菜了…没出什么有思考的题目,好好复现吧贴个团队writeup水一下WebWebCheckIn文件上传点会解析php直接system反弹shell翻到flagBonusJava_mem_shell_BasicTomcat默认密码tomcat/to原创 2022-04-26 08:54:05 · 567 阅读 · 0 评论 -
【*CTF web部分writeup】
1NDEXGrafanaLottoNoteproGrafanaCVE-2021-43798读到这些文件一开始想的用脚本解密db文件里加过密的密码,但发现datasource是空的….回头过一下配置文件过到一个明文密码本来以为要在哪里getshell,翻插件翻到mysql试了一下默认的成功添加数据源更换数据源后 有个edit sql直接查询Lotto大致意思就是上传forecast猜 最后和lotto_result结果对比审计到这很可疑的环境变量赋值并且有safe原创 2022-04-18 11:57:35 · 2653 阅读 · 2 评论 -
[ctfshow web入门]常用姿势807-812
808811812原创 2022-04-15 22:45:47 · 2710 阅读 · 0 评论 -
[ctfshow web入门]常用姿势801-806
php单引号和双引号包裹的区别原创 2022-04-14 10:12:45 · 4279 阅读 · 2 评论 -
[2022DASCTF X SU 三月春季挑战赛]calc
0x00 前言比赛时几乎没看这道题一方面ssti一直是短板 另一方面upgdstore感觉快出了就想搏一搏…弥补一下0x01 brain.md很常规的计算器很贴心给了源码# coding=utf-8from flask import Flask, render_template, url_for, render_template_string, redirect, request, current_app, session, \ abort, send_from_directory原创 2022-04-09 16:54:35 · 2059 阅读 · 0 评论 -
[HFCTF 2021 Final]tinypng
0x00 前言seebug复习一下phar在php反序列化中的利用参考https://paper.seebug.org/680/写的太好了… 直接粘了phar文件会以序列化的形式存储用户自定义的meta-data这一特性拓展了php反序列化的攻击面phar文件结构stub类似标志,格式为xxx<?php xxx; __HALT_COMPILER();?>前面内容不限,但必须以__HALT_COMPILER();?>来结尾,否则phar扩展将无法识别这个文件为phar文件m原创 2022-04-01 10:27:18 · 2670 阅读 · 4 评论 -
【西湖论剑】phpok6.0前台反序列化getshell
1NDEX0x00 前言0x01 brain.md捋一下框架poc浅析动调一下poc(小bug0x00 前言西湖线下的phpok6.0后面才知道是个0day已知poc形式admin.php控制器为login方法为update其余参数:fid=…/indexfcode=shellquickcode=………看页面回显似反序列化漏洞,可写入webshell参考suanve师傅的文章做个复现phpok6.0前台反序列化getshell师傅的这篇和主办方的利用点有点小区别一个是利用$原创 2022-03-21 13:32:45 · 5839 阅读 · 0 评论 -
[SUSCTF2022]fxxkcors
0x00 前言由于题目名字的关系一开始只想着是cors漏洞了这个一开始雀氏没接触过所以就一直在研究 当然最后证实只是一个csrf…看看大佬的文章扫扫盲CORS跨域漏洞的学习(freebuff这篇讲的比较通透cors安全完全指南拾人牙慧一下重点就是服务器返回响应包的头Access-Control-Allow-Origin : 允许访问的源有哪些 对应请求包中的origin头Access-Control-Allow-Credentials :是否允许带上cookie访问资源题目附件一个j原创 2022-03-02 09:44:08 · 436 阅读 · 0 评论 -
[GKCTF 2021]easycms
0x00 前言源码下载链接日常刷题给了一个蝉知cmshint:后台密码五位没扫 凭经验试了几个 后台 /admin.phpadmin 123450x01 brain.md一开始想的就是基础文件上传getshell原创 2022-02-28 14:16:56 · 3293 阅读 · 0 评论 -
[V&NCTF 2022]InterestingPHP
0x00 前言比赛时候外出 回来复现了只有4个人出 看来是挺难贴一下源码就知道没那么简单<?php highlight_file(__FILE__); @eval($_GET['exp']);?>0x01 brain.md一开始试了几个发现都被ban了连phpinfo都用不了…扩展一个新函数ini_get_all(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)ini_get_all — 获取所有配置选项说明 ¶ ini_get_al原创 2022-02-23 15:17:05 · 1065 阅读 · 0 评论 -
[DefCamp CTF]para-code
1NDEX0x00 前言0x01 brain.md知识扩展linux m4宏处理器直观地实操一下0x00 前言本来想今天写的,结果比赛环境关了幸好手里还有源码<?phprequire __DIR__ . '/flag.php';if (!isset($_GET['start'])){ show_source(__FILE__); exit;} $blackList = array( 'ss','sc','aa','od','pr','pw','pf','ps','原创 2022-02-17 10:05:20 · 305 阅读 · 0 评论 -
[Western CTF 2018]shrine
0x00 前言ssti复习贴一下源码import flaskimport osapp = flask.Flask(__name__)app.config['FLAG'] = os.environ.pop('FLAG')@app.route('/')def index(): return open(__file__).read()@app.route('/shrine/<path:shrine>')def shrine(shrine): def s原创 2022-02-16 11:52:49 · 1410 阅读 · 0 评论 -
[De1CTF 2019]SSRF Me
0x00 前言flask代码审计开局给了源码#! /usr/bin/env python#encoding=utf-8from flask import Flaskfrom flask import requestimport socketimport hashlibimport urllibimport sysimport osimport jsonreload(sys)sys.setdefaultencoding('latin1')app = Flask(__name__原创 2022-02-11 11:33:41 · 1496 阅读 · 0 评论 -
[CISCN 2019 初赛]Love Math
1NDEX0x00 前言基础函数知识**hex2bin()**base_convert()dechex()0x01 brain.md分解一下payload0x02 rethink0x00 前言数字函数巧妙运用绕过黑名单与白名单源码<?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){ show_source(__FILE__);}else{ //例子 c=20-1 $co原创 2022-02-07 16:15:28 · 1510 阅读 · 0 评论 -
[安洵杯 2019]easy_serialize_php
1NDEX0x00 前言0x01 brain.md**那么只用一个变量可行吗?**步骤0x02 rethink0x00 前言题目很直接放出了源码白盒审计相对是比较轻松的一种知识点涉及:1.反序列化逃逸2.变量覆盖<?php$function = @$_GET['f'];function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implod原创 2022-01-29 01:04:22 · 1315 阅读 · 0 评论 -
[ASIS 2019]Unicorn shop
0x00 前言日常刷题标签给了Python Unicode 已经一定程度上的hint了补强一下基础0x01 brain.md一个购买界面比较尴尬的是前几个都提示错误商品想买第四个提示 only one char allowed思路比较清晰 以一个Unicode字符替代数字unicode检索https://www.compart.com/en/unicode/此处注意不是任意一个字符编号大于1337的Unicode字符就行此处的替代理解为等价替换,即该Unicode字符应等原创 2022-01-28 11:20:51 · 1616 阅读 · 0 评论 -
[BJDCTF2020]Cookie is so stable
1NDEX一级目录二级目录三级目录0x00 前言误区0x01 brain.md0x02 rethink一级目录二级目录三级目录0x00 前言本来想做做高分题,发现除了php外的语言基础太差了…惭愧日常刷题一个flag 一个hinthint先扫一下发现提示有个小坑 未在flag界面进行提交时会少一个cookie的键值原先的两个其实并无作用ID框进行test输什么返回什么 第一反应模板注入误区不要认为SSTI只存在于python中有模板的地方就有可能有SSTI常见模板引擎原创 2022-01-27 18:22:32 · 1647 阅读 · 0 评论 -
长安战疫 flask
0x00 前言补充flask基础知识贴文档request.full_pathRequested path as unicode, including the query string.包含查询字符串的请求路径直观一点0x01 复现注释带hint <div class="center-content error"> <h3>you need login</h3> <!--/admin--&g原创 2022-01-25 12:29:09 · 795 阅读 · 0 评论 -
长安战疫 shiro?
0x00之前没复现log4j然后看题目是shiro 测了一下发现有的但是好像卵用没用…弹不出来 很多命令执行了也没反应然后搁那纯坐牢0x01 复现后面看了才知道是log4j后悔一开始没好好复现关于log4j的一些基础https://blog.csdn.net/weixin_45751765/article/details/122534971?spm=1001.2014.3001.5502是有waf的payload变种...原创 2022-01-23 16:51:09 · 281 阅读 · 4 评论 -
[安洵杯 2019]easy_web
0x00 前言url比较奇怪 cmd= 后面没了试了几个常规的要么是forbid~ 要么就是md5 funny本来以为是无回显命令执行…搁那一直试ceye 全被ban了很坑 后来才知道 ` 被ban了0x01 开冲这个一看就感觉是base64的img=TXpVek5UTTFNbVUzTURabE5qYz0再decode一下,是hex没想到又是文件包含因为原本是image进行base-encode,所以这里直接以相同编码方式encode:index.php(hex->b原创 2022-01-10 15:59:59 · 1126 阅读 · 0 评论 -
[BSidesCF 2020]Had a bad day -- 关于00截断的衍生
0x00 前言点图片时看到url有变动直觉觉得像文件包含协议流读一下册 还真是贴一下php源码 <?php $file = $_GET['category']; if(isset($file)) { if( strpos( $file, "woofers" ) !== false || strpos( $file, "meowers" ) !== false || strpos( $file, "index")){ include (原创 2022-01-09 21:51:35 · 924 阅读 · 0 评论 -
[BJDCTF2020]Mark loves cat三种解法
0x00 前言比较基本的代码审计,考查变量覆盖目录滚一下Githack -> down一下不知道为什么现在flag.php和index.php都down不下来了 --?可能靶场环境问题把直接拿师傅wp里的源码了关于对源码的个人理解我已标明在注释中<?phpinclude 'flag.php';$yds = "dog";$is = "cat";$handsome = 'yds';foreach($_POST as $x => $y){ $$x =原创 2022-01-06 19:33:52 · 1180 阅读 · 0 评论 -
[网鼎杯 2020 朱雀组]phpweb
0x00 前言之前做的没写笔记…现在补一下┭┮﹏┭┮一打开看到孙????有点小晦气看到网页不停回显warning抓个包看看比较明显:函数名+参数????尝试读一下源码 似乎除了file_get_contents全被禁了 <?php $disable_fun = array("exec","shell_exec","system","passthru","proc_open","show_source","phpinfo","popen","dl","eval","pro原创 2022-01-05 13:42:37 · 142 阅读 · 0 评论 -
[HXBCTF 2021]湖湘杯easywill
0x00 前言这次接触到pear有点陌生先本地弄弄参考师傅https://blog.csdn.net/rfrder/article/details/121042290啥是Pear?pear (全称为PHP扩展与应用库)1.如前所述,PEAR按照一定的分类来管理PEAR应用代码库,你的PEAR代码可以组织到其中适当的目录中,其他的人可以方便地检索并分享到你的成果。2.PEAR不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写你的PHP代码,将会增强你的程序的可读性,复用性,减少原创 2021-12-01 22:55:48 · 3645 阅读 · 0 评论 -
[GXYCTF2019]禁止套娃
0x00 前言写这篇主要巩固一下正则,难度不是特别大递归正则属于是盲区了0x01 Sunwear看看页面空空如也,抓包看看也是空空如也果断扫一下Githack一把梭拿到index.php<?phpinclude "flag.php";echo "flag在哪里呢?<br>";if(isset($_GET['exp'])){ if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET原创 2021-11-25 09:58:36 · 370 阅读 · 0 评论 -
陇原杯 eaaasyphp
0x00 前言比赛的时候一会写出个pop链,一发就500直接崩溃后面才知道没有写权限也会这样(一开始以为自己????????链子写错了—)看了师傅们的wp才知道还是自己太菜????知识点:FTP SSRF 打穿内网0x01 复现贴上源码和师傅的精简pop学习一下别人的链子为什么写的比你好?!<?phpclass Check { public static $str1 = false; public static $str2 = false;}class Esle原创 2021-11-24 18:34:56 · 3708 阅读 · 6 评论 -
网鼎杯 2018 Fakebook
1NDEX0x00 初试0x01 复现0x00 初试一开始有两个选项:一个join,一个login此处blog存在过滤注册完返回首页发现username栏是超链接单击后发现url–>http://47bdcd94-3a3d-4ae5-af77-4390d01fd436.node4.buuoj.cn:81/view.php?no=1盲猜是注入(讲真我一开始真没有意识先去判断是数字型注入还是字符型注入)因为手注测试的时候十分的奇怪…先通过updatexml报错注入得到一些信息注注原创 2021-10-01 21:27:55 · 1555 阅读 · 0 评论 -
[CISCN2019 华北赛区 Day2 Web1]Hack World(排坑
0x00 前言惭愧,好像是第一次做盲注题(之前肯定看过,不深入而已…)直接看了wp进行复现了根据特定环境适用的攻击手法,熟悉一下script编写0x01 复现贴一下源码方便后续理解<?php$dbuser='root';$dbpass='root';function safe($sql){ #被过滤的内容 函数基本没过滤 $blackList = array(' ','||','#','-',';','&','+','or','and','`','"','i原创 2021-09-28 16:51:39 · 1353 阅读 · 0 评论 -
[MRCTF2020]你传你呢
0x00 初试一开始传常规jpg,png啥的都给我封了可能限制大小了??很妖 不太理解由于buu给的链接挂了,所以也看不到源码了…常规知识点 .htaccess文件解析漏洞原理.htaccess文件(或者"分布式配置文件") ,全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来原创 2021-09-13 15:09:02 · 566 阅读 · 1 评论 -
GXYCTF2019 babysqli
0x00 初试一开始以为普通sql注入题fuzz一下没过滤什么东西or大小写直接绕过就行,但两个括号绕过之前倒没遇上过,尝试了各种编码好像也没用…原创 2021-09-09 12:08:56 · 261 阅读 · 0 评论