no image
Reversing - Keygen
Keygen 문제풀이를 시작하겠습니다😀 먼저 nc로 접속하여 실행해보았습니다. 실행해보니 키를 입력하라고 하고 임의의 문자열을 입력했더니 아무런 반응이 없습니다. 그럼 IDA로 열어서 확인해보겠습니다. main 함수를 살펴보니 버퍼를 할당하고 임의이 입력값을 puts함수와 fgets함수로 받아오는 걸 볼 수 있습니다. 이후 check_key 함수에서 입력한 값을 통해 0 이외의 값을 받아내면 flag를 출력시키는 것을 확인할 수 있네요😀 그럼 check_key 함수를 확인해보도록 합시다. 확인해보니 5번째 줄에 if 함수로 입력한 값의 길이가 9이하 이거나 64이상이면 바로 빠져나오게됩니다. 그리고 s2 변수에 입력한 값이 인코딩된 것을 담게 되고 strcmp 함수를 이용해 "OO]oUU2U
2021.01.06
no image
Reversing - Strncmp
오랜만에 돌아온 CTF 풀이이네요😁 우선 문제를 보도록합시다! Strcnmp 파일을 하나 다운받을 수 있을 겁니다! 우선 IDA로 분석을 해보도록 하죠😀 main 함수를 보면 위의 사진처럼 나오는 것을 볼 수 있습니다. 빨간칸은 암호화된 것처럼 보이는 문자열처럼 보이네요😀 그리고 파란칸은 "Enter your input:" 이라는 문자열과 scanf 함수로 v4에 담기게 되고 v5와 비교를 합니다. !strcmp_(v4, v5)는 NOT연산이 되기 때문에 0이면 1이 되고 puts 함수를 통해 "Good game"을 출력하네요! 그럼 여기서 v4는 우리가 입력한 값이 되고 v5는 빨간칸 맨위의 문자를 기점으로 저 암호화된 문자열을 나타낸다는 것을 알 수 있습니다.😁 그럼 strcmp_를 분석하기 위해 들..
2021.01.05
no image
Web - LOL
안녕하세요 :D 오랜만에 CTF 블로깅으로 돌아왔습니다! 최근까지 직장 업무에 다른 활동도 있었지만 Dreamhack CTF와 뉴스거리들을 올리는 것에 집중한다고 장기간 작성하지 못했네요! 오늘부터 다시 차근차근 하나씩 풀어보도록 하겠습니다 :D 문제이름이 LOL 이네요? 들어가보도록하겠습니다 !! 음.. 로컬이 아니라구요..? 그저 게임을 즐기자고요..? 들어가보죠 :D 들어와보니 Search user라는 문구와함께 User 이름을 적는 란이 존재합니다. 아무 말이나 한번 적어보도록 하죠! "test"를 입력하니 OP.GG의 화면이 나옵니다! (참 익숙한 화면이네요~_~) 그럼 문제 홈페이지의 소스코드를 살펴볼 필요가 있겠죠 :D? 그전에 OP.GG로 이동시키는 기능이 있을거라 예상은 충분히 할 수 있..
2020.09.28
no image
Reversing - Handray
문제를 다운받고 IDA로 열어보았습니다 :D IDA로 보니 아주 간단하게 되어 있습니다!! 저는 편하게 400539주소의 분기를 통해서 넘어가는걸 보고 40052E의 주소에서 [rbp+4]에 들어가는 1을 0으로 바꿔주면 손쉽게 flag가 출력되는 것을 볼 수 있지 않을 수 있을까 했습니다 :D 그래서 저는 리눅스에서 디버깅을 진행했습니다! 일단 IDA에서 본 부분을 브레이크포인터를 걸어줍니다 :D $rbp-4에 1이 들어가는 것을 확인 후 다시 0을 넣어주었습니다 :D 그리고 "c" 명령어를 실행 시킨 후 프로그램 진행을 시켜주었더니 flag가 뙇!! 하고 출력이되네요 ㅎㅎㅎㅎ! 이만 간단한 문제풀이였습니다 :D
2020.04.07
no image
Forensics - 잔상
250점 짜리 문제네요 ~_~ compare이라는 이름의 알집과 함께 똑같은 사진 2개가 있습니다! 똑같은 사진을 비교하라는 건가 싶어서 HxD로 열어봤는데 똑같더라구요 ?! 그래서 두개의 파일의 헥스값을 검사 해보았습니다! 검사를 해보니 다른 부분이 중간중간 들어가 있는것을 확인해 볼 수 있었습니다 :D 그리고 이렇게 나열해 보았습니다! 위의 Hex값은 1번사진 밑의 Hex값은 2번사진인데 2번 사진의 4번째 값까지 이어붙이니까 "Hack"이 나오더라구요 :D 그래서 2번 사진의 Hex값을 이어붙이면 플래그가 나오지 않을까 싶었습니다! 고러.. 노가다를 했죠... 역시 다 찾은 다음에 아스키값으로 풀어내니까 flag가 나오네요 :D 이만 문제풀이였습니다!
2020.04.02
no image
Forensics - Terrorist
파일을 열어보니 그림이 보이지 않습니다..! 그럼 HxD로 열어서 분석을 해봅시다 :D 열어서 봤는데 ftypM4A가 보였습니다..! filetype이 m4a라고 하는 것보니 원래 음성파일인가 봅니다 :D 변환을 시켜주니 이상한 영어같기도한 말이 들립니다..! 그래서 HxD로 열심히 다른 단서를 찾을 수 있을까 했는데.. 안 찾아지더라구요... =_= 그래서 오디오를 무슨 짓을 했나 싶어.. 영화에서 가끔 거꾸로 암호화하는 듯한 장면들이 있기에 오디오 파일을 거꾸로 변환시켜보았습니다..! 그래서 들어보니... 다음 타겟 장소를 친절히 알려줍니다 :D 그럼 이만 문제풀이를 마치겠습니다 !
2020.03.31
no image
Forensics - Magic PNG
파일을 켜보니 그림이 보이지 않습니다..! 파일에 문제가 있나봅니다 :D HxD를 이용해서 PNG 파일을 오픈 시켜보았습니다 :D 일단 파일 시그니처 먼저 확인을 해봤었습니다 ! 정상적인 헤더 시그니처와 문제 파일의 헤더 시그니처가 살짝 다른 것을 찾을 수 있었습니다 :D 살짝 다른 부분을 변경해주었습니다! 변경해줬더니 살짝 그림이 보이기 시작합니다 :D 그런데.. 밑의 부분이 깨진건지.. 안보이네요 ㅠ_ㅠ 그래서 다른 부분도 고쳐야겠구나 싶었습니다 ㅎㅎㅎㅎ PNG 파일은 N개의 청크로 구성이 되어 있습니다 :D 밑의 사이트에서 저도 확인하면서 공부했어용 ~_~ PNG 파일 구조에 대한 간단히 잘 설명해 놓은 곳입니당 :D ↓ https://ryanking13.github.io/2018/03/24/png..
2020.03.30
no image
Misc - QRCODE
QRCode답게 QRCode가 나옵니다 :D 한번 스캔 해볼려고 했는데 스캔이 안되더라구요..! 그래서 QRCode를 분석할 수 있는 방법이 있나 열심히 검색해 보았습니다..! 위의 사진은 QRCode의 원리인데 문제로 받았던 지금 보시면 QRCode에서 뭔가 다른점을 찾으셨나요 :D ? 바로 큰 사각형 안에 검은색으로 채워져있어야하는데 비워져있습니다! 그래서 저는 그림판으로 열어서 색을 넣어줬습니다! 쨘! 이렇게 채워주고 휴대폰으로 QRCode 인식을 다시 해보았습니다 :D 오우! Flag가 뜨네용 :D!!! 그럼 이만 문제풀이를 마치겠습니다 ㅎㅎㅎㅎ
2020.03.28

Reversing - Keygen

HelloMG
|2021. 1. 6. 16:33

Keygen 문제풀이를 시작하겠습니다😀

Reversing Keygen

먼저 nc로 접속하여 실행해보았습니다.

nc ctf.j0n9hyun.xyz 9004

실행해보니 키를 입력하라고 하고 임의의 문자열을 입력했더니 아무런 반응이 없습니다.

 

그럼 IDA로 열어서 확인해보겠습니다.

main

main 함수를 살펴보니 버퍼를 할당하고 임의이 입력값을 puts함수와 fgets함수로 받아오는 걸 볼 수 있습니다.

이후 check_key 함수에서 입력한 값을 통해 0 이외의 값을 받아내면 flag를 출력시키는 것을 확인할 수 있네요😀

 

그럼 check_key 함수를 확인해보도록 합시다.

check_key

확인해보니 5번째 줄에 if 함수로 입력한 값의 길이가 9이하 이거나 64이상이면 바로 빠져나오게됩니다.

그리고 s2 변수에 입력한 값이 인코딩된 것을 담게 되고

strcmp 함수를 이용해 "OO]oUU2U<sU2UsUsK"값과 s2의 값을 비교하여 0과 비교한 값을 리턴시킵니다.😀

 

strcmp의 함수는 인자 2개의 문자열을 처음부터 하나씩 비교하여 -1, 0, 1의 결과를 내게 되어있습니다.

 

-1일 경우 : 첫번째 인자가 두번째 인자보다 작을 때

0일 경우 : 두 인자가 같을 때

1일 경우 : 첫번째 인자가 두 번째 인자보다 클 때

 

즉, strcmp() 함수의 결과가 0(같을 때)이 되면 0과 비교하여 결과가 1이 되어 1을 리턴하고

main 함수에서 flag를 출력하는 형식이 되겠네요😀

flag 출력 프로세스

 그럼 입력값이 인코딩되어 s2에 담기게 되니까 Encoding 함수를 분석해야하겠죠?😀

Encoding

8번 ~ 10번 줄은 주석으로 제가 달아놓았습니다.

 

for문을 보니 입력한 값을 차례대로 암호화하고 있는 것이 보이네요😀

식이 주어졌으니 간단하게 Python을 이용하여 코딩을해서 풀어보았습니다!

,Source Code

몇 줄 안되는 엄청 간단한 코드죠! 그리고 돌려서 나온 결과값은..!

결과

이걸 그대로 넣어보니 flag를 출력을 안하더라구요..! 그래서 gdb로 결과값을 확인해 보았습니다😀

개행문자

위의 사진은 Encoding 후 값인데 "i"가 추가되어 있는 것을 볼 수 있습니다.

그럼 맨뒤 문자(&)를 빼서 확인을 해봐야될 것 같네요!

A,d<&$+$''.+$&.&

확인해보니 정답이 되네요! fgets의 경우 뒤의 개행문자까지 포함이 되어서 하나를 빼줘야 하는 것 같습니다.😀

flag

이렇게 flag를 획득하게 되었습니다!

 

이만 Keygen 문제풀이를 마치도록 하겠습니다.😁

'CTF > HackCTF' 카테고리의 다른 글

Reversing - Strncmp  (0) 2021.01.05
Web - LOL  (0) 2020.09.28
Reversing - Handray  (0) 2020.04.07
Forensics - 잔상  (0) 2020.04.02
Forensics - Terrorist  (0) 2020.03.31

Reversing - Strncmp

HelloMG
|2021. 1. 5. 17:39

오랜만에 돌아온 CTF 풀이이네요😁

 

우선 문제를 보도록합시다!

HackCTF - Strncmp

Strcnmp 파일을 하나 다운받을 수 있을 겁니다! 우선 IDA로 분석을 해보도록 하죠😀

Main

main 함수를 보면 위의 사진처럼 나오는 것을 볼 수 있습니다.

빨간칸은 암호화된 것처럼 보이는 문자열처럼 보이네요😀

 

그리고 파란칸은 "Enter your input:" 이라는 문자열과 scanf 함수로 v4에 담기게 되고 v5와 비교를 합니다.

!strcmp_(v4, v5)는 NOT연산이 되기 때문에 0이면 1이 되고 puts 함수를 통해 "Good game"을 출력하네요!

 

그럼 여기서 v4는 우리가 입력한 값이 되고 v5는 빨간칸 맨위의 문자를 기점으로 저 암호화된 문자열을 나타낸다는 것을 알 수 있습니다.😁

 

그럼 strcmp_를 분석하기 위해 들어가봅시다!

strcmp_

들어가보니 v3를 이용하여 막 뭔가를 하고 있고 for문으로 a1[j]와 key를 XOR하고 a2와 비교하는 걸로 보입니다!

처음에 v3가 뭐하는건지 계속 생각해봤는데 아무런 의미없는 녀석이더라구요..😑

 

결국 우리가 찾아야하는건 key인걸로 보입니다😁

key

Key를 찾아본 결과 check 함수에 들어 있는 것을 알 수 있으실 겁니다.

 

여기서 보면 if 함수 안에 v3 * (v3 -14) == 49라는 식이 주어졌고 이것이 맞으면 v3가 key값 이라고 합니다.😀

어려운 식이 아니라서 쉽게 계산 가능하시져😁

 

자 key 값을 구했으니 우리가 풀어야 하는건 "입력값 XOR key = 암호화" 입니다.

그럼 입력값을 구해줄려면 식이 어떻게 되어야 할까요?

 

"입력값 = 암호화 XOR key"

 

하지만 사람이 일일이 계산하기 어려우니 쉽게 코딩하여 풀어주면 됩니다~ 저는 Python으로 간단히 하였습니다!

Pyhton Source
Flag

 

그럼 이만 문제 풀이를 마치도록 하겠습니다.😀

'CTF > HackCTF' 카테고리의 다른 글

Reversing - Keygen  (0) 2021.01.06
Web - LOL  (0) 2020.09.28
Reversing - Handray  (0) 2020.04.07
Forensics - 잔상  (0) 2020.04.02
Forensics - Terrorist  (0) 2020.03.31

Web - LOL

HelloMG
|2020. 9. 28. 23:04

안녕하세요 :D

 

오랜만에 CTF 블로깅으로 돌아왔습니다!

 

최근까지 직장 업무에 다른 활동도 있었지만 Dreamhack CTF와 뉴스거리들을 올리는 것에 집중한다고

장기간 작성하지 못했네요!

 

오늘부터 다시 차근차근 하나씩 풀어보도록 하겠습니다 :D

LOL

문제이름이 LOL 이네요?

들어가보도록하겠습니다 !!

 

you are not local

음.. 로컬이 아니라구요..?

 

그저 게임을 즐기자고요..?

들어가보죠 :D

 

Search user

들어와보니 Search user라는 문구와함께 User 이름을 적는 란이 존재합니다.

 

아무 말이나 한번 적어보도록 하죠!

 

Result

"test"를 입력하니 OP.GG의 화면이 나옵니다! (참 익숙한 화면이네요~_~)

 

그럼 문제 홈페이지의 소스코드를 살펴볼 필요가 있겠죠 :D?

 

그전에 OP.GG로 이동시키는 기능이 있을거라 예상은 충분히 할 수 있습니다!

 

Source Code

역시 소스코드를 보니 hidden 타입의 값이 들어가 있습니다.

 

그리고 입력한 값은 query라는 변수로 들어가게 되고 hidden url로 인해 OP.GG로 넘어가게되네요!

 

burp proxy

Burp로 확인을 해본 결과 역시는 역시나죠 :D

 

자 그럼 이런 문제는 SSRF 공격 유형의 문제입니다.

 

그럼 우회방법은 어떤 방법이 있을까.. 바로 "@"를 이용해 주는 것입니다!

 

의도하지는 않았지만.. 간단한 예로 아래를 보도록 하겠습니다 :D

 

Ex

Burp로 잡은 후 query에는 flag.php, url은 "XXXXwww.op.gg@XXXX"를 넣었습니다.

 

그리고 전송하면 결과는!

 

Ex Result

http://...@ctf.j0n9hyun.xyz:2035/flag.php가 나오게 됩니다! 

 

즉, "@" 이전의 값은 들어가지 않고 이후의 값이 넘어가게 됩니다 :D

 

이렇듯 SSRF는 Server-Side Request Forgery의 약자로 서버의 기능을 악의적으로 이용하여 원래 요청할 수 없었던 것을 서버 내부 명령을 통해 접근하는 것을 말합니다.

 

그럼 "@" 잘 이용해서 서버 내부에 있는 flag php페이지에도 접근할 수 있겠죠?

 

Good~

그래서 저는 위와같이 "../../"를 넣어서 flag.php에 도달하도록 했습니다!

 

Good~!

그럼 다시 원래 페이지로 돌아오게 되죠!

 

하지만 초기의 화면과 뭔가 다릅니다!

 

페이지가 다르다는 소리이니 페이지 소스코드를 확인해봅시다 :D

 

lololololol

소스코드를 보니 Flag가 들어있네요 !!

 

이렇게 문제풀이를 마쳤습니다!

 

이번 문제는 SSRF 문제로 "@" 우회법을 사용해서 Flag를 획득하는 문제였습니다 :D

'CTF > HackCTF' 카테고리의 다른 글

Reversing - Keygen  (0) 2021.01.06
Reversing - Strncmp  (0) 2021.01.05
Reversing - Handray  (0) 2020.04.07
Forensics - 잔상  (0) 2020.04.02
Forensics - Terrorist  (0) 2020.03.31

Reversing - Handray

HelloMG
|2020. 4. 7. 23:17

문제를 다운받고 IDA로 열어보았습니다 :D

IDA

IDA로 보니 아주 간단하게 되어 있습니다!!

 

저는 편하게 400539주소의 분기를 통해서 넘어가는걸 보고

40052E의 주소에서 [rbp+4]에 들어가는 1을 0으로 바꿔주면

손쉽게 flag가 출력되는 것을 볼 수 있지 않을 수 있을까 했습니다 :D

gdb

그래서 저는 리눅스에서 디버깅을 진행했습니다!

 

일단 IDA에서 본 부분을 브레이크포인터를 걸어줍니다 :D

flag 획득!!

$rbp-4에 1이 들어가는 것을 확인 후 다시 0을 넣어주었습니다 :D

그리고 "c" 명령어를 실행 시킨 후 프로그램 진행을 시켜주었더니 flag가 뙇!! 하고 출력이되네요 ㅎㅎㅎㅎ!

 

이만 간단한 문제풀이였습니다 :D

'CTF > HackCTF' 카테고리의 다른 글

Reversing - Strncmp  (0) 2021.01.05
Web - LOL  (0) 2020.09.28
Forensics - 잔상  (0) 2020.04.02
Forensics - Terrorist  (0) 2020.03.31
Forensics - Magic PNG  (0) 2020.03.30

Forensics - 잔상

HelloMG
|2020. 4. 2. 17:42

잔상 문제

250점 짜리 문제네요 ~_~

파일

compare이라는 이름의 알집과 함께 똑같은 사진 2개가 있습니다!

 

똑같은 사진을 비교하라는 건가 싶어서 HxD로 열어봤는데 똑같더라구요 ?!

그래서 두개의 파일의 헥스값을 검사 해보았습니다!

compare

검사를 해보니 다른 부분이 중간중간 들어가 있는것을 확인해 볼 수 있었습니다 :D

나열

그리고 이렇게 나열해 보았습니다!

위의 Hex값은 1번사진 밑의 Hex값은 2번사진인데

2번 사진의 4번째 값까지 이어붙이니까 "Hack"이 나오더라구요 :D

 

그래서 2번 사진의 Hex값을 이어붙이면 플래그가 나오지 않을까 싶었습니다!

고러.. 노가다를 했죠... 

flag

역시 다 찾은 다음에 아스키값으로 풀어내니까 flag가 나오네요 :D

 

이만 문제풀이였습니다!

'CTF > HackCTF' 카테고리의 다른 글

Web - LOL  (0) 2020.09.28
Reversing - Handray  (0) 2020.04.07
Forensics - Terrorist  (0) 2020.03.31
Forensics - Magic PNG  (0) 2020.03.30
Misc - QRCODE  (0) 2020.03.28

Forensics - Terrorist

HelloMG
|2020. 3. 31. 17:06

Terrorist 문제

파일을 열어보니 그림이 보이지 않습니다..!

 

그럼 HxD로 열어서 분석을 해봅시다 :D

HxD

열어서 봤는데 ftypM4A가 보였습니다..!

filetype이 m4a라고 하는 것보니 원래 음성파일인가 봅니다 :D

m4a 변환

변환을 시켜주니 이상한 영어같기도한 말이 들립니다..!

그래서 HxD로 열심히 다른 단서를 찾을 수 있을까 했는데..

안 찾아지더라구요... =_=

 

그래서 오디오를 무슨 짓을 했나 싶어.. 영화에서 가끔 거꾸로 암호화하는 듯한 장면들이 있기에

오디오 파일을 거꾸로 변환시켜보았습니다..!

거꾸로 변환

그래서 들어보니... 다음 타겟 장소를 친절히 알려줍니다 :D

 

그럼 이만 문제풀이를 마치겠습니다 !

'CTF > HackCTF' 카테고리의 다른 글

Reversing - Handray  (0) 2020.04.07
Forensics - 잔상  (0) 2020.04.02
Forensics - Magic PNG  (0) 2020.03.30
Misc - QRCODE  (0) 2020.03.28
Misc - Who am I ?  (0) 2020.03.26

Forensics - Magic PNG

HelloMG
|2020. 3. 30. 22:46

Magic PNG 파일

파일을 켜보니 그림이 보이지 않습니다..!

 

파일에 문제가 있나봅니다 :D

HxD

HxD를 이용해서 PNG 파일을 오픈 시켜보았습니다 :D

일단 파일 시그니처 먼저 확인을 해봤었습니다 !

PNG 파일 헤더

정상적인 헤더 시그니처와 문제 파일의 헤더 시그니처가 살짝 다른 것을 찾을 수 있었습니다 :D

헤더 변경

살짝 다른 부분을 변경해주었습니다!

살짝 보임..

변경해줬더니 살짝 그림이 보이기 시작합니다 :D

그런데.. 밑의 부분이 깨진건지.. 안보이네요 ㅠ_ㅠ

 

그래서 다른 부분도 고쳐야겠구나 싶었습니다 ㅎㅎㅎㅎ

PNG 파일 구조

PNG 파일은 N개의 청크로 구성이 되어 있습니다 :D

밑의 사이트에서 저도 확인하면서 공부했어용 ~_~

 

PNG 파일 구조에 대한 간단히 잘 설명해 놓은 곳입니당 :D ↓

https://ryanking13.github.io/2018/03/24/png-structure.html

 

PNG 파일 구조

최근 GoN 2018 신입생 리쿠르팅 문제나, pragyan CTF등의 대회에서 PNG 파일 구조를 조작해둔 포렌식 문제를 종종 봤는데, 그러한 문제들을 푸는 과정에서 공부한 PNG 파일 구조를 정리해보았다.

ryanking13.github.io

위의 사이트에서 보셨다시피

PNG 파일에서 필수 청크가 IHDR, IDAT, IEND라고 합니다 :D

 

그래서 문자열 검색기능을 이용해서 찾아보기 시작했습니다!

idat

IDAT을 검색했을 때 10008번째 오프셋의 idat가 소문자로 되어 있는 것을 발견할 수 있었습니다 :D

대문자로 이루어져야하니 변경해 주도록 합시다 ㅎㅎㅎㅎ

IDAT

변경해주고! 저장합니다 ㅎㅎㅎ

 

그리고 확인해보면....

성공!

귀여운 그림이 완성되면서 밑부분에 flag를 확인할 수 있었습니다 :D

 

사진 속 주인공은 롤 게임 캐릭터인 룰루 같네용 >_<

 

그럼 이만 문제풀이를 마치도록 하겠습니다 :D

'CTF > HackCTF' 카테고리의 다른 글

Forensics - 잔상  (0) 2020.04.02
Forensics - Terrorist  (0) 2020.03.31
Misc - QRCODE  (0) 2020.03.28
Misc - Who am I ?  (0) 2020.03.26
Misc - BF  (0) 2020.03.20

Misc - QRCODE

HelloMG
|2020. 3. 28. 21:23

QRCODE 문제

QRCode답게 QRCode가 나옵니다 :D

한번 스캔 해볼려고 했는데 스캔이 안되더라구요..!

 

그래서 QRCode를 분석할 수 있는 방법이 있나 열심히 검색해 보았습니다..!

QRCode 원리

위의 사진은 QRCode의 원리인데 문제로 받았던 지금 보시면 QRCode에서 뭔가 다른점을 찾으셨나요 :D ?

바로 큰 사각형 안에 검은색으로 채워져있어야하는데 비워져있습니다!

 

그래서 저는 그림판으로 열어서 색을 넣어줬습니다!

QRCode 복구

쨘! 이렇게 채워주고 휴대폰으로 QRCode 인식을 다시 해보았습니다 :D

Flag

오우! Flag가 뜨네용 :D!!!

 

그럼 이만 문제풀이를 마치겠습니다 ㅎㅎㅎㅎ

'CTF > HackCTF' 카테고리의 다른 글

Forensics - Terrorist  (0) 2020.03.31
Forensics - Magic PNG  (0) 2020.03.30
Misc - Who am I ?  (0) 2020.03.26
Misc - BF  (0) 2020.03.20
Misc - Baseball Price  (0) 2020.03.08