728x90
이번 포스트에서는 Python Challenge의 Level 11 문제에 대해 다루겠다.
문제를 클릭하면 다음과 같은 페이지가 출력된다.
## 문제 해석 :
사진 한 장만 달려 있는 페이지다. 페이지의 제목을 확인해보면 odd와 even이 적혀있는데, 그림의 픽셀을 홀짝으로 나누면 되는 것으로 보인다.
## 문제 풀이 :
파이썬을 이용하여 그림의 픽셀을 홀짝 별로 나눠서 저장해보겠다.
### 공격 코드 :
from PIL import Image
with Image.open("cave.jpeg") as img:
odd_img = Image.new("RGB", img.size)
even_img = Image.new("RGB", img.size)
for h in range(img.height):
for w in range(img.width):
if((w + h) % 2 == 0):
even_img.putpixel((w, h), img.getpixel((w, h)))
else:
odd_img.putpixel((w, h), img.getpixel((w, h)))
odd_img.save("cave_odd.png")
even_img.save("cave_even.png")
### 실행 결과 :
cave_even.png를 포렌식 툴로 조절하면 위와같이 evil라는 글자가 들어간 것을 확인할 수 있다.
### 최종 공격문 : http://www.pythonchallenge.com/pc/return/evil.html
### 실행 결과 :
Level 12로 넘어간 것을 확인할 수 있다.
'Wargame > Python Challenge' 카테고리의 다른 글
Python Challenge (Level 13) (0) | 2022.09.08 |
---|---|
Python Challenge (Level 12) (0) | 2022.09.07 |
Python Challenge (Level 10) (0) | 2022.08.28 |
Python Challenge (Level 9) (0) | 2022.08.27 |
Python Challenge (Level 8) (0) | 2022.08.26 |