Вызовы 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.
Спасибо, что прочитали эту статью, и я надеюсь, что вы нашли ее полезной.