Skip to content

Instantly share code, notes, and snippets.

View M0nteCarl0's full-sized avatar
evolve or repeat

Alex M0nteCarl0

evolve or repeat
View GitHub Profile
@M0nteCarl0
M0nteCarl0 / waf_request_parsing.cpp
Created July 26, 2023 06:34
Web aplication firewall request parsing example
#include <iostream>
#include <string>
#include <regex>
bool isRequestMalicious(const std::string& request) {
// Define the patterns to match for malicious requests
std::regex xssPattern("<script>|<\\/script>|<img\\s+src=[\"']javascript:");
std::regex sqlInjectionPattern(";\\s*(?:--|#|\\/\\*)");
// Check if the request matches any of the malicious patterns
@M0nteCarl0
M0nteCarl0 / siem_corelation.cpp
Created July 26, 2023 08:33
SIEM json corelation engine
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
#include <functional>
#include <cstdlib>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
@M0nteCarl0
M0nteCarl0 / RdJson.sh
Created July 27, 2023 06:21
Redis to json
#!/bin/bash
# Установите имя базы данных Redis
redis_db_name="my_redis_db"
# Установите имя JSON файла для сохранения данных
json_file_name="${redis_db_name}.json"
# Получите все ключи Redis из базы данных
redis_keys=$(redis-cli -n 0 keys "*")
@M0nteCarl0
M0nteCarl0 / check_auth_anomalies.py
Created July 27, 2023 06:27
Trivial SIEM python stages for MITM attack
import datetime
def analyze_authentication_logs(log_file):
with open(log_file, 'r') as file:
for line in file:
# Анализ строк лога для обнаружения аномалий аутентификации
# Например, обнаружение повышенной активности в аккаунтах пользователей
if 'login failed' in line:
# Ваш код обработки аномалии повышенной активности в аккаунтах
@M0nteCarl0
M0nteCarl0 / linux_log_storage_db.py
Created July 27, 2023 06:34
Windows and linux logs store in Redis and SQLlite
import syslog
import redis
import sqlite3
# Подключение к Redis
redis_client = redis.Redis(host='localhost', port=6379)
# Подключение к SQLite
conn = sqlite3.connect('syslog.db')
cursor = conn.cursor()
@M0nteCarl0
M0nteCarl0 / notifications.html
Created July 28, 2023 07:12
Web socket notification on golang
<!DOCTYPE html>
<html>
<head>
<title>Notifications</title>
<script>
var socket = new WebSocket("ws://" + window.location.host + "/ws");
socket.onmessage = function(event) {
var notification = JSON.parse(event.data);
alert("Title: " + notification.title + "\nMessage: " + notification.message);
@M0nteCarl0
M0nteCarl0 / info.txt
Created July 28, 2023 08:02
Load balacer info
Есть несколько алгоритмов балансировки нагрузки, которые могут быть использованы в балансировщиках нагрузки. Вот несколько примеров:
Round Robin (циклический):
Балансировщик нагрузки последовательно отправляет запросы к каждому серверу в циклическом порядке.
Каждый следующий запрос отправляется на следующий сервер в списке.
Этот алгоритм прост в реализации, но не учитывает текущую нагрузку серверов.
Least Connection (с наименьшим количеством соединений):
Балансировщик нагрузки направляет запросы к серверу с наименьшим количеством активных соединений.
Это позволяет распределить нагрузку равномерно между серверами в зависимости от их текущей загрузки.
Однако этот алгоритм требует отслеживания состояния каждого соединения на всех серверах.
@M0nteCarl0
M0nteCarl0 / ActiveConnection.go
Created July 28, 2023 08:44
ActiveConnection storage
package main
import (
"fmt"
"net"
"sync"
)
type ActiveConnection struct {
conn net.Conn
@M0nteCarl0
M0nteCarl0 / client.go
Last active July 31, 2023 10:41
Simple TCP chat client and server with private messages for connected users
package main
import (
"bufio"
"fmt"
"net"
"os"
)
func readMessages(reader *bufio.Reader) {
@M0nteCarl0
M0nteCarl0 / connection manger_HighLoad.go
Last active July 31, 2023 17:14
Golang connection manager
package main
import (
"fmt"
"sync"
)
// ConnectionManager интерфейс определяет методы для управления соединениями
type ConnectionManager interface {
AddConnection(connection Connection)