![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NSSCTF
文章平均质量分 95
刷题1
呕...
这个作者很懒,什么都没留下…
展开
-
NSSCTF做题(9)
看见输入框而且有提示说是ssti注入输入{{7*7}} 试试,发现报错 输入{%%}发现了是jinja2模板 找到关键函数Python SSTI利用jinja过滤器进行Bypass · ph0ebus's Blog 原理见这篇文章,这里直接给出payload第二种:文件包含 过滤了很多东西,基本的伪协议都用不了了,这里涉及到一个没遇到过的文件包含---日志包含日志包含漏洞-CSDN博客看到了服务器是nginx 抓包访问: 由本地日志文件可以看到nginx服务器中记录的是每次请求user-agent报文,那么原创 2023-10-14 22:59:58 · 590 阅读 · 0 评论 -
NSSCTF第九页(1)
看到了一个东西访问之后进行简单的ssti注入发现被骂了......这里过滤了双大括号,只能用这道题的考点没有{{情况下如何构造回显如何绕过字符串过滤过滤器的熟悉程度看大佬的wp才知道这道题怎么做因为.和[]被过滤,所以使用flask的|attr来调用方法推荐去看nssctf这道题里的,这位大佬的wp——v2ish1yan的WriteUp再给大家推荐两篇flask过滤绕过的文章‘’|attr(“__class__”)等于如果要使用xxx.os(‘xxx’)类似的方法,可以使用。原创 2023-10-24 13:43:34 · 148 阅读 · 0 评论 -
NSSCTF第8页(1)
js代码审计,找关键语句,发现event.js里边东西是最多的找到了通关语句他下边应该是就关键代码了,有一串16进制代码解出来是base64,接着解 两次base64 解码,就得到了flag, 把前缀换成NSSCTF就ok。原创 2023-10-21 23:50:31 · 142 阅读 · 0 评论 -
NSSCTF做题(8)
看到了js代码有一个base64编码,解密最后发现这是一个加密方式去掉空格之后得到了flag。原创 2023-10-11 20:18:48 · 389 阅读 · 0 评论 -
NSSCTF第11页(1)
进到主页翻译回答以下数学问题20次;你有3秒钟的时间来解决每个问题;为了保护服务器,你不能在1秒内回答一个问题您已回答0个问题;让我们3秒速算,没那个实力,提示说是写脚本,之前从来没写过,趁这次学习一下看了这个大佬的思路,很清晰脚本import re)</div>'num=''print(num)这段代码使用Python编写,实现了一个循环请求网页并进行简单计算的功能。importtime用于控制时间间隔,requests用于发送HTTP请求,re用于正则表达式匹配。url。原创 2023-11-06 22:15:21 · 262 阅读 · 1 评论 -
NSSCTF做题(10)
叫10好听一点,就是补9的 第7页的内容。原创 2023-10-19 20:11:33 · 471 阅读 · 0 评论 -
NSSCTF第11页(2)
直接复制传参发现然后命令执行发现成功了。。。。原创 2023-11-09 16:57:07 · 195 阅读 · 0 评论 -
NSSCTF第十页(2)
题目提示是jinja2模板怎么感觉之前做过,看到了注入随便进行一下注入,发现了过滤大致的黑名单args -- 无法使用 request.argsos -- 无法导入os不允许post -- 无法使用 request.value正常用的payload因为过滤了东西,所以就可以用request.cooike来进行注入get:?e=lipsum;z=flag得到flag。原创 2023-11-04 22:39:10 · 362 阅读 · 0 评论 -
NSSCTF第8页(2)
没有环境。原创 2023-10-23 20:11:35 · 437 阅读 · 0 评论 -
NSSCTF做题第9页(2)
这道题主要有三个绕过点,第一个是__wakeup()函数,第二个是变量的MD5相等,但是两个变量不等那需要我们构造的两个类就是class lt和class fin构造的时候设置一个变量a,创建了一个类的对象lt然后把md5的条件满足一下,而这类的第一个变量$impo没有用到就可以利用它来指向下一个新创建的变量class fin,再利用fin里边的公共变量进行命令执行得到flagphpclass ltclass finpublic $a;原创 2023-10-25 13:14:02 · 357 阅读 · 0 评论 -
NSSCTF做题第十页(1)
看源代码也没什么东西,扫一下看看发现了git泄露 话不多说直接开整下载下来了flag.php还是代码审计phpecho "flag在哪里呢?<br>";if (!if(';R)?if (!else{die("还差一点哦!");else{die("再好好想想!");else{die("还想读flag,臭弟弟!");?看见了eval危险函数执行,还有正则第一个if过滤了data/filter/php/phar伪协议,不能以伪协议形式直接读取文件。原创 2023-10-30 20:59:16 · 198 阅读 · 0 评论 -
NSSCTF做题(7)
反序列化这道题还是反着来,先去找pop链的尾部,找到尾部之后再往前翻1.要想读出 flag.php 就要触发 file_get_contents() 函数;2.要想触发 file_get_contents() 函数就要触发 ace 的 echo_name();原创 2023-10-09 21:11:00 · 718 阅读 · 0 评论 -
NSSCTF第11页(3)
源码发现会在写入文件之前会删除目录下的除了index.php的文件。写入文件的文件名和文件内容也是可控的,只不过存在过滤stristr函数对文件内容进行过滤,该函数绕过还是简单的,只需要添加一些特殊字符就可以了,和字符串弱类型比较相似。对于文件名的正则匹配,有点没读懂怎么个条件,到底是允许字母还是不允许,测试了一下该代码环境,运行之后明白该正则条件输入.[a-z]是可以绕过该正则的,返回false知道了这些剩下的就是利用了既然会删除除了index.php文件,直接覆盖index.php。原创 2023-11-09 20:20:45 · 620 阅读 · 0 评论 -
NSSCTF第10页(3)
第一题:(1/?第三题:php// 第三个彩蛋!(看过头号玩家么?//(3/??第六题:wow 你找到了第二个彩蛋哦~_S0_ne3t?(2/?第七题:这个好像是最后一个个彩蛋拼接:_S0_ne3t?注意:题目给的提交的格式是NSSCTF{},因此:_S0_ne3t?原创 2023-11-05 11:47:31 · 349 阅读 · 0 评论 -
NSSCTF做题第9页(3)
代码审计这段代码定义了一个名为ClassName的类,并在脚本的最后创建了一个ClassName类的实例。在ClassName类的构造函数中,首先通过调用$this->x()方法获取了请求参数$_REQUEST中的值,并将其赋值给属性。接下来,使用函数对进行解码,将解码后的结果赋值给属性。最后,使用eval()函数执行中的代码。ClassName类还定义了一个名为x()的公共方法,它返回$_REQUEST数组,即包含了所有请求参数的关联数组。最后,通过创建了一个ClassName。原创 2023-10-25 22:11:59 · 517 阅读 · 1 评论 -
NSSCTF做题(5)
注意 PHP>=5.3.0压缩包需要是zip协议压缩,rar不行,将木马文件压缩后,改为其他任意格式的文件都可以正常使用。然后,将文件的内容作为响应返回。其中a,b1,b2都可以用数组绕过,因为a是正则绕过,b是MD5绕过,接下来看c c强调了要传入c1不等于c2 c1,c2都要是字符串,c1c2的MD5值要相等 所以c就不能用数组绕过,可以用科学计数法0e绕过。它检查请求中是否包含文件,将文件保存到目录中,使用 生成唯一 ID,将 ID 和文件路径插入到数据库中的表中,最后将用户重定向到路由。原创 2023-09-30 20:10:01 · 8038 阅读 · 0 评论 -
NSSCTF做题(3)
代码审计解析:通过语句引入了一个名为utils.php的外部文件,该文件可能包含一些辅助函数或变量。当通过POST请求提交了名为guess$guess$guess$secret$flag$message$messageutils.php如果通过GET请求提交了名为的参数,那么会将当前脚本文件的源代码以语法高亮的形式输出,并终止脚本执行。如果没有提交参数,那么会将当前脚本文件的源代码以普通文本的形式输出。了解了这些,看看我们要构造的payload这里随便定义即可utils.php。原创 2023-09-27 22:06:51 · 294 阅读 · 0 评论 -
NSSCTF做题(4)
简单的一道代码审计了 但是发现传参传不上去后来发现 在选中nisactf的时候,注释里面的内容也被标记了不知道是为什么,把它复制到010里边去看看发现了不对的地方nisactf应该传参根据这个进行url编码我们选择实际的参名和字符串,并转为url编码格式(每两位前加%)最后构造的payload得到flag。原创 2023-09-29 21:09:17 · 213 阅读 · 0 评论 -
NSSCTF做题(6)
查看源代码得到开始代码审计page变量不存在或page变量不是字符串时返回false满足page变量在whitelist数组内返回true截取page变量第一个?前的字符串##只有三个条件全部为true时才可触发1.!##条件1表示参数不为空时返回true##条件2表示参数为字符串时返回true##条件3表示参数满足checkFile函数时返回true满足经过两次?截断后仍能通过白名单检查,并且include正确路径,才输出flag。先看看hint.php找到了flag的目录。原创 2023-10-01 13:54:07 · 515 阅读 · 0 评论 -
NSSSCTF做题(2)
打开页面发现没什么东西,只有一个提交表单,然后url会显示你提交的信息源代码里也看不到什么 ,用dirsearch扫一下,这些是扫出来的数据抓包看到了提示在密码加密的过程中,中的true表示将结果以二进制形式返回。在PHP中,md5()函数默认将结果以32位的十六进制字符串形式返回,而添加true参数后,将以16个字节的二进制字符串形式返回。转化为二进制之后前面正好是‘ or ’6-------(这个也是个之前学过的知识点,但是给忘了)ffifdyop——绕过中一个奇妙的字符串。原创 2023-09-26 20:20:57 · 406 阅读 · 0 评论 -
NSSCTF做题
打开题目 发现是登录的界面 用admin和password试一下发现不行用dirsearch扫一下发现了git泄露 但是用githack下载不下来文件 去网上查了一下webftp 发现是一个在线php文件管理系统在这篇博客中提到,引用一下发现能直接登录phpinfo.php 拿到flag。原创 2023-09-24 17:57:09 · 601 阅读 · 0 评论 -
NSSCTF
在源代码界面找到了flag。原创 2023-09-23 22:33:44 · 400 阅读 · 0 评论