Curses and Hexes - Stego TJCTF 2016

Задание:
Дано изображение и требуется найти флаг.

curses_and_hexes_be8ff7fc6f52da613718cf26c2f8e5414bf34b57ac2203b7baff69558ffb05f3.png.zip [20,53 Kb] (cкачиваний: 53)

Curses and Hexes - Stego TJCTF 2016

Таск по решению похож на Grey Shades с предыдущего райтапа.

Открываем изображение в редакторе, в котором возможно посмотреть цвет (разделенный на каналы Red, Green и Blue).

Curses and Hexes - Stego TJCTF 2016

Замечаем, что все три параметра цвета в пределах от 50 до 150, что наводит на мысли о переводе их в ASCII (стоит упомянуть, что 32 - номер символа пробела).

Пишем программу, которая делает следующее:

1. Проходит по вертикалям и изучает каждый пиксель
2. Получает все три цвета Red, Green и Blue .
3. Переводит номера цветов в ASCII символы.
4. Обьединяет все символы в строку.

Код программы:


from PIL import Image

#загружаем изображение
im = Image.open('curses_and_hexes_be8ff7fc6f52da613718cf26c2f8e5414bf34b57ac2203b7baff69558ffb05f3.png')

answer = ''

#конвентируем изображение в массив пикселей с тремя параметрами Red, Green и Blue
rgb = im.convert('RGB')

#проходимся по вертикалям (524 - высота, 308 - ширина )
for y in range(300):
	for x in range(300):
		#получаем цвет пикселя
		r, g, b = rgb.getpixel((x, y))
		#добавляем "символ" цвета в строку
		answer+=chr(r)+chr(g)+chr(b)


В итоге мы получили отрывок из рассказа "The Metamorphosis".
Делаем поиск по символу " { " и находим флаг!
FLAG: tjctf{y0u'r3_a_w1z4rd_H4rry!!}

P.S. К данному решению можно было прийти и по-другому.
Достаточно погуглить "ctf png noise writeup" и первая ссылка приведет вас к похожему таску https://github.com/ctfs/write-ups-2014/tree/master/asis-ctf-quals-2014/white-noiseскачать dle 10.5фильмы бесплатно

  • Автор: drakylar
  • Комментарии: 0
  • Просмотры: 4330

Добавить комментарий

Вы не авторизованы и вам запрещено писать комментарии. Для расширенных возможностей зарегистрируйтесь!