247CTF 에서 제공하는
MODERATE 난이도의 암호학 카테고리 문제
제목에서 알 수 있는것처럼 XOR 관련된 문제이다.
문제에서 주어지는 것은
exclusive_key 파일이다.
해당 파일을 HxD로 열어봤는데
아무 의미없어 보이는 데이터들만 들어있었다.
CyberChef(https://gchq.github.io/CyberChef) 에
해당 파일을 업로드 한 후
XOR 을 해보았다.
KEY 값이 뭔가 플래그일 것 같아서
플래그 포맷의 맨 앞부분인 247CTF{ 를 넣어봤는데
Output의 맨 앞부분이
<!DOCTY 로 나오는 것을 볼 수 있었다.
뭔가 HTML 을 XOR 한 데이터인듯 했다.
맨 앞부분이 <!DOCTYPE html> 이 되도록
XOR 키를 하나씩 늘려가며 붙혀줬다.
중간중간에 /title> 같은 html 태그들이 보이기 시작하는걸 보니
어떤 웹페이지를 가져와서 XOR 한게 맞는것 같았다.
이렇게 찾으면 금방 찾을것 같아서
하나씩 찾아보기로 했다.
247CTF 플래그 형식이 보통
247CTF{MD5해시값} 형태이기 때문에
지금까지 알아낸 플래그 뒤에 0 을 계속 붙혀 길이를 40으로 맞춰주었다.
<!DOCTYPE html> 다음에는 보통 <html> 태그가 오기 때문에
<html 이 보이도록 한글자씩 key 값을 찾아냈다.
다음으로 <script>docume;u 라고 되어있는 부분이 보이는데
여긴 분명히 document 일 것이기 때문에
document 값이 나오도록 key 값을 다시 추가해줬다.
document 가 나오도록 key 값을 추가했다.
다음으로 <html clhvp 라는 값이 보이는데
여긴 분명히 <html class 일 것이므로
마찬가지로 <html class 가 나오게 key 값을 수정했다.
그 이후로는 계속 반복이다.
html 구조에서 눈에 띄는 부분을 찾아서
해당 부분이 원래 구조와 동일하게 되도록 key 값을 수정하면 된다.
key 값에 들어가는 값이 md5 해시므로 0 ~ 9 , a ~ f 까지의 값만 고려하면 돼서
생각보다 빠르게 해결할 수 있다.
'워게임 > 247CTF' 카테고리의 다른 글
[247CTF] THE SECRET LOCK - 리버싱 / Python (163) | 2023.11.21 |
---|---|
[247CTF] THE WEB SHELL - 포렌식 / Wireshark / Tshark (182) | 2023.10.28 |
[247CTF] HIDDEN PAINTING - MISC / Pygame (189) | 2023.10.24 |
[247CTF] TRY AND CATCH - MISC / Python (190) | 2023.10.20 |
[247CTF] FORGOTTEN FILE POINTER - 웹해킹 / PHP / LFI (184) | 2023.10.16 |