ICMP

ICMP 패킷을 다루는 문제입니다.

 

ICMP 패킷을 던져주고 분석하라는 문제로 보입니다.

 

 

문제 분석

icmp.pcap

와이어 샤크를 이용하여 패킷을 확인하였습니다.

기존의 많은 문제들이 그러했듯 데이터 영역에 암호화된 문자열이 들어있을 것으로 생각되어 데이터들을 모두 뽑아 보았습니다만 맨 마지막 줄에 '사실 여기에는 플래그가 없어'라는 문장을 확인할 수 있었습니다.

때문에 다른곳을 뒤지던중 id=0x005a 라고 적힌 문자열을 발견했습니다.

 

icmp.pcap id

source를 오름차순으로 나열하여 id를 확인하였습니다.

 

 

문제 풀이

id의 16진수 값을 ascii로 치환 한후 여러 복호화 툴을 사용하여 확인한 결과 base64로 디코딩된 것을 확인하였습니다.

 

base64 decoding

flag를 획득할수 있었습니다.​

더보기

dvCTF{h1dden_1n_the_1d}

 

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

Dice CTF 2023  (0) 2023.02.08
T3N4CIOUS CTF 2022  (0) 2022.03.26
[UTCTF] Websockets?  (0) 2022.03.14
[dvCTF] CyberStreak v1.0  (0) 2022.03.14
[dvCTF] CyberStreak v2.0  (0) 2022.03.14

CyberStreak v1.0

dvCTF Web 문제입니다.

 

Description :

Thank you for your report !

You can now create your own challenges, delete them, deactivate / activate them.

xXx-michel-xXx

http://challs.dvc.tf:5002

Brute force is strictly forbidden and useless.Hello,

I am a student and I would like to improve my web development skills. To practice, I am creating my first web application. This application is a kind of cybercoach. Example: you want to do sports. A sport goal could be to do 100 push-ups per day for 1 month. The application will allow you to create this "challenge" and each day, you will have to do the number of push-ups you have set and note it in the application. If you don't do the push-ups for 3 days, it's a failure and you lose your streak.

This first version of the application gives you the possibility to create an account and to do the challenge of the example.

Can you test the security of my application ?

xXx-michel-xXx

http://challs.dvc.tf:5001

Brute force is strictly forbidden and useless.

 

푸시업 챌린지가 있습니다. 취약점을 찾아서 신고해주시기 바랍니다.

웹페이지 테스트를 통해 취약점을 찾아내는 문제입니다.

 

 

문제 분석

index page

정보가 없기 때문에 페이지 소스코드,  네트워크 패킷, 쿠키 순으로 살펴보았습니다.

페이지 소스코드는 hidden과 disable 처리된 구문들이 있었지만 문제와는 크게 상관 없었습니다.

네트워크 패킷 또한 눈에 보이는게 없었습니다.

 

cookie

그러던 중 cookie에서 익숙한 형태의 값을 발견하였습니다.

JWT로 추정되며 이를 확인하기 위해 base64로 디코딩 해보았습니다.

 

decoding

JWT인 것이 확실합니다.

 

 

문제 풀이

인코딩하여 제출해보았으나 로그아웃이 이루어질 뿐 flag는 확인할수 없었습니다.

때문에 secret 키가 존재하는지 확인해 보았습니다.

 

username : xXx-michel-xXx
secret : s3cr3t

확인 결과 secret 값이 존재하였으며 username은 해당 서버 소유자인 xXx-michel-xXx로 추정하여 진행하였습니다.

 

encoding

인코딩된 세션값을 획득할 수 있었습니다.

 

flag

해당 값으로 cookie값을 바꿔주게 되면 flag가 나오게 됩니다.

 

더보기

dvCTF{80b8d1A92G6a13a98Dc7b546a7a7Y35}

 

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

[dvCTF] ICMP  (0) 2022.03.15
[UTCTF] Websockets?  (0) 2022.03.14
[dvCTF] CyberStreak v2.0  (0) 2022.03.14
[dvCTF] RSA  (0) 2022.03.14
[Codegate2022] PrimeGenerator  (0) 2022.03.07

CyberStreak v2.0

dvCTF Web 문제입니다.

 

Description :

Thank you for your report !

You can now create your own challenges, delete them, deactivate / activate them.

xXx-michel-xXx

http://challs.dvc.tf:5002

Brute force is strictly forbidden and useless.

 

취약점 신고 고맙습니다. 이제 나만의 챌린지를 만들고 삭제 하고 이것저것할수 있습니다.

웹페이지 테스트를 통해 취약점을 찾아내는 문제입니다.

 

문제 분석

New challenge

새로운 페이지에서 취약점을 찾아내야 되는것으로 보입니다.

file upload 기능이 있는것으로 보아 이를 이용하는 LFI 혹은 file_upload를 이용한 웹쉘 취약점인것으로 예상됩니다.

 

request

임의의 값과 파일들을 입력하여 확인을 해보았습니다.

challengename : test

filename : aa

 

url path로 hash값들이 사용되는 것처럼 보여집니다.

 

test hash
aa hash

이를 통해 제가 입력한 값들을 hash화하여 url path로 사용중이라는 사실을 알수 있었습니다.

뿐만 아니라 첫번째 챌린지를 통해 flag의 이미지 파일 이름을 획득할수 있습니다.

 

challengename : xXx-michel-xXx
filename : flaggggggggggggggggggggggg.png

이를 이용하여 url path를 생성합니다.

SHA256(xXx-michel-xXx)/MD5(flaggggggggggggggggggggggg.png2)

 

 

문제 풀이

url path를 생성하여 접근하면 file이 다운로드 됩니다.

7e0c7ec9c02bffca0ff9a9dc26f02f5b
0.01MB

이 파일을 수정해서 flag를 획득할 수 있습니다.

더보기

dvCTF{7rz1nv12kmv35sQaVOfsdzA8fQ}

 

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

[UTCTF] Websockets?  (0) 2022.03.14
[dvCTF] CyberStreak v1.0  (0) 2022.03.14
[dvCTF] RSA  (0) 2022.03.14
[Codegate2022] PrimeGenerator  (0) 2022.03.07
[CODEGATE2022] CAFE  (0) 2022.03.05

RSA

dvCTF Warmup 문제입니다.

 

Description :

Our team has found a cipher text: there seems to be some clues to decipher it. Can you help us to read it?

 

암호를 발견했다며 해독을 요구하는 문제입니다.

 

문제 분석

문제 제목부터 보란듯이 RSA를 사용한것을 알려주고 있습니다.

 

n = 0x7CD1020889B4382BE84B3F14EAAE242755CC1BD56F431B348F4FF8F207A96F41AFCF3EBDF4C17CB6537AD4B01B9FF9497763B22D013B614C8FCDB0C34F9D88F1A523013791EDFEB1FBBA160799892C118892FB7F199C9957DF5A26DAB4D776E5226F06ACD05412F6DD2B1B75D24CE9DC2DDAC513BCB96CD9B97F9BEF8543A3A1

phi = 0x7CD1020889B4382BE84B3F14EAAE242755CC1BD56F431B348F4FF8F207A96F41AFCF3EBDF4C17CB6537AD4B01B9FF9497763B22D013B614C8FCDB0C34F9D88F037D2317D3864035ECE8BCDD458711B788B5B3FDFD5164F7D736D0A56F416E8C16126E3868D73F54AF4D61F6033E069994319C849460C60A725A0F4DD97EDCC84

e = 0x10001

ct = 0x268D7D5F5593EA30F536635B58585620B51D2D143AFE4734635C259278D61413D0C89678E81EDF466B1E45E27EBF802F62F61263E499A516465163C7CB668F94258B3424C3E2BD76634923DECD670E4B6034F8FD00C76F9DAD00A72DB22B70B9408C89FCEE4C9B0D2D4B5664284328711BFAD57FBE1EDCC0854AAD57390DCAD6

뿐만아니라 n, phi, e, chiper text 값까지 제공해주었습니다.

 

RSA 암보호화

위 식에 의하면 RSA를 복호화 하기 위해서는 C(ct), d, n값이 필요합니다.

현재 확보 되지 않은 값은 d입니다. 하지만 e값과  phi 값이 있기 때문에 d를 구할 수 있습니다.

 

d = invert(e, phi)

위 식에 대입하여 얻어낼 수 있습니다.

 

문제 풀이

from gmpy2 import *
from Crypto.Util.number import *

n = '0x7CD1020889B4382BE84B3F14EAAE242755CC1BD56F431B348F4FF8F207A96F41AFCF3EBDF4C17CB6537AD4B01B9FF9497763B22D013B614C8FCDB0C34F9D88F1A523013791EDFEB1FBBA160799892C118892FB7F199C9957DF5A26DAB4D776E5226F06ACD05412F6DD2B1B75D24CE9DC2DDAC513BCB96CD9B97F9BEF8543A3A1'
phi = '0x7CD1020889B4382BE84B3F14EAAE242755CC1BD56F431B348F4FF8F207A96F41AFCF3EBDF4C17CB6537AD4B01B9FF9497763B22D013B614C8FCDB0C34F9D88F037D2317D3864035ECE8BCDD458711B788B5B3FDFD5164F7D736D0A56F416E8C16126E3868D73F54AF4D61F6033E069994319C849460C60A725A0F4DD97EDCC84'
e = '0x10001'
ct = '0x268D7D5F5593EA30F536635B58585620B51D2D143AFE4734635C259278D61413D0C89678E81EDF466B1E45E27EBF802F62F61263E499A516465163C7CB668F94258B3424C3E2BD76634923DECD670E4B6034F8FD00C76F9DAD00A72DB22B70B9408C89FCEE4C9B0D2D4B5664284328711BFAD57FBE1EDCC0854AAD57390DCAD6'
pt=''

n = int(n, 16)
phi = int(phi, 16)
e = int(e, 16)
ct = int(ct, 16)
d = invert(e, phi)

pt = pow(ct, d, n)
print(pt)

M(pt) : 100118678470123102108521039599861127251114116518811695988695828352125

 

Convert Decimal to ASCII - Online ASCII Tools

 

Convert Decimal to ASCII - Online ASCII Tools

Incredibly simple, free and fast browser-based utility for converting decimal to ASCII. Just paste your decimals and they will be instantly converted to ASCII.

onlineasciitools.com

얻어낸 plaint text 값을 위 사이트를 통해 변환하면 flag를 획득할 수 있습니다.

 

더보기

dvCTF{fl4g_cVpH3rt3Xt_bV_RS4}

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

[dvCTF] CyberStreak v1.0  (0) 2022.03.14
[dvCTF] CyberStreak v2.0  (0) 2022.03.14
[Codegate2022] PrimeGenerator  (0) 2022.03.07
[CODEGATE2022] CAFE  (0) 2022.03.05
[MHSCTF] Erlenmeyer Biscuits (Cuppa Joe 2)  (0) 2022.02.23

+ Recent posts