LetsDefend Browser Exploit Writeup
Рівень: Середній
Категорія: Аналіз шкідливого ПЗ
Посилання: https://app.letsdefend.io/challenge/browser-exploit
Передумови:
Це бурхливий понеділок в вашій організації, і команда ІТ-безпеки отримує термінове повідомлення: один з ваших вебсерверів був заражений шкідливим ПЗ. Цей сервер хостить критичні програми та обробляє конфіденційну інформацію клієнтів. Після розслідування команда ІТ-безпеки встановила, що шкідливе ПЗ є невідомим і потенційно складним.
Як відповідь, вони ізолюють заражений сервер і передають інцидент команді з аналізу шкідливого ПЗ для подальшого розслідування.
這是您組織忙碌的周一早上,IT 安全團隊收到緊急警報:您的一個 Web 伺服器已感染惡意軟體。受感染的伺服器託管關鍵應用程式並處理敏感的客戶資料。經過調查,IT 團隊確定該惡意軟體未知且可能非常複雜。
Це зразок для аналізу:
This is the sample to be analyzed.
Q1. Яку функцію ви визначаєте як відповідальну за перетворення вхідних даних у рядок у базі 36?
Цей код визначає функцію hDAVYVhp
, яка приймає аргумент TRdPNtO
і перетворює його в рядок у базі 36, а потім повертає результат.
It defines a function hDAVYVhp
, which takes an argument TRdPNtO
. Inside the function, it calls the toString()
method on the TRdPNtO
argument with a base of 36 and returns the result.
在 JavaScript 中,toString(36)
會將數字轉換為使用 0-9 和 a-z 字元的字符串,這實際上是以緊湊的字母數字形式對數字進行編碼。
In JavaScript, the toString()
method converts a number to a string, and if a base (radix) is provided, it will convert the number to that base. The base 36 means that the number will be converted using the characters 0-9 and a-z. This is often used for encoding numbers into a more compact string representation.
所以答案是hDAVYVhp
。
So the answer is hDAVYVhp
.
Q2. Яка назва функції, що перетворює числа у шістнадцяткові рядки зі специфічним форматом?
В mqQUHDzc
можна побачити, що рядок відображається у вигляді URL-кодування та шістнадцяткових рядків.
In mqQUHDzc
can see that the string is URL encoded and displayed in hexadecimal strings.
所以答案是mqQUHDzc
。
So the answer is mqQUHDzc
.
Q3. Яка назва масиву, що зберігає елементи розробників (div)?
Після виконання операції декодування URL для значення mqQUHDzc
, можна отримати наступний код:
By performing a URL decode operation on the value of mqQUHDzc
, the following code can be obtained.
На 8-ій лінії можна побачити, що код визначає порожній масив з назвою g_arr
.
On line 8 can see that the code defines an empty array named g_arr
.
所以答案是g_arr
。
So the answer is g_arr
.
Q4. Яка довжина масиву, що зберігає елементи розробників, у десятковій системі?
На 9-ій лінії можна побачити, що змінна arrLen
має значення 0x250
. Це шістнадцяткове значення, яке при перетворенні в десяткову систему дає 592
.
In line 9 can see that the value of a variable named arrLen
is 0x250
. This is a hexadecimal value. When converted to decimal, it is 592
.
所以答案是592
。
So the answer is 592
.
Q5.
If JavaScript is disabled in the browser, which endpoint is accessed instead?
Повертаючись до початкового файлу Flashback.html
, на рядках з 12 по 14 використовуються наступні елементи:
Перекладено з: LetsDefend Browser Exploit Writeup