전에 있는 Cookies 보다 어려워진 문제다.
혼자 힘으로는 풀지 못해 공부하면서 기록해보려고 한다.
주어진 주소에 접속해 보면 익숙한 페이지가 나왔다.
admin만 사용할 수 있다는 내용이 보였다.
개발자 도구를 열어 쿠키를 찾아봤더니 두 개의 값을 알 수 있었다.
먼저 복잡해 보이는 문자열을 아무렇게나 바꿔봤지만 얻게 된 건 실패 문구였다.
딱히 해볼 수 있는 게 없어서 주어진 힌트를 봤는데, 동형 암호화와 관련된 링크와 아까 해봤던 방법으로는 해결할 수 없을 거라는 내용이 있었다.
구글에 검색해서 고수들의 도움을 받았다.
여기서 대문자로 적혀 있는 Cookies, Be, Client에 주어진 힌트를 연관시키면 CBC(암호 블록 체인)에 연관된 문제라고 추측할 수 있다.
(여기 문제들은 제목이나 내용에 힌트들을 많이 숨겨놓는 거 같다.)
CBC는 비트플립 공격에 취약한데 여기선 admin의 여부를 결정하는 단일 비트를 찾으면 admin이 될 수 있다.
그 비트를 찾으려면 무차별 대입으로 진행해야 하는데, 많은 사람들이 만들어져 있는 파이썬 코드를 사용했다.
🔽
https://github.com/HHousen/PicoCTF-2021/blob/master/Web%20Exploitation/More%20Cookies/script.py
혹시 모듈이 없다는 에러가 나오면 pip 명령어를 이용해 설치해 주면 된다.
pip install [모듈]
예쁘게 flag를 얻을 수 있었다. 참 멋진 코드다.
제출 성공!
코드 작성해서 풀어나가는 문제는 처음인데, 문제에 맞춰 코드를 작성하는 건 멋진 느낌이다.
언제쯤 나도 가능해질까
❗ 공부해야 할 것
1. 동형 암호화가 무엇인가?
https://en.wikipedia.org/wiki/Homomorphic_encryption
2. 비트 플립 공격
https://crypto.stackexchange.com/questions/66085/bit-flipping-attack-on-cbc-mode/66086#66086
3. 사용된 코드 분석해 보기
'ctf > Web Exploitation' 카테고리의 다른 글
Web Gauntlet 문제 풀어보기 (0) | 2025.06.24 |
---|---|
Who are you? 문제 풀어보기 (0) | 2025.05.01 |
Some Assembly Required 1 문제 풀어보기 (1) | 2025.02.04 |
login 문제 풀어보기 (1) | 2025.01.31 |
It is my Birthday 문제 풀어보기 (0) | 2025.01.25 |
댓글