Вызовы JavaScript CTF — отличный способ проверить свои навыки в веб-разработке и JavaScript. Эти проблемы часто связаны с декодированием скрытых сообщений или кодов, встроенных в исходный код страницы или содержимое HTML.

В этой статье я поделюсь своим опытом решения задачи JavaScript CTF, которая включала декодирование шестнадцатеричной строки для выявления скрытого сообщения или кода.

Ссылка на вызов: https://defendtheweb.net/playground/intro10

Эта задача предоставляет HTML-форму с полем пароля.

Для такой ситуации я упомянул несколько советов в своей предыдущей статье: https://medium.com/@ashraful004/defend-the-web-writeup-intro-3-solving-a-javascript-ctf-challenge- e3d2d583f84a

Когда я начал проверять HTML и искать код JS, я нашел этот интересный код скрипта:

Код говорит:

<script type='text/javascript'>
  document['thecode'] = '\x39\x63\x35\x39\x62\x62\x31\x37\x31\x34'
</script>

код кажется шестнадцатеричной строкой. Я использовал этот онлайн-конвертер шестнадцатеричных строк: https://codebeautify.org/hex-string-converter

Хотя преобразование раскрыло секретный код, сначала мне было непонятно. Я также попытался получить доступ к свойству объекта документа из консоли браузера. document — это объект JavaScript, а thecode — свойство. Итак, я набрал:

document.thecode

и результат:

Это пароль и решение для этого ctf.

В заключение, декодирование скрытых сообщений или кодов в задачах JavaScript CTF может быть интересным и полезным занятием. Поняв, как получить доступ к свойствам объекта с помощью записи в квадратных скобках, и используя комбинацию инструментов и методов для декодирования сообщения, вы сможете решить эти проблемы и улучшить свои навыки в веб-разработке и JavaScript.

Спасибо, что прочитали эту статью, и я надеюсь, что вы нашли ее полезной.