帕鲁杯
这个帕鲁杯主要考的是应急响应,本人是一点不会,所以就写了几题web(写了前三题感觉难度不是特别大)和最简单的几题应急响应,由于其是靶机代理的形式搞得web靶机,web靶机一直掉(扫后台还慢)所以我web最后一题就懒的写了,就去玩应急响应了。web-签到123456789101112131415161718192021222324252627282930from flask import Flask, request, jsonifyimport requestsfrom flag import flag # 假设从 flag.py 文件中导入了 flag 函数app = Flask(__name__)@app.route('/', methods=['GET', 'POST'])def getinfo(): url = request.args.get('url') if url: # 请求url response = requests.get(url) ...
NSS刷题
因为XY整体持续时间太长了,而且后面出的题目也越来越不做人。于是我就想着还是刷刷NSS学习学习吧。Unzip(ciscn)这道题目的主要学到的是关于软连接的知识。我先贴几篇文章https://www.cnblogs.com/crazylqy/p/5821105.htmlhttps://www.cnblogs.com/sueyyyy/p/10985443.html这篇文章讲的是软链接
前置知识软连接的概念软链接其实就是相当于windows的快捷方式而快捷方式其实就是一个指向对应路径或文件的一种文件,也就是说即使快捷方式在不同的电脑上只要路径存在其就会指向那个路径,软链接同理
软链接创造指令1234软链接ln -s source target硬链接ln source target
解题看道这题是文件上传那么我们可以很自然的想到上传一个一句话木马文件。但是我们通过扫后台看到的源码,可以看到其文件上传的位置在/tmp目录下123456789<?phperror_reporting(0);highlight_file(__FILE__);$finfo = finfo_open(FILEIN ...
XY学到的知识
感觉自己越来越懒了这个文件创建了很久,但是一直没有做好总结1.rce后拼接字符时绕过的方法在xy时我碰到了新的绕过方法,之前我有了解到可以使用#和短标签<?=?>来进行绕过,但这次比赛并不可以。于是我就在网上找到了这个新方法。
使用phar文件尾来截断代码,实现绕过。如标题当php文件在执行代码时遇到phar文件尾时效果与?>相似不会解析后面的代码也就不会出现后面的报错。我们可以发现即使在文件尾后面出现严重的语法错误也不会报错程序会正常运行那么在遇到如下代码时我们就可以尝试使用这个方法绕过12345$cmd=$_POST[cmd];if(preg_match("/#|<|>/",$cmd);){ die("nonono");}eval($cmd."lalalala");当遇到如上的题目即可使用该方法绕过1cmd=phpinfo();__HALT_COMPILER();
2.在文件包含时使用php://filter伪协议的过滤器来任意构造字符串。hxp CTF 2021 - ...
FCTF的wp
这个清明闲着没事和队友偷偷跑去打福州大学的线上校赛。整体下来打的还是很开心的。福大的师傅人很好,发现我们是校外的也就只是让我们换个号打,不要交flag,整体下来题目对web手来说还是比较友好的,对PWN手可能就不太友好了。还是能学到不少的下面是wpping一下~签到题没什么好说的直接管道符加命令执行就可以了。
被你们玩坏了的ping和上一题相比只是没有回显而已,一开始我准备弹shell后面发现弹不了就直接DNS外带了。
吃掉小土豆福大的题目都是有给源码的,如果题目没有给哪个代审的工具网站那么难度是有的,但是给了,用工具可以一眼看出是sql注入,注入点是$_session[name]而session是在rank.php下直接GET传值的。在简单的手测后发现位报错注入
can_u_find_me?我们查看一下源码会发现404窗口的报错页面位模板注入。我们看一下waf12345def waf(s): for i in blacklist: if i in s.split('/')[-1]: return s + '?ha ...
NSS刷题2。
哈哈哈哈水水博客写一写刷题学到的一些知识点[HDCTF 2023]YamiYami这道题目的前提知识点有点一点小多,也学到了不少知识
urlopen函数该函数的作用是打开一个url并进行重定向如下。我们可以看到网页并没有跳转但是成功查看到了百度的网页。而这个函数结合file伪协议是可以对系统的文件进行读取。如下我们可以看到其成功访问并且urlopen是可以解析url的地址的即file://后的地址可以转为url编码的形式。第一个/表示根目录不能url编码其他都可以。即我们可以将我们输入的文件地址转为url编码如/etc/passwd可以转为/%65%74%63%2f%70%61%73%73%77%64那么我们就可以采取这种方法对waf进行绕过。
PyYaml反序列化
NKCTF的复现学习
这次NKCTF我可以算是打的非常差了。下面是我的一下反思和复现学习我的第一个CMS这题没什么好说的了。CVE什么都找到了,扫了两个字典弱密码没扫出来。悲啊。密码本已经换了气死了。字典里只有admin123没有Admin123。我看了一下网上的字典很多都没有Admin123。CVE-2024-27622直接admin登陆,之后按照cve进行代码执行就可以了
attack_tacooooo这题我们打开会发现为pgadmin4的8.3版本我们在网上可以查到其存在上传文件进行反序列化执行的漏洞。CVE-2024-2044 漏洞我们要先登陆后台。账号提示为tacooooo@qq.com密码我在打比赛的时候猜了出来为tacooooo。之后我们在进行文件上传上传文件的时候我们可以进行抓包发包后查看响应来查看文件上传的目录位置因为触发这个反序列化需要将session的的一部分改成文件路径如下/var/lib/pgadmin/storage/tacooooo_qq.com/posix.pickle之后再触发反序列化1234567891011121314import pickleimport osimpo ...
初探phar反序列化
在NSS刷题的时候遇到了phar反序列化的题目我个人认为有必要学习一下这个漏洞因此写下这篇文章。前言我们都知道一般的php反序列化都需要一个参数可控的unserialize函数。这就导致反序列化的条件可以说非常的苛刻。但是在18年的blackhat大会上Sam Thomas 分享了 File Operation Induced Unserialization via the “phar://” Stream Wrapper ,该研究员指出该方法在 文件系统函数 ( file_get_contents 、 unlink 等)参数可控的情况下,配合 phar://伪协议 ,可以不依赖反序列化函数 unserialize() 直接进行反序列化的操作
原理phar是将php文件打包的一种压缩文档,其类似于java的jar包。其特点是会以序列化的形式将用户自定义meta-data进行存储。当我们使用phar://伪协议读取该文件时,meta-data就会进行反序列化。这时候就会产生反序列漏洞。
构造phar文件12345678910111213141516<?phpini_set( ...
NSSCTF刷题1(内有无字符数字RCE)
实在不知道干点什么了,正好之前抽到NSS的vip,刷刷题,学习学习。[CISCN 2019华北Day2]Web1(盲注)陈年老题了,打开就提醒我们注入,把表和列名都说了。那么我们尝试一下就会发现可以进行异或注入并且过滤了空格。我们可以使用%0a或者括号来绕过,之后就是布尔盲注了exp1234567891011121314151617181920212223242526import requestsimport timeurl = "http://node4.anna.nssctf.cn:28454/index.php"payload = {"id":""}flag = ""for i in range(1, 150): time.sleep(0.06) low = 32 high = 128 mid = (low + high) >> 1 while low < high: payload["id"] = ...
php特性
由于本人发现我对php的特性只有浅显的认知,尤其是对正则表达式的认知不够充分所以写下这篇文章弱类型比较首先就是老生常谈的弱比教了。由于对这块还是较为属性所以我就记录一些弱类型比较的函数就好注意:一般弱比较只有在不同类型进行比较是才会展现出特性。
函数in_array()in_array()在数组中查找字符,找到返回true,没找到返回false1234$array=array('aaa');echo in_array(0,$array);-------bool(ture)
array_search()这个函数在数组中搜索给定的值,并返回键名(如果找到的话)。它是非严格的,意味着在比较时不会检查数据类型。1234<?php$array = array('0', '1aaaa', 2, '3');$key = array_search(1, $array); // 这里会找到,因为 '1' 会被转换为整数 1echo $key; // 输出 1
array_keys()当与可选的 se ...
初探外网信息收集
作为一个web手一个好的信息收集能力是必须的,无论是渗透测试还是打比赛都少不了信息搜集主域名信息IPC备案备案查询是为了查询改单位注册了多少网站。
查询网站1https://beian.miit.gov.cn/#/Integrated/recordQuery
whois查询通过whois信息可以获取注册人的关键信息。如注册商、联系人、联系邮箱、联系电话,也可以对注册人、邮箱、电话反查域名,也可以通过搜索引擎进一步挖掘域名所有人的信息。深入可社工、可漏洞挖掘利用。
查询网站:12345678910111213141516171819202122232425国内:站长之家http://whois.chinaz.comIP138网站https://site.ip138.com/域名信息查询-腾讯云https://whois.cloud.tencent.com/ICANN LOOKUPhttps://lookup.icann.org/狗狗查询https://www.ggcx.com/main/integrated国外:Bugscannerhttp://whois.bugscaner.com国 ...