swpuctf专题

[SWPUCTF 2021 新生赛]web方向(一到六题) 解题思路,实操解析,解题软件使用,解题方法教程

题目来源 NSSCTF | 在线CTF平台因为热爱,所以长远!NSSCTF平台秉承着开放、自由、共享的精神,欢迎每一个CTFer使用。https://www.nssctf.cn/problem   [SWPUCTF 2021 新生赛]gift_F12 这个题目简单打开后是一个网页  我们一般按F12或者是右键查看源代码。接着我们点击ctrl+f后快速查找,根据题目给的格式我们搜索c

[SWPUCTF 2023 秋季新生赛]Pingpingping

这种是ctf中比较简单的一类题,主要解法基本上也就那些形式。 这道题我给它提出来主要是涉及了一下比较零散的知识点,觉得想要跟大家分享一下。 <?phphighlight_file(__FILE__);error_reporting(0);$_ping = $_GET['Ping_ip.exe'];if(isset($_ping)){system("ping -c 3 ".$_ping)

NSSCTF练习记录:[SWPUCTF 2021 新生赛]traditional

题目: 西方的二进制数学的发明者莱布尼茨,从中国的八卦图当中受到启发,演绎并推论出了数学矩阵,最后创造的二进制数学。二进制数学的诞生为计算机的发明奠定了理论基础。而计算机现在改变了我们整个世界,改变了我们生活,而他的源头却是来自于八卦图。现在,给你一组由八卦图方位组成的密文,你能破解出其中的含义吗?震坤艮 震艮震 坤巽坤 坤巽震 震巽兑 震艮震 震离艮 震离艮格式:NSSCTF{}

NSSCTF练习记录:[SWPUCTF 2021 新生赛]ez_caesar

题目: import base64def caesar(plaintext):str_list = list(plaintext)i = 0while i < len(plaintext):if not str_list[i].isalpha():str_list[i] = str_list[i]else:a = "A" if str_list[i].isupper() else "a"st

[SWPUCTF 2023 秋季新生赛]UnS3rialize

[SWPUCTF 2023 秋季新生赛]UnS3rialize 点开之后得到一串php代码: <?phphighlight_file(__FILE__);error_reporting(0);class NSS{public $cmd;function __invoke(){echo "Congratulations!!!You have learned to construct a

[SWPUCTF 2022 新生赛]善哉善哉(隐写,新佛曰,MD5)

题目: 我们看到:题目就是一张图片便联想到隐写术。、 首先查看图片的详细信息我们看到 又看到有关MD5加密。 我们利用小鲨鱼(Stegsolve)破解得到: 小鲨鱼下载可参考:CSDN小鲨鱼下载安装配置 最后面有一段摩斯密码,破译后得到 易知道这是新佛曰密码,解密后得到 我们看到:和新佛曰解码错误的placeholder几乎一模一样,但其实不是解码失败的placeh

Pikachu上的CSRF以及NSSCTF上的[NISACTF 2022]bingdundun~、 [SWPUCTF 2022 新生赛]xff

目录 一、CSRF CSRF(get) login  CSRF(post) CSRF Token  二、CSRF的相关知识点  (1)什么是CSRF? (2)工作原理 (3)CSRF漏洞形成的条件 1、用户要在登录状态(即浏览器保存了该用户的cookie) 2、用户要访问攻击者发的恶意url链接才行 (4)与XSS的区别 (5)CSRF的防御 三、NSSCTF上的题 在

NSSCTF | [SWPUCTF 2021 新生赛]babyrce

打开题目,显示了一个php脚本 我们来分析一下这个脚本是什么意思 <?phperror_reporting(0);header("Content-Type:text/html;charset=utf-8");highlight_file(__FILE__);if($_COOKIE['admin']==1) {include "../next.php";}elseecho

[SWPUCTF 2021 新生赛]PseudoProtocols、[SWPUCTF 2022 新生赛]ez_ez_php

[SWPUCTF 2021 新生赛]PseudoProtocols 打开环境,提示hint.php就在这里,且含有参数wllm 尝试利用PHP伪协议读取该文件 ?wllm=php://filter/convert.base64-encode/resource=hint.php//文件路径 php://filter 读取源代码并进行base64编码输出。 有一些敏感信息会保存在php文件

RCE漏洞及其绕过——[SWPUCTF 2021 新生赛]easyrce、caidao、babyrce

目录 什么是Shell 1、Shell简介 2、印刷约定 一、什么是RCE 漏洞产生条件: 漏洞检测: 1.远程命令执行 system()函数: passthru()函数: exec()函数: 无回显 shell_exec()函数:  2.远程代码执行  eval()函数: 可将代码执行漏洞间接替换成命令执行漏洞 ${}执行代码: ​编辑  isset()函数:

[SWPUCTF 2021 新生赛]原来你也玩原神

思路很乱: 先把zip转为MP3 再用MP3stego工具 得到text再转换为zip发现为加密 放入010把09改为00 打开zip文件得到flag

[SWPUCTF 2021 新生赛]crypto2(共模攻击)

题目: from gmpy2 import *from Crypto.Util.number import *flag = '***************'p = getPrime(512)q = getPrime(512)m1 = bytes_to_long(bytes(flag.encode()))n = p*qe1 = getPrime(32)e2 = getPrime(32

[SWPUCTF 2021 新生赛]crypto5(小明文攻击)

题目: 直接暴力破解: from Cryptodome.Util.number import *import gmpy2flag = 251667516535309413648396638468065433877208653392633709079856557751521873194647157371165991714772070474300653458826262598807568390

NSS [SWPUCTF 2022 新生赛]ez_ez_unserialize

NSS [SWPUCTF 2022 新生赛]ez_ez_unserialize 开题,直接给了题目源码。 简单看了一下,题目告诉我们flag在哪,而且类中有高亮文件方法。怎么拿flag已经很明显了。关键点在于__weakup()魔术方法固定死了我们高亮的文件。所以这题只需要绕过__weakup()。 PHP版本是5.5.38 我们可以使用使对象的属性数量不一致凡凡来绕过 CVE

[SWPUCTF 2021 新生赛]babyrce

先打开环境 分析代码,要给COOKIE赋值admin=1 使用hackbar赋值 打开rasalghul.php 分析代码,使用GET传参url,如果url里没有/  /,则赋值给ip,然后通过shell_exec函数得到flag,否则,返回nonono。他这儿是过滤了空格的 首先 ?url=ls 查看 接着空格绕过url=cat%09/flag 没有报错,但也没有f

NSS [SWPUCTF 2022 新生赛]奇妙的MD5

NSS [SWPUCTF 2022 新生赛]奇妙的MD5 先看题目。 ffifdyop,根据函数md5加密后,再次转换为字符串时,会变成’or’6 。进入第二关。源码里面有东西。 数组绕过或者一样的md5咯。 ?x[]=1&y[]=7 Url多出一个后台。访问一下。 wqh[]=1&dsy[]=7

php伪协议 [SWPUCTF 2022 新生赛]ez_ez_php(revenge)

打开题目 题目源代码如下 <?phperror_reporting(0);if (isset($_GET['file'])) {if ( substr($_GET["file"], 0, 3) === "php" ) {echo "Nice!!!";include($_GET["file"]);} else {echo "Hacker!!";}}else {highlight_file

SWPUCTF_2019_p1KkHeap(负溢出tcache)de1ctf_2019_weapon(IO_FILE泄露libc)

SWPUCTF_2019_p1KkHeap IDA分析 用IDA反编译发现,此题操作有如下限制 顺便说一下,buu上的所有ubuntu18的题目都是带tcache-double-free的,其实这不太好,怕养成习惯这样解题。 这里可以看到的是,对delete和add有明显的次数限制,不能简单的tcache-poisoning来泄露libc。本题一开始也是卡在这里,没有别的思路。 之后参考了别

[SWPUCTF 2021 新生赛]crypto8

第一眼看见是乱码不确定是什么的编码 看了下感觉是UUencode编码 UUencode编码是一种古老的编码方式,通常用于将二进制数据转换成可打印字符的形式。UUencode编码采用一种基于64个字符的编码表,将每3个字节的数据编码为4个可打印字符,以实现数据的转换和传输。 下面是一个简单的示例,展示如何对字符串"Hello, World!"进行UUencode编码: 首先,将字符串转换为AS

[NSSCTF]-Web:[SWPUCTF 2021 新生赛]easyrce解析

先看网页 代码审计: error_reporting(0); :关闭报错,代码的错误将不会显示 highlight_file(__FILE__); :将当前文件的源代码显示出来 eval($_GET['url']); :将url的值作为php代码执行 解题: 题目既然允许我们自己输入代码,那我们就先ls查看文件 http://node5.anna.nssctf.cn:28422/

[NSSCTF]-Web:[SWPUCTF 2021 新生赛]easy_sql解析

查看网页 有提示,参数是wllm,并且要我们输入点东西 所以,我们尝试以get方式传入 有回显,但似乎没啥用 从上图看应该是字符型漏洞,单引号字符注入 先查看字段数 /?wllm=2'order by 3--+ 没回显 报错了,说明字段数是3 然后查看回显点 /?wllm=2'union select 1,2,3--+ 注意,这里需要把wllm设置为不

[SWPUCTF 2021 新生赛]include

他让我们传入一个flag值 我们传入即可看到代码部分 传入一个php的伪类即可 得到经过Base64加密的flag,解密即可

[SWPUCTF 2021 新生赛]ez_unserialize

根据下面的user_agent和Disallow可以判断这个是在robots.txt 我们看的出来这是一个反序列化需要我们admin=admin passwd=ctf construct 构造方法,当一个对象被创建时调用此方法,不过unserialize()时却不会被调用 destruct 析构方法,PHP将在对象被销毁前(即从内存中清除前)调用这个方法 但是我们看到它下面已经给我们一个p的get

[SWPUCTF 2021 新生赛]easy_md5

用get给name 用post给password 二个值不相等MD5相等 可以通过php的弱类型绕过 $a!=$bmd5($a)==md5($b) 找到不同 a 和 a和 a和b,两者的md5值均为0e开头的形式

[SWPUCTF 2022 新生赛]贪吃蛇

那我们就hack吧 字符串里面找到了关键信息 跟进查看 我们刚刚是cant flag 那么这个 tflag 和s flag 就是我们需要的 先对tflag进行一个操作,然后粘贴进入sflag 这是对tflag的操作 int __cdecl decode_flag(int a1){int result; // eaxint i; // [esp+Ch] [ebp-4

[SWPUCTF 2021 新生赛]easyapp

下载得到一个附件 查壳后面就写一个apk,丢进java反编译也没辙 010看下文件头 ZIP Archive (zip),文件头:50 4B 03 04 ascii码部分是PK,可以直接根据PK判断是zip文件,也有可能是doc文件 rar文件: 52 61 72 21 7z文件头:37 7A BC AF 27 1C(实验吧,有趣的文件用到了) 百度知道了这是zip文件 解压