lundi 25 février 2013

Failles UPLOAD

Salut à tous, nouvelle article pour ce jour qui concerne les failles de type upload.
Alors déjà pourquoi je mets un "s" à failles? car tout simplement il existe plusieurs type d'attaques pour une vulnérabilité upload, voici celles que je connais:

0x01~# Type MIME
0x02~# Double extensions
0x03~# Null bytes

Pour commencer:
L’upload permet le transfert de fichiers depuis votre machine qui est le client vers le site qui est le
serveur , mais souvent les scripts d’upload contiennent des vulnérabilités .
La faille upload est une faille permettant d’uploader des fichiers avec une extension non autorisée, cette faille est due à la mauvaise configuration du script d’upload ou à l’absence complète de sécurité.
Celle ci est généralement présente dans les scripts d’upload d’images.
Le but de cette faille est d’uploader un fichier avec une extension non autorisée. (Par exemple un code php) de façon à avoir un accès au serveur cible.




0x01~# Type MIME

Cette vulnérabilité  va permettre de <<bypasser>> la vérification mime
Je m'explique, quand on envoi un fichier sur le serveur un contenu POST est envoyé.
Dans ce contenu, on pourra voir de quel genre de fichier il s'agit.

Ex: Si on upload un fichier php ça nous renvoi
application/octet-stream


Pour bypasser, il nous suffira de changer la valeur de POST (dans ce cas il nous faudra changer le application/octet-stream par quelque chose qu'on nous autorise, si on nous autorises les images PNG on n'a qu'à marquer image/png)

Mais comment? Grâce à un module firefox: TemperData. Qui lui est disponible sur toutes les versions du renard comparé à http header qui est bien connu aussi.

Pour cela, quand vous envoyez le fichier, avant faites "altérer les donnés" puis uploadé, normalement une fenêtre s'ouvre, cliquez sur "Altérer" (et décoché si nécessaire la case)
Après vous n'avez qu'à faire comme je l'ai dit au dessus :)!

Cette faille est du au code mal coder </troll>
$_FILES[‘uploadedfile’][‘type’]

0x02~# Double extensions

Comme son nom l'indique, il suffit de mettre deux extensions soit
backdoor.php.png
Cette faille est du à apache qui lit les fichier php et png
pour sécurisé il suffit d'interdire la lecture des fichiers php (si vous ne savez pas coder :')

 0x03~# Null byte

 un null byte ressemble à ça on peut l'écrire de différentes facons selons la version du serveur
/0 ; ; % 00 ..

C'est en fait la version chiffré de la valeur NULL.
La faille est présente car le serveur lui-même l'interprète en tant que fin d'un string.

Pour l'exploité vous n'avez qu"à changer le contenu du POST; dans le nom du fichier rajouter le nullbyte (ex: shell.php.png) et validé. Vous pouvez aussi directement modifier le nom du fichier avant de l'uploadé

END 

à noté que vous pouvez fusionner ses techniques! 
 Vous êtes maintenant capable de réaliser 3 challenges de root me dans la catégorie web-serveur!
  
TOP RESSOURCE(s):
 LINK

13 commentaires:

Solutions FSA Challenges

Salut, j'avais fait des challenges pour le site FSA (partenaire), ils ont une partie challenges que vous pouvez essayer ici (begginer)

Bon comme je l'ai dit c'est vraiment du begginer de chez begginer :). Avec l'autorisation de l'admin je vais mettre une solution à mes challenges (qui n'ont pas été bcp validés), soit :

- Mr.Bi et Mme Nerd
- Encryption fuck!  
- Cryptagano
- Un livre spécial !


Vous pouvez les essayer, si vous ne trouvez pas, voici les solutions: 

http://pastebin.com/Gi3Ln4vP
  

0 commentaires:

dimanche 24 février 2013

New partner


New partner!
Halls-of-valhalla.org



website of computing challenges!

I finish begginer challenges lol :')
send me a message if you want more information!

0 commentaires:

vendredi 22 février 2013

Backtrack 5 : Envoyez un email 100% anonyme

SendEmail, comme son nom l'indique, permet d'envoyer des emails, mais par ligne de commande, mais le plus impressionnant dans tout ça, c'est que l'on peut usurper l'identité de n'importe qui.
Par exemple si on veut envoyer un email avec l'adresse facture@edf.fr c'est réalisable!

PS: sendEmail est disponible sur backtrack 5 sans installation.


Ouvrez un shell linux et taper sendEmail pour voir toutes les options. (attention à la casse)
Pour envoyer un email simple sans options avancés, vous n'aurez besoin que de ces commandes:


  • -f , cette commande définie l'adresse email de l'envoyeur.
  • -u sujet du message (entre guillemets)
  • -m se que contient le message (idem guillemets) 
  • -s serveur smtp* de votre FAI 
  • -t adresse du destinataire.
  • -o message-file=file_txt
serveur smtp*: vous pouvez obtenir le smtp de votre FAI simplement grâce à ce site:
Click

Vous pouvez tout de même séparé les commandes avec des \ puis appuyer sur entrer pour une meilleur lisibilité
Et voilà le résultat
si il y'a un problème d'encodage au niveau des caractères réglez en UTF-8

Premier tutoriel d'une longue série je l'espère sur backtrack!

Amicalement,






0 commentaires:

Pour les amateurs..

Pour les amateurs de graphisme j'ai aussi un blog où je partage quelques graphismes, c'est moins entretenu par contre :')

shirobiarts.blogspot.fr

Bonne soirée/journée.

0 commentaires:

Les bases de numération

// Cela s'adresse aux débutants, bien entendue. Je posterais plusieurs tutoriels de différents niveaux disons que c'est le level beginner Wink

Les bases de numération

I) C'est quoi une base de numération ?

Ou plutôt ... Comment on compte ?
Les bases sont nombreuses, celles que nous utilisons tous les jours est la base 10.
10 veut dire "10 éléments dans cette base"
(0,1,2,3,4,5,6,7,8,9) ou autrement dit un chiffre

ATTENTION retour primaire, ne pas confondre chiffre,numéro,nombre :

1) un chiffre = 1,2,3,4,5,6,7,8,9
2) après ce sont des nombres (composés de plusieurs chiffres)
3) un numéro implique un ordre (1er, 2er etc..)


quand on assemble ces chiffres cela donnera donc, un nombre.
Ex : J'ai 30 ans la semaine prochaine.

Pour bien vous faire comprendre la base 50 contiendra 50 symboles pour représenter un nombre.
C'est cohérent Base X = X symbole(s).

I) A L'ACTE !

Maintenant que vous savez ce qu'est une base, nous allons pouvoir approfondir le sujet...

Prenons un nombre: 1234
On dit, juste à présent, que le chiffre le plus à gauche est le poids fort et que le chiffre le plus à droite et le poids faible,
car si on change ce "1" en "9" ça changera beaucoup plus la valeur du nombre que si on changer la valeur du poids faible (5) en 9.

Il faut absolument savoir aussi que les nombres se lisent de droite à gauche et non de gauche à droite.
Vous comprendrez mieux dans cet exemple pourquoi:

//Nous sommes toujours en base 10 hein.

4 * (10^0=1) = 4
3 * (10^1=10) = 30
2 * (10^2=100) = 200
1 * (10^3=1000) = 1000

c'est bon ??? vous commencez à mieux comprendre ?!

On le lit donc 1000 + 200 + 30 + 4 = 1234
Voilà vous savez maintenant représenter un nombre en base 10 Wink

Mais ne croyez surtout pas que c'est bon vous êtes venue à bout des bases de numérations héhé !
Comme j'ai dû (normalement) le dire au dessus, la base 10 n'est que l'exemple le plus facile, car c'est celui
que vous utilisez presque tous les jours.

II) Et les autres é_è ?!

Et oui Monsieur Dames ! il n'y a pas que la base 10 que vous utilisez tous les jours, je parle bien de la base 60 !

Ou autrement dit :
-MAMAN, IL EST QUEL HEURE ?!
-MAMAN, ON EST QUEL JOUR ?!
Etc .. (je suppose que vous n'allez pas demander quelle année on est, car là c'est vraiment limite ...)

On parle bien donc, du temps.

Voyez vous le rapport dans l'informatique dans tout ça ? c'est tout simplement la base 2 qui utilise 2 symboles, ou plutôt le langage de l'ordinateur ou autrement dit
, le binaire Wink

//Oui ce truc là : 1001 1101

Il utilise donc le "1" et le "0", mais nottez bien dans vos têtes mes enfants, que le 1 en base 2 n'a pas de rapport avec la base 10 !

Et avant 2 y'a 1, parlons un petit peu de la base 1 .

En base 10 nous représentons treize : 13
Mais en base 1 nous le présenterons de cette magnière : IIIIIIIIIIIII
Juste à là rien de compliqué, pour revenir au binaire nous représenterons 13 comme ceci : 1101
J'insiste bien sur ça, que celui qui me prononce 1101 "mille cent un" je l'éttripe, nous le dirons donc "un,un,zéro,un" car sinon, nous parlons de base 10.

Je ne sais pas si vous avez remarqué après tout ces exemples, mais en régle général : Plus la base est grand, moins vous avez besoins de symboles pour réprésenter
nombre.

Avant de rentrer dans les détailles du binaire, je vais vous parler d'une dernière base, la base 16, ou plus connue sous le nom de "hexadecimale"
Suivons l'exemple de 13.

En Hexadecimal nous l'écrivons : D
ça peut vous paraître bizzare mais les bases ne sont pas forcement des nombres, la base 2 aurait très bien pu être sous forme "oui pour 0" "non pour 1"
Bien en hexadecimale, c'est pareil, on compte comme ça

0 = 0
1 = 1
2 = 2
3 = 3
4 = 5
6 = 6
7 = 7
8 = 8
9 = 9
//AH MERDE ! comment on fait ? il nous faut 16 symboles ! , bien on utilise les lettres de l'alphabet pour :
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15


Nous voilà au complet avec nos 16 éléments !
Et donc vous voyez bien que la règle général
Plus la base est grand, moins vous avez besoins de symboles pour représenter
nombre.

Marche très bien là, nous somme à la base 16 et nous avons besoins que d'un seul symbole pour marquer 13 qui en base 10 contient 2 éléments et en base 16 en contient donc qu'un Wink
Mais comment écrire un nombre supérieur à 15 (hexa) ?

On va convertir le décimale facilement avec ce petit calcule

Diviser le nombre par 16 :
134 : 16 = 8,375
Ignorer les décimales : 8
On obtient le nombre de seizaines dans 134.
Retrancher au nombre le produit de 16 et du résultat précédent : 134 - (8×16) = 6 On obtient le nombre d'unités dans 134.
Donc 134 se dit 86 en hexadécimal (8 seizaines et 6 unités)


J'ai fait le rapport entre toutes ces bases pour vous prouvez que plus la base est petite, plus le chiffre sera dur à lire, par exemple
100 000 en base 10 convertie en base 1 ca ferait pleins pleins de petites barres
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ....


Bon, ça sera tout. Je vous ferais un autre tutoriel plus tard pour approfondir le rapport avec le binaire, désolé des quelques fautes. A+ :=)

0 commentaires:

mardi 19 février 2013

HTTP - Verb tampering

Salut les amis, aujourd'hui j'avais l'envie de vous partager un de mes tutoriels ecrit sur n-pn.
PS: J'ai oublier de preciser qu'on pouvait utilisé un editeur d'en tete comme http header, mais ne marche pas pour les dernières versions de firefox.

http://www.pastebin.com/Z7PFUtm4


à la fin du tutoriel vous pourrez tester ca sur root me ou bien newbiecontest. Merci!


Au passage, je ferais qqs articles sur les mathématiques (pas de trucs compliqués je n'ai que 15 ans x')

0 commentaires:

dimanche 17 février 2013

Nouvelle catégorie root me: Forensics

Voilà une nouvelle catégorie de challenge, je n'ai malheureusement pas eu le temps de tester, pour les débutants, je vous propose la visualisation de cette vidéo de 40 minutes en Francais (merci qui??)

Bonne chance pour cette série de challenges :)


0 commentaires:

CRLF - Web Server [root-me]

//Solution != Explication du challenge CRLF de root-me.org


Re-bonjour pour un nouvel article, on s'attaque cette fois si à la partie Web - Server de root-me.
Le but de ces épreuves sont simples : exploiter une failles (web) pour récupérer le mot de passe, il se peut qu'il y'est plusieurs solutions.

PS : Suite à plusieurs remarques, je ne donnerais pas de réponses aux challs, mais plus une "astuce" une explication, enfin comme vous le voulez :').

Passons au chall:

Nous voyons un espace d'authentification basique avec un champs user et password.
On ne pas tester d'injection de type SQL, pourquoi ?
CRLF
  CRLF (Carriage return line feed)
Cette faille peu connue permet d'insérer un retour à la ligne dans un champ input et nous permet ainsi d'injecter des headers non attendus qui seront pris en compte dans le traitement du formulaire si les données entrées ne sont pas vérifiées. 


Source : http://www.sebdelkil.info/2011/12/cracker-un-site-web.html

Ce qui n'est pas dit, c'est que nous pouvons aussi modifier une url pour y injecter un retour à la ligne (%0A) en hexadecimal. Comme dans cette exemple:

ch14.php?username=bonjour&password=test

à vous de tromper l'admin pour valider le challenge maintenant :')

Top ressource :
Faille CRLF

7 commentaires:

Du bruit - Steganographie [root-me]

Dans cette épreuve on a un fichier audible, quand on le lance on entend un song qui va très vite, je
redis très vite... vous n'avez toujours pas trouvé? Ok...m

Il s'agit en fait d'une phrase en accéléré, pour que notre cerveau la comprenne (vu qu'il est leeeeeennnnt)
nous devons ralentir le son grâce à unnlogiciel comme audacity, vous trouverez l'effet dans la partie "effets"

Je vous fait un article sur des autres challs de stegano bientôt :-)

4 commentaires:

Shell 2 [root-me]

Salut, il y'a peut j'ai découvert nux, je me sentais bête avec mon vieux pc de 1990, alors j'me suis acheter un intel portable avec Backtrack 5 R3 pour l'OS principal. Enfin, j'ai vite apprit beaucoup de commande grâce à un collègue que je remercie!

J'ai découvert qu'en fait l'interface graphique n'es presque rien comparé à ce fond noir avec une écriture blanche (en plus il parrait que ca fatigue moins les yeux, pratique quand on reste devant son pc longtemps, voir très longtemps ).

certes, tout ça m'a donné envie de tester cette série de challenge "App - Script" pour m'entrainer avec seque j'ai acquie au cours de cette semaine!

blabla, commencons par le commencement, connectons nous grâce à cette commande:
ssh shell2@challenge02.root-me.org -p 2223
shell2 password's : shell2
[•••]

Op là, connecté!
n'ayant jamais fait ce genre de challenge, je ne trouve pas comment faire :-/
Après il me vient à l'idée de faire un ls, rien.
avec un petit man ls (permet denvoir la doc) je test les options,
le ls-lA sera la bonne, on voit un total de 7 fichiers, dont trois qui ont l'air intéréssant

.bash_history
.passwd
.netrc


en essayant d'ouvrir le .passwd, on nous dit que nous avons pas les droits nécéssaires, logiqe juste à là....

Donc je test pour le dernier : cat .ntrc
Hop là! le flag de validation, si les épreuves sont aussi faciles je pense pouvoir en réussir plusieurs,
d'ailleurs j'ai déjà pas mal d'infos pour le shell1 !

1 commentaires:

samedi 16 février 2013

Ouverture du blog.

ça y'est! j'ai enfin décidé de m'ouvrir mon blog, c'est la tendance que voulez-vous?
De ce fait, mon blog contiendra des solutions dans tout genres de catégories (Crypto,Stégano etc..)

Je fournirais les réponses de plusieurs sites de challenge, avec le plus d'explication possible pour que vous en compreniez le sens, je verrais pour les CTF. Je galère pas mal déjà pour le "lamp-security-CTF5".  Enfin, je vous tiens au courent!

Je proposerais aussi différents cours sur bactrack le réseau etc..

Bonne visite.


Amicalement,
Shirobi.

1 commentaires: