Hack

From Tuxunix
Jump to: navigation, search

Liste site Exploit

Others

Site WEB

Attack DDOS

  • Mod_evasive est un module Apache pour contrer les attaques DOS. Celui-ci est par exemple capable de détecter lorsqu'un utilisateur demande un trop grand nombre de pages sur un site web, sur un délai de temps très court.
#> apt-get install libapache2-mod-evasive
<IfModule mod_evasive20.c>
 DOSHashTableSize 3097
 # Pas plus de 2 pages par seconde
 DOSPageCount 2
 DOSPageInterval 1
 # Pas plus de 150 requetes par seconde (images, CSS...)
 DOSSiteCount 150
 DOSSiteInterval 1
 # Periode en seconde pendant laquelle on bloque le client
 DOSBlockingPeriod 10
 # Dossier contenant les IP blaclistes
 DOSLogDir "/var/lock/mod_evasive"
</IfModule>
#> mkdir -p /var/lock/mod_evasive
#> chown -R apache:apache /var/lock/mod_evasive 
#> /etc/init.d/apache2 restart

SQL Injection

Ce type d'attaques est le plus répandus, voici quelques conseils pour pallier à ce problème...

' OR 1=1"); 

PHP

  • Protéger les chaines de caractères : utiliserez la fonction mysql_real_escape_string()
  • Protéger les valeurs numériques : utiliserez la fonction is_numeric()
  • Utiliser htmlspecialchars() et/ou htmlentities() pour chaque inputbox

ASP

Bah ASP c'est moche!! C'est pourquoi il vous faut faire vos propres fonction qui vérifia la présence de caractère douteux...

exemple : ASP-SQL-Injection

Robots

Protéger vos formulaires d'inscription/d'authentification

Utiliser le captcha!!

Inclusion

PHP

Faille include

<?php
if(isset($_GET['page']))
{
include $_GET['page'].'.php';
}
else
{
include 'accueil.php';
}
?>

Il suffit de placer une page. Il se rend ensuite sur le site concerné par la faille, et rentre l'url suivante : monsite.com/index.php?page=http://autre_site.com/page

  • Solutions :
  • Utiliser les Expressions régulières en enlevant les caractères spéciaux : le slash, le point et l'antislash... qui pourraient prendre place dans l'url
  • Bannir au niveau apache :
#Block hack
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*)http(\:|\%3A)(.*)$
ReWriteRule .* - [F]
  • Préférer require_once() ou include_once()

Faille du code HTML et des formulaires

<form action="page.php" method="post">

<textarea name="message"></textarea> <input type="submit" value="Envoyer" />

</form>
<?php
if(isset($_POST['message']))
{
echo $_POST['message']; //On aurait très bien pu stocker le message, cela serait revenu au même
}
?>

Ici on peut injecter du code HTML. Pour ce prémunir "utiliser la fonction htmlentities()"

echo htmlentities($_POST['message']);


Upload de fichier

<?php
if(!empty($_FILES['fichier_source']['tmp_name']))
{
//Un fichier a été envoyé, nous pouvons le traiter
}
?>

Pour ce prémunir de fichier véroler, traiter la reception du fichier, pour identifier le type de fichier avec notamment la fonction "getimagesize()".

XSS

Le XSS signifie Cross Scripting Style

Le principe est d'injecter des données arbitraires dans un site web, par exemple en déposant un message dans un forum, mais aussi par des paramètres d'URL, etc. Si ces données arrivent telles quelles dans la page web transmise au navigateur (par les paramètres d'URL, un message posté, etc.) sans avoir été vérifiées, alors il existe une faille : on peut s'en servir pour faire exécuter du code malveillant en langage de script (du JavaScript le plus souvent) par le navigateur web qui consulte cette page.

La détection de la présence d'une faille XSS peut se faire par exemple en entrant un script Javascript dans un champ de formulaire ou dans une URL :

<script type="text/javascript">alert('bonjour')</script>

Si une boîte de dialogue apparaît, on peut en conclure que l'application Web est sensible aux attaques de type XSS.

Système

Brute force

Installer fail2ban!

Doc : [1]


Root kit

Anti-root kit

  • Utiliser => Rkhunter ([2])

Outils