Yozzang의 해킹일기 💻
article thumbnail
728x90

이번 포스트에서는 Python Challenge의 Level 23 문제에 대해 다루겠다.


문제를 클릭하면 다음과 같은 페이지가 출력된다.

Level 23

## 문제 해석 : 

소 사진이 출력되어 있다. 개발자 도구를 확인하면 다음과 같은 문장들을 볼 수 있다.

개발자 도구

  • TODO : 사과를 구해야 할 일이 있었나요? 지금이 바로 그 사람에게 사과를 할 좋은 시간이빈다. 이 레벨에서 할일이 딱히 없더라도 그사람에게 좋은 매너를 보여주세요.
  • "this"는 문서화되지 않는 모듈이다. 
  • 'va gur snpr bs jung?'

"this"라는 파이썬의 모듈을 확인하고, 세 번째 문장을 해석하면 될 것으로 보인다.

## 문제 풀이 : 

우선 파이썬의 "this" 모듈을 확인해보겠다. 

### 실행 결과 : 

this

this는 파이썬의 특수 모듈이다. 또한 해당 모듈은 this.s의 내부에 저장되어 있다.

this.s

여기서 세 번째 문장이랑 비교해서 정답을 찾을 수 있지만 해당 문자열을 해독하면서 찾아보겠다. this 모듈은 또 this.d라는 해독용 딕셔너리가 존재한다.

this.d

이어서 세 번째 암호문을 해독해보겠다. 우선 해당 암호문은 rot-13이라는 암호기법에 의해 암호화된 것을 알 수 있다. 즉, 알파벳이 13칸 씩 밀린다는 것이다.(A->N, ...)

 

파이썬의 통해 해당 암호문을 해독해보겠다.

### 공격 코드 : 

import this

e = "va gur snpr bs jung"
m = "".join([this.d.get(p, p) for p in e])
print(m)

### 실행 결과 : 

출력 결과

"in the face of what"라는 문구가 출력되었다. 해당 문구를 this 모듈의 "in the face of ambiguity"인 것을 알 수 있다. 즉, 정답은 "ambiguity"이다.

### 최종 공격문 : http://www.pythonchallenge.com/pc/hex/ambiguity.html

### 실행 결과 : 

공격 성공

Level 24로 넘어간 것을 확인할 수 있다.

'Wargame > Python Challenge' 카테고리의 다른 글

Python Challenge (Level 24)  (0) 2022.09.24
Python Challenge (Level 22)  (0) 2022.09.21
Python Challenge (Level 21)  (1) 2022.09.20
Python Challenge (Level 20)  (1) 2022.09.19
Python Challenge (Level 19)  (0) 2022.09.18
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!