吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 737|回复: 7
收起左侧

[CTF] 2024春节52pj红包解题(WEB、逆向初级题)

[复制链接]
hhcjl 发表于 2024-2-25 10:03
本帖最后由 hhcjl 于 2024-2-28 17:02 编辑

拼接二维码得到网址:https://2024challenge.52pojie.cn/

未命名-2.fw.png

初级:

flag1{52pj2024} flag2{xHOpRP} flag3{GRsgk2} flag4{YvJZNS} flagA{09dbcd04}

flag1

在视频出现二维码前边可逐帧查看

吾爱破解2024年春节解题红包视频.mp4_20240220_144141.287.jpg

吾爱破解2024年春节解题红包视频.mp4_20240220_144141.786.jpg

吾爱破解2024年春节解题红包视频.mp4_20240220_144142.536.jpg

flag2

登陆时抓包跳转包中

image-20240220144501595.png

flag3

视频的最前部可播放器设置循环查看(静态看不出来)

image-20240220143350056.png

flag4

背景图中

image-20240220144929225.png

flagA

登陆时输入UID,burp 抓包

image-20240220142506518.png
image-20240220142529798.png

Forward  到 get  /auth/uid

image-20240220142622855.png

将flagA 的内容覆盖uid的 send解密获取解密后的flagA

image-20240220142939225.png

中级:

flag5{P3prqF} flag6{20240217} flag7{Djl9NQ} flag8{OaOjIK} flagB{aeae5c68}

flag5

image-20240220175601560.png

image-20240220175834126.png
去掉无用字符得到

image-20240220145510172.png

flag6

直接点击计算或者查询MD5的值

image-20240220145628355.png

flag7

视频中github的历史提交记录中

https://github.com/ganlvtech/52pojie-2024-challenge

image-20240220190051450.png
flag7{Djl9NQ}

image-20240220190120288.png

flag8

flag8{OaOjIK}

image-20240220184441275.png
image-20240220184519323.png

flagB

64为整数中18446744073709551615为0

erichyx 发表于 2024-2-26 17:00
flagB购买18464037713个也不是消耗0的,一样会提示钱不够。我看其他人说会扣除28个金币,不知道怎么来的 ...

flagB  999063388*18464037713=18446744073709551616
这个搞错了18446744073709551616不能被999063388整除

18446744073709551616/999063388
18464037713.0
18446744073709551616//999063388
18464037712
18464037713*999063388
18446744073709551644
18446744073709551644-18446744073709551616
28

18446744073709551616不能被999063388整除,
18464037713*999063388=18446744073709551644
64位整数
18446744073709551644&0xffffffff = 28
所以会扣除28个金币

同理flag8

18446744073709551616/10000
1844674407370955.2
18446744073709560000&0xffffffff=8384

当购买1844674407370956个的时候需要8384个金币
flagB{439d07a8}(动态改变得,获取后必须在时间段内提交)

image-20240220150309257.png

image-20240220150336054.png

高级:

flag9{KHTALK} flag10{6BxMkW} flag11{HPQfVF} flag12{HOXI} flagC{412ce6c8}

flag9

image-20240220175716800.png
为了好查看把'_','\','/' 分别替换为 ' ','*','#'

​        使用下面代码爆破

    flag9 = '                                                                                                                                                                                                                                                                                                                                                                                                                                    *#####  *######                                     *#########                  *###        *###  *###        *###  *###############     *#########     *###              *###        *###                   *###***  #****###                                   *###*******###        *##### #*###     *###**  #*###       #*### #*******###*****    *#############  #*###             #*###     *###**   *#####          *###         #*###                     *########    *###      #**###     *###***  #*###  *###**     #*###       #*###       #*###        *###*********### #*###             #*###  *###**     #****###      *#########      #*###     *#########     *###****###  #**###     *#####    #**###    #*######**###     #*###############       #*###       #*###       #*### #*###             #*######**###        *###      #****###**       #*###    #********###   #**#########   #***########*###  *######     #*###** #**###    #*###*********###       #*###       #*############### #*###             #*###** #**###      #**######     #*###         #*###      *##########   #*******###     #********#*### #*****###    #*###    #**###   #*###       #*###       #*###       #*###*********### #*###             #*###    #**###      *###***      #*###         #*###     *###*****###   *##     ###   *##        *###      *###     #*###     #**###  #*###       #*###       #*###       #*###       #*### #*###             #*###     #**###    #**###    r    #*###       *######### #**########*## #**########   #**###########*      #***##### #*###      #**### #*###       #*###       #*###       #*###       #*### #*############### #*###      #**###  *#####         #***       #*********   #********#**   #********     #***********          #*****  #***        #***  #***        #***        #***        #***        #***  #***************  #***        #***  #*****                                                                                                                                                                                                                                                                                                                                                                                                                                    '
alen = len(flag9)
#flag9 =flag9[::-1]
n=30
with open('2aa1-2.txt','w+') as f:
    for n in range(200,300):

    for i in range(0,alen,n):
        #print(i)
        #print(flag9[i:i+n])
        f.write(flag9[i:i+n]+'\n')
    f.write('\n\n\n')

image-20240220175500501.png

flag10

stegsolve查看

image-20240220180853964.png

flag11

根据提示 --var1 --var2在0-100之间,总共有100*100 ,10000中可能

image-20240220181041147.png
写JS脚本爆破

var x=0;
var y=0;
window.onclick=function(){if(y>100){x=1+x;y=0;}y=y+1;console.log(x,y);     document.documentElement.style.setProperty("--var1",x);
     document.documentElement.style.setProperty("--var2",y);}

setInterval(function() {
    document.head.click();},100);
//x=71,y=20 

image-20240220181452683.png

image-20240220181626076.png

flag12

image-20240220184716415.png
image-20240220184739216.png

爆破脚本,  4294967296在i32中位0,1依次4294967296,直到找到能被1103515245整除的数

也就是乘以1103515245为1的数。

a = 1
b = 4294967296
c = 1103515245
while True:
    a = a+b
    #print(a)
    if not a %c:
        print(a /c)
        break

#4005161829

image-20240220185327787.png
flag12{HOXI}

flagC

image-20240220175118532.png
可针对classes爆破。

上传图片抓包,修改classes
image-20240220185411772.png

逆向初级

初二

 "fl@g{H@ppy_N3w_e@r!2o24!Fighting!!!}"

image-20240224114013858.png

image-20240224114658794.png

提示CasearCipher
ioCj~KCss|bQ6zbhCu$5r57$Iljkwlqj$$$
eflag = 'ioCj~KCss|bQ6zbhCu$5r57$Iljkwlqj$$$'

for i in range(27):
    flag = ''
    for a in eflag:
        na = ord(a)-i
        if na>=33:
            flag += chr(na)
        else:
            flag += chr(na%126+33)

    print(flag+'\n') 

动态调试

image-20240224121124678.png

初三

flag{happy_new_year_2024}

游戏通关视频最后会出现flag

也可直接查看,在ys.mp4文件最后
image-20240224125309561.png
image-20240224125334049.png

初四

image-20240224125659248.png
flag 为

FlagActivity.o = new byte[27]{'V',0xee,'b','g','K',0xb7,'3',0x98,'h','^','I','Q','}','v','p','d',0xe3,'?',0xdf,0x92,'l','s','3',';','7','4','M'};

与apk的signatures亦或

signatures在apk MET-INF目录下的CERT.RSA中

Signature = [0x30, 0x82, 0x03, 0x00, 0x30, 0x82, 0x01, 0xE8, 0x02, 0x01, 0x01, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x46, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0C, 0x07, 0x6B, 0x62, 0x74, 0x78, 0x77, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x0C, 0x07]
#偏移11e-15d

enflag = [86, 238, 98, 103, 75, 183, 51, 152, 104, 94, 73, 81, 125, 118, 112, 100, 227, 63, 223, 146, 108, 115, 51, 59, 55, 52, 77]

n = len(Signature)

n2 = len(enflag)
flag = ''

for i in range(n2):
    aa = enflag[i] ^ Signature[i%n2]
    #print(aa)
    flag += chr(aa)

免费评分

参与人数 1威望 +2 吾爱币 +100 热心值 +1 收起 理由
Hmily + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| hhcjl 发表于 2024-2-25 10:44
flag9爆破脚本有问题,爆破完查看aa.txt(关闭文本的自动换行)修改后的:
[Python] 纯文本查看 复制代码
flag9 = r'f.______________________________________________________________________________________________________________________________________________________________________________________________________________.............l..______________________________________________________________________________________________________________________________________________________________________________________________________________............a..________/\\\\\__/\\\\\\_____________________________________/\\\\\\\\\__________________/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\\\\\_____/\\\\\\\\\_____/\\\______________/\\\________/\\\_____________...........g...______/\\\///__\////\\\___________________________________/\\\///////\\\________/\\\\\_\/\\\_____/\\\//__\/\\\_______\/\\\_\///////\\\/////____/\\\\\\\\\\\\\__\/\\\_____________\/\\\_____/\\\//___/\\\\\_____..........5...._____/\\\_________\/\\\_____________________/\\\\\\\\____/\\\______\//\\\_____/\\\///__\/\\\__/\\\//_____\/\\\_______\/\\\_______\/\\\________/\\\/////////\\\_\/\\\_____________\/\\\__/\\\//_____\////\\\____.........{.....__/\\\\\\\\\______\/\\\_____/\\\\\\\\\_____/\\\////\\\__\//\\\_____/\\\\\____\//\\\____\/\\\\\\//\\\_____\/\\\\\\\\\\\\\\\_______\/\\\_______\/\\\_______\/\\\_\/\\\_____________\/\\\\\\//\\\________/\\\_____........P......_\////\\\//_______\/\\\____\////////\\\___\//\\\\\\\\\___\///\\\\\\\\/\\\__/\\\\\\_____\/\\\//_\//\\\____\/\\\/////////\\\_______\/\\\_______\/\\\\\\\\\\\\\\\_\/\\\_____________\/\\\//_\//\\\______\//\\\\\\_.......3.......____\/\\\_________\/\\\______/\\\\\\\\\\___\///////\\\_____\////////\/\\\_\/////\\\____\/\\\____\//\\\___\/\\\_______\/\\\_______\/\\\_______\/\\\/////////\\\_\/\\\_____________\/\\\____\//\\\______/\\\///__......p........____\/\\\_________\/\\\_____/\\\/////\\\___/\\_____\\\___/\\________/\\\______/\\\_____\/\\\_____\//\\\__\/\\\_______\/\\\_______\/\\\_______\/\\\_______\/\\\_\/\\\_____________\/\\\_____\//\\\____\//\\\____.....r.........____\/\\\_______/\\\\\\\\\_\//\\\\\\\\/\\_\//\\\\\\\\___\//\\\\\\\\\\\/______\///\\\\\_\/\\\______\//\\\_\/\\\_______\/\\\_______\/\\\_______\/\\\_______\/\\\_\/\\\\\\\\\\\\\\\_\/\\\______\//\\\__/\\\\\_____....q..........____\///_______\/////////___\////////\//___\////////_____\///////////__________\/////__\///________\///__\///________\///________\///________\///________\///__\///////////////__\///________\///__\/////______...F..........._______________________________________________________________________________________________________________________________________________________________________________________________________________..}............_______________________________________________________________________________________________________________________________________________________________________________________________________________.'
alen = len(flag9)
with open('flag.txt','w+') as f:
    for n in range(100,300):
        for i in range(0,alen,n):
            #print(i)
            #print(flag9[i:i+n])
            f.write(flag9[i:i+n]+'\n')
        f.write('\n\n\n')
erichyx 发表于 2024-2-25 12:10
flag8中购买18464037713个并不是消耗0,还是会提示钱不够。
 楼主| hhcjl 发表于 2024-2-25 17:01
本帖最后由 hhcjl 于 2024-2-25 17:07 编辑
erichyx 发表于 2024-2-25 12:10
flag8中购买18464037713个并不是消耗0,还是会提示钱不够。

flag8 就是不行,flag8我是玩够10000金币买的。

flagB  999063388*18464037713=18446744073709551616
18446744073709551616 ,64位正好溢出为0。
erichyx 发表于 2024-2-26 17:00
hhcjl 发表于 2024-2-25 17:01
flag8 就是不行,flag8我是玩够10000金币买的。

flagB  999063388*18464037713=18446744073709551616
...

flagB购买18464037713个也不是消耗0的,一样会提示钱不够。我看其他人说会扣除28个金币,不知道怎么来的。
 楼主| hhcjl 发表于 2024-2-27 13:01
erichyx 发表于 2024-2-26 17:00
flagB购买18464037713个也不是消耗0的,一样会提示钱不够。我看其他人说会扣除28个金币,不知道怎么来的 ...

flagB  999063388*18464037713=18446744073709551616
这个搞错了18446744073709551616不能被999063388整除

>>> 18446744073709551616/999063388
18464037713.0
>>> 18446744073709551616//999063388
18464037712
>>> 18464037713*999063388
18446744073709551644
>>> 18446744073709551644-18446744073709551616
28

18446744073709551616不能被999063388整除,
18464037713*999063388=18446744073709551644
64位整数
18446744073709551644&0xffffffff = 28
所以会扣除28个金币

同理flag8
>>> 18446744073709551616/10000
1844674407370955.2
18446744073709560000&0xffffffff=8384

当购买1844674407370956个的时候需要8384个金币
Hmily 发表于 2024-2-27 16:07
flag5
[img =110,0]https://attach.52pojie.cn//forum/202402/25/094634m8gc32l3b2l3lbb3.png?l[/img]

@hhcjl 这里有个图片贴丢了,而且这个地址有问题,看起来你是直接拖过来的,不是像其他那种点击过来的,这个是临时地址会失效。

image-20240220175500501

这个也丢了。

另外把其他发布的题目解题也合并到这个帖子一起吧,合并完我删除另外一篇帖子,方便一起合并加分,处理完回复我一声,我来处理加分。
 楼主| hhcjl 发表于 2024-2-28 17:37
Hmily 发表于 2024-2-27 16:07
@hhcjl 这里有个图片贴丢了,而且这个地址有问题,看起来你是直接拖过来的,不是像其他那种点击过来的, ...

弄好了,已经合并和 修复了图片。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-29 17:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表