Skip to content

Instantly share code, notes, and snippets.

View bizouarn's full-sized avatar

Aymeric Bizouarn bizouarn

View GitHub Profile
@bizouarn
bizouarn / InterdictionChiffrementContreProductif.md
Last active July 16, 2025 08:08
Pourquoi interdire le chiffrement des messageries est une absurdité

Pourquoi interdire le chiffrement des messageries est une absurdité

1. Le chiffrement, un fruit défendu ?

L'État veut nous faire croire que le chiffrement est une pomme empoisonnée, qu'il faudrait interdire pour notre sécurité. Mais comme dans l’histoire d’Adam et Ève, interdire l’accès à la connaissance (ou ici, à la sécurité numérique) ne fonctionne jamais.

Au contraire, ceux qui veulent vraiment en profiter, les criminels et les États étrangers continueront d’y avoir accès, pendant que le citoyen honnête, lui, sera laissé sans protection.

2. Interdire le chiffrement ne gênera que les honnêtes citoyens

Les criminels n’ont pas attendu l’aval de l’État pour mordre dans la pomme du chiffrement :

  • Ils peuvent héberger leur propre serveur de messagerie en quelques minutes.
@bizouarn
bizouarn / HResult.md
Last active March 20, 2025 18:15
Qu'est-ce que HResult ? (en c#)

HResult en C#

Qu'est-ce que HResult ?

En C#, un HResult est un entier de 32 bits utilisé pour indiquer des erreurs spécifiques dans des exceptions. Il est principalement utilisé pour les erreurs d'interopérabilité COM et dans les API Windows, permettant ainsi d'identifier de manière unique l'origine et le type de l'erreur.

Structure binaire de HResult

Le HResult est un entier de 32 bits, et chaque partie du nombre a une signification particulière permettant de catégoriser l'erreur.

@bizouarn
bizouarn / cleanup-gitlab-pipelines.sh
Last active October 9, 2024 20:47
Script bash pour supprimer tous les pipelines gitlab pour un projet antérieur a une date donnée
#!/bin/bash
##################################################################
# Configuration des variables
GITLABURL="https://gitlab.com"
ACCESSTOKEN="glpat-XXXXXXXXXXX" # Token d'accès API
DELETEBEFORE="2020-01-01" # Date limite pour la suppression
PROJECTID="00000" # ID du projet
##################################################################
# Fonction pour récupérer les ID des pipelines à supprimer
get_pipeline_ids() {
@bizouarn
bizouarn / Disable_IE_ESC.ps1
Created October 2, 2024 17:10
Script PowerShell qui désactive la configuration de sécurité améliorée d'Internet Explorer (IE ESC) pour les administrateurs et les utilisateurs.
# Disable IE ESC for administrators
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}" -Name "IsInstalled" -Value 0
# Disable IE ESC for users
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}" -Name "IsInstalled" -Value 0
# Restart explorer to apply change
Stop-Process -Name Explorer
Write-Host "Internet Explorer Enhanced Security Configuration disabled."
@bizouarn
bizouarn / AddWgetToGitBash.ps1
Last active September 16, 2024 13:33
Ajouter wget à git-bash
$gitPath = (Get-Command git).Path
if (-not $gitPath) {
Write-Error "Git n'est pas installé ou n'est pas dans le PATH."
exit 1
}
$gitRoot = Split-Path -Path (Split-Path -Parent $gitPath) -Parent
$gitBinPath = Join-Path -Path $gitRoot -ChildPath "mingw64\bin"
$wgetUrl = "https://eternallybored.org/misc/wget/1.21.4/64/wget.exe"
$tempWgetPath = Join-Path -Path $env:TEMP -ChildPath "wget.exe"
@bizouarn
bizouarn / DebugPort.md
Last active September 12, 2024 08:10
Guide Pratique pour Déboguer un Port chez un Client avec PowerShell

Guide Pratique pour Déboguer un Port chez un Client avec PowerShell

Lors du diagnostic de problèmes de connectivité réseau, il est essentiel de vérifier si un port spécifique est ouvert sur une machine distante. PowerShell fournit un outil puissant pour cette tâche avec la commande Test-NetConnection.

1. Présentation de Test-NetConnection

Qu'est-ce que Test-NetConnection ?

Test-NetConnection est une commande PowerShell permettant de tester la connectivité réseau, notamment la disponibilité d'un port sur une machine distante. Elle est souvent utilisée en alternative à Telnet pour des vérifications plus avancées.

@bizouarn
bizouarn / MySqlDumpSegmenter.cs
Last active September 3, 2024 12:00
Divise un dump MySQL en fichiers distincts basés sur les commentaires pour en simplifier l'analyse.
using System.Text.RegularExpressions;
const string path = "Dumps.sql";
var title = "";
using var sr = new StreamReader(path);
StreamWriter sw = null;
try
Import-Module GroupPolicy
$BackupPath = "C:\temp\GPOBackup"
if (Test-Path $BackupPath) {
Remove-Item -Path $BackupPath\* -Recurse -Force
} else {
New-Item -ItemType Directory -Path $BackupPath
}
@bizouarn
bizouarn / UnquotedServicePath.md
Last active March 13, 2024 22:28
La faille de sécurité "Unquoted Service Path" (Windows)

Faille de Sécurité : Unquoted Service Path

Introduction

La faille de sécurité "Unquoted Service Path" est une vulnérabilité potentiellement critique qui peut affecter les systèmes d'exploitation Windows. Cette vulnérabilité résulte d'une mauvaise gestion des chemins d'accès des services installés sur le système, où le chemin d'accès d'un service ne serait pas correctement délimité par des guillemets lorsqu'il contient des espaces. Les attaquants peuvent exploiter cette faille pour exécuter du code malveillant avec des privilèges élevés, compromettant ainsi la sécurité du système.

Comment fonctionne la faille

Lorsqu'un service est installé sur un système Windows, son chemin d'accès est généralement enregistré dans la base de registre. Si ce chemin d'accès comporte des espaces et n'est pas encadré par des guillemets, le système peut interpréter incorrectement le chemin et créer une opportunité pour une attaque.

@bizouarn
bizouarn / OperateursLogiques.md
Last active February 14, 2024 08:31
Opérateurs Logiques en C#

Opérateurs Logiques en C#

En programmation, les opérateurs agissent sur deux opérandes et effectuent diverses opérations logiques ou arithmétiques.
Voici quelques-uns des opérateurs binaires les plus couramment utilisés en C#.

Opérateurs Logiques

ET Logique (&)

L'opérateur & effectue une opération logique ET bit à bit.