SHCTF2023-校外赛道WP部分

2024-02-13 06:30

本文主要是介绍SHCTF2023-校外赛道WP部分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SHCTF2023-校外赛道WP部分

    • 前言:
    • Web:
      • [WEEK1]babyRCE:
      • [WEEK1]1zzphp:
      • [WEEK1]ez_serialize:
      • [WEEK1]登录就给flag:
      • [WEEK1]飞机大战:
      • [WEEK1]ezphp:
    • MISC:
      • [WEEK1]请对我使用社工吧:
      • [WEEK1]也许需要一些py:
      • [WEEK1]ez-misc:
      • [WEEK1]Steganography:
      • [WEEK1]签到题:
      • [WEEK1] 真的签到:
      • [WEEK1]可爱的派蒙捏:
      • [WEEK1]Jaeger lover:
      • [WEEK1]message:
      • [WEEK2]远在天边近在眼前:
      • [WEEK2]可爱的洛琪希:
      • [WEEK2]喜帖街:
      • [WEEK2]图片里的秘密:
      • [WEEK2]表里的码:
      • [WEEK3]ez_usb:
      • [WEEK3]请再次对我使用社工吧:
    • Crypto:
      • [WEEK1]立正:
      • [WEEK1]Crypto_Checkin:
      • [WEEK1]凯撒大帝:
      • [WEEK1]进制:
      • [WEEK1]okk:
      • [WEEK1]熊斐特:
      • [WEEK1]黑暗之歌:
      • [WEEK1]迷雾重重:
      • [WEEK1]难言的遗憾:
      • [WEEK1]小兔子可爱捏:
    • Reverse:
    • PWN:
    • 联系博主,欢迎交流和学习!!

前言:

由于刚接触CTF没多久 还是属于萌新级别的也没怎么打过比赛记录一下学习的过程大佬绕过即可,后续会继续加油努力。

比赛地址:http://shctf.club/

Web:

[WEEK1]babyRCE:

<?php$rce = $_GET['rce'];
if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|\"/i", $rce)) {system($rce);}else {echo "hhhhhhacker!!!"."\n";}
} else {highlight_file(__FILE__);
}

Payload:?rce=c\at$IFS\../../../../../../../f\lag

在这里插入图片描述

flag{2deb9790-0dee-498a-8b63-1ca0bee9c7ae}

[WEEK1]1zzphp:

<?php 
error_reporting(0);
highlight_file('./index.txt');
if(isset($_POST['c_ode']) && isset($_GET['num']))
{$code = (String)$_POST['c_ode'];$num=$_GET['num'];if(preg_match("/[0-9]/", $num)){die("no number!");}elseif(intval($num)){if(preg_match('/.+?SHCTF/is', $code)){die('no touch!');}if(stripos($code,'2023SHCTF') === FALSE){die('what do you want');}echo $flag;}
} 

[WEEK1]ez_serialize:

[WEEK1]登录就给flag:

admin
password

在这里插入图片描述

[WEEK1]飞机大战:

F12查看源代码 js里面有unicode编码 在Base64解码即可。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

flag{9b7846fc-2ec0-4d41-8db7-858525c0079b}

[WEEK1]ezphp:

<?php
error_reporting(0);
if(isset($_GET['code']) && isset($_POST['pattern']))
{$pattern=$_POST['pattern'];if(!preg_match("/flag|system|pass|cat|chr|ls|[0-9]|tac|nl|od|ini_set|eval|exec|dir|\.|\`|read*|show|file|\<|popen|pcntl|var_dump|print|var_export|echo|implode|print_r|getcwd|head|more|less|tail|vi|sort|uniq|sh|include|require|scandir|\/| |\?|mv|cp|next|show_source|highlight_file|glob|\~|\^|\||\&|\*|\%/i",$code)){$code=$_GET['code'];preg_replace('/(' . $pattern . ')/ei','print_r("\\1")', $code);echo "you are smart";}else{die("try again");}
}else{die("it is begin");
}
?>
it is begin
get: ?code=${phpinfo()}
post:  pattern=(.*)

在这里插入图片描述

flag{afdc2798-2891-4b37-bce8-69610b0ecde8}

MISC:

[WEEK1]请对我使用社工吧:

k1sme4的朋友考到了一所在k1sme4家附近的大学,一天,
k1sme4的朋友去了学校对面的商场玩,并给k1sme4拍了一张照片,你能找到他的学校吗? 
flag格式:flag{xx省_xx市_xx区_xx大学}

加k1sme4师傅不同意 QQ空间看到一张图片 b站界面
黄河入海口在山东东营,图片给的是商场 然后百度地图搜了一下 东营万达 🆗 对面就是石油大学

在这里插入图片描述
在这里插入图片描述

flag{山东省_东营市_东营区_中国石油大学}

[WEEK1]也许需要一些py:

解压需要密码flag.txt 旁边看到了摩斯密码解码得到 压缩包密码:THIS1SY0UKEY

切换一下大小写不然打不开:this1sy0ukey 然后这个不是flag 放入010 加个png 文件头

需要 匹配字符爆破大小写碰撞 看脚本(确实需要一些py)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import hashlibdef md5(s):md5 = hashlib.md5()s = s.encode('utf-8')md5.update(s)return md5.hexdigest()
def check(k,s):ind = 0ss = ''for i in s:if i.isalpha():if k[ind] == '1':ss += i.upper()else:ss += iind += 1else:ss += ireturn ssans = '63e62fbce22f2757f99eb7da179551d2'
s = 'pNg_and_Md5_SO_GreaT'.lower()cnt = 0 #字母数量
for i in s:if i.isalpha():cnt += 1for i in range(2**cnt):k = bin(i)[2:].zfill(cnt)out = check(k,s)if md5(out) == ans:print('flag{'+out+'}')break

在这里插入图片描述

flag{Png_AnD_md5_so_GReAt}

[WEEK1]ez-misc:

01game这里面是二进制文件 使用脚本先把他转换为二维码
扫码得到解压密码: hit_k1sme4_4_fun

输入密码解压,在右边看到一串二进制 解出来是一个字典 rockyou 应该比较熟悉了 爆破即可。

01110010011011110110001101101011011110010110111101110101

在这里插入图片描述

from PIL import Image
MAX = 25
pic = Image.new("RGB",(MAX, MAX))
str = "1111111011111111011000111111110000010011000101010001000001101110100011000110010010111011011101011010000100010101110110111010000111111000001011101100000100011101111010010000011111111010101010101010111111100000000000000111111100000000001011101000111010100100010010011000000101101111100010001110110010101001111010001110011101001001001100100010001000100110001001100010101001110100011010000110100110000001101111000001100111111000100101011111000110010000011111111111000111010110001110100100110011010011000011010000110011100100111011001110011010100110100111101101000110001001110101010010100100110001111101111111100010000000011110011010110001000011111110010000000001101010111100000101110100010101000100101011101011000001110011111111110111010010101001010000110100101110101111111011010001100011000001000111101111001001101011111110010100011110111100111"
i = 0
for y in range (0,MAX):for x in range (0,MAX):if(str[i] == '1'):pic.putpixel([x,y],(0, 0, 0))else:pic.putpixel([x,y],(255,255,255))i = i+1
pic.show()
pic.save("flag.png")

在这里插入图片描述
在线2进制转ASCII:https://coding.tools/cn/binary-to-text#google_vignette

在这里插入图片描述
得到密码:palomino 修改flag后缀zip 解压得到 一串字符 猜测是字频统计

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

flag{SHyk1sme4}

[WEEK1]Steganography:

careful1.jpg 放进 010 查看发现 Base64 编码 然后解码
然后另一张查看熟悉 进行拼接得到 解压密码: 12ercsxqwed909jk

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

flag{4d72e4f3-4d4f-4969-bc8c-a2f6f7a4292c}

[WEEK1]签到题:

Wm14aFozdDBhR2x6WDJselgyWnNZV2Q5 #Base128  Base64解两次即可。

Base64在线解码:http://www.jsons.cn/base64

在这里插入图片描述

flag{this_is_flag}

[WEEK1] 真的签到:

关注公众号山东汉任信息安全技术有限公司,回复 SHCTF我踏马来辣! 得到flag

在这里插入图片描述

flag{Welc0me_tO_SHCTF2023}

[WEEK1]可爱的派蒙捏:

在这里插入图片描述
foremost 进行分离得到两个txt 进行对比多出来的就是flag

在线网站:https://text-compare.com/

在这里插入图片描述
在这里插入图片描述

flag{4ebf327905288fca947a}

[WEEK1]Jaeger lover:

PS:do you know Pacific Rim?(all have 4 steg,every image file have 2 steg)
环太平洋 电影 这题的思路 🆗 我们先来看看

在这里插入图片描述
放入010 发现尾部有Base编码系列特征 Base58-32-64

百度百科得到一个:Tri-Sun Horizon Gate 尝试 steghide 隐写

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

steghide extract -sf Typhoon.jpg -p "Tri-Sun Horizon Gate" 

在这里插入图片描述
得到压缩包解压密码:.*+#1Ao/aeS

在这里插入图片描述
得到一张图片,感觉图片高度下面少了点东西,工具一把梭哈 得到key:K34-759183-191

在这里插入图片描述

oursecret下载:http://www.uzzf.com/soft/68820.html

在这里插入图片描述

flag{A1l_boys_aRe_Jaeger_L0ver!!}

[WEEK1]message:

0001000D91683106019196F40008C26211002072B975915730671B54114F60000A000A592982B15C065265843D8A938A00000A000A5E8A9AA453D883525730000A000A91527CBE518D6E1751656CEA75D5000A000A6C899ED852305BF94E0D8D77000A000A8FD94E0053CC624B535191195230002062B14F4F4F6000530048004300540046007B00620061003900370038003400300035002D0062003100630038002D0038003400370063002D0038006500360039002D006600360032003100370037006500340063003000380037007D

在线PDU解码:http://www.sendsms.cn/pdu/

在这里插入图片描述

SHCTF{ba978405-b1c8-847c-8e69-f62177e4c087}

[WEEK2]远在天边近在眼前:

打开容器下载下来 一个压缩包 套娃文件夹 一个一个拼接即可。

在这里插入图片描述
在这里插入图片描述

flag{tH1s_15_Re4llY_E4sy_4lri9ht?_ca0aee7ec705}

[WEEK2]可爱的洛琪希:

PS:把你的详细信息都交出来!

在线Bse64转图片:https://tool.jisuapi.com/base642pic.html

在这里插入图片描述
根据提示详细信息猜测是EXIF 在线网站 工具(exiftool)都可以

在线查看EXIF信息:https://exif.tuchong.com/view/13800262/

在这里插入图片描述

HEX解码得到一串字符 放入010 结尾发现keynanian 直接艾尼维亚解密得到flag

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是感觉这个不太对呀 换个在线网站试试 wdf!

在线维吉尼亚解密:http://www.atoolbox.net/Tool.php?Id=856

在这里插入图片描述

flag{Roxy_daisuki!}

[WEEK2]喜帖街:

PS:喜帖街里就得有“喜帖”,ok?

一个音频文件使用工具Audacity 右键查看频谱得到:LeeTung密码 Steghide隐写一下 得到flag

在这里插入图片描述
在这里插入图片描述

steghide extract -sf music.wav -p LeeTung

在这里插入图片描述

ok在线解码:https://www.splitbrain.org/services/ook

在这里插入图片描述

在这里插入图片描述

flag{w@v2txt_s0_Int3r3st1ng!}

[WEEK2]图片里的秘密:

PS :盲僧能出水银鞋吗?

在这里插入图片描述

在这里插入图片描述
分离得到一张杰尼龟得图片 再根据提示 水印鞋?? 🆗上工具 得到flag。

在这里插入图片描述

在这里插入图片描述

flag{Blind_Water_Mark!}

[WEEK2]表里的码:

[WEEK3]ez_usb:

[WEEK3]请再次对我使用社工吧:

很好的城市,很大的水域,很美的山,有山有水但没有海,爱来自山东。
你能找到我脚下这座山的名字吗?
flag格式:flag{xx省_xx市/区_xx市/区_xx山}

首先拿到这个图 观察一下发现旁边有一个突出的,像烈士陵墓的建筑 而且说了是山东,上地图

在这里插入图片描述
其实找了好久好久 没啥思路就一个市一个的看 看到了山东泰安市 直接搜附件有没有什么山都没有结果 然后 搜着发现新泰有 然后我就去官网看全景 看了半天 感觉和给的图片有点像 这个其实过程试了好久 看着其实挺轻松的 找别的市没啥 思路 全景进去看的时候 感觉就是这个 尝试🆗 没问题!

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

flag{山东省_泰安市_新泰市_青云山}

Crypto:

[WEEK1]立正:

在线逆序:https://study.100xgj.com/textturn/

在这里插入图片描述

:Y Trrn dw brx~  wklv lv iodj: HpakH8wHUNDiBDC6V636gLZxHN46CN4bUEgQgN4xUNg4 ghfrgh lw

通过ROT13系列解密 23-18-5Base64解密即可得到flag

在这里插入图片描述
在这里插入图片描述

flag{Y0U_MU57_5t4nd_uP_r1gHt_n0W}

[WEEK1]Crypto_Checkin:

套娃加密 分别为 Base85-64-32 然后HEX解密得到flag

在这里插入图片描述

flag{Th1s_1s_B4s3_3nc0d3}

[WEEK1]凯撒大帝:

pvkq{mredsrkyxkx}

在这里插入图片描述

flag{chutihaonan}

[WEEK1]进制:

好熟悉的进制,但不知道加密了几层
3636366336313637376236313638363636623661366336383662363136383764  #两次即可。

在这里插入图片描述
在这里插入图片描述

flag{ahfkjlhkah}

[WEEK1]okk:

上面有贴网址 直接解码。

在这里插入图片描述

flag{123456789}

[WEEK1]熊斐特:

uozt{zgyzhs xrksvi}

在这里插入图片描述

flag{atbash cipher}

[WEEK1]黑暗之歌:

在线盲文解码:http://www.atoolbox.net/Tool.php?Id=837

在这里插入图片描述
Base64解码得到 音乐符号 进行解码即可。

在线音乐符号解密:https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue

在这里插入图片描述
在这里插入图片描述

flag{b2cc-9091-8a29}

[WEEK1]迷雾重重:

0替换为. 1替换为- 可以写脚本 也可以手动。

0010 0100 01 110 1111011 11 111 010 000 0 001101 00 000 001101 0001 0 010 1011 001101 0010 001 10 1111101
..-. .-.. .- --. ----.-- -- --- .-. ... . ..--.- .. ... ..--.- ...- . .-. -.-- ..--.-
..-. ..- -. -----.-

在这里插入图片描述

在这里插入图片描述

flag{FLAGMORSE_IS_VERYUN}

[WEEK1]难言的遗憾:

题目描述:
我们本可以早些进入信息化时代的,但是清政府拒不采纳那份编码规则。 (注:flag为中文,使用flag{}包裹提交)
密文:000111310008133175592422205314327609650071810649

考点:中文电码解密

在这里插入图片描述

flag{一天不学高数我就魂身难受}

[WEEK1]小兔子可爱捏:

题目描述:宇宙的终极答案是什么?
U2FsdGVkX1/lKCKZm7Nw9xHLMrKHsbGQuFJU5QeUdASq3Ulcrcv9
你可能会需要一把钥匙,钥匙就是问题的答案。

在这里插入图片描述

在线Rabbit解密:http://www.yzcopen.com/ende/rabbit

在这里插入图片描述

flag{i_love_technology}

Reverse:

PWN:

联系博主,欢迎交流和学习!!

关注鱼影安全公众号,专注职业技能大赛和CTF 知识分享 欢迎大家关注学习!!

在这里插入图片描述

这篇关于SHCTF2023-校外赛道WP部分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704731

相关文章

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

VB和51单片机串口通信讲解(只针对VB部分)

标记:该篇文章全部搬自如下网址:http://www.crystalradio.cn/thread-321839-1-1.html,谢谢啦            里面关于中文接收的部分,大家可以好好学习下,题主也在研究中................... Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口

node快速复制文件或文件夹,排除部分文件(node_modules)

const fs = require('fs')const path = require('path')/*** @description: 获取完整的文件路径* @param {*} url 路径* @return {*} 返回完整的文件路径*/const getPath = (url) => {return path.join(__dirname, url)}/*** @descr

Oracle和Sql_Server 部分sql语句的区别

比如:A表中, 字段:gxmlflag  number;  比如数据:20210115 字段:gxmldate date ;    比如数据:2021-01-15 09:50:50 一、在Oracle数据库中: 1、insert 和 update 语句: t.gxmlflag = to_char(sysdate,'yyyymmdd'),t.gxmldate=sysdate 比如:update f

笔记整理—内核!启动!—kernel部分(1)驱动与内核的关系

首先,恭喜完成了uboot部分的内容整理,其次补充一点,uboot第一部分和第二部分的工作不是一定的,在不同的版本中,可能这个初始化早一点,那个的又放在了第二部分,版本不同,造成的工作顺序不同,但终归是要完成基本内容初始化并传参给kernel的。         那么至于驱动与内核的关系,用一张图来说明最适合不过:         驱动位于OS层的中下层与硬件相接。驱动是内