Dans ce billet j’essayerai de répondre à une question que je me suis posé des centaines de fois : toute personne ayant vécu l’évolution du Web au Maroc depuis ses débuts peut facilement constater que le nombre de startups/projets ayant réussit au Maroc reste encore très restreint. Il faut dire qu’on est encore loin de pratiquer le métier réel du web, un retard qu’on cumule petit à petit ces deux dernières années grâce aux medias sociaux.. Toutefois, il faut se réveiller car ce qu’on produit aujourd’hui est en grande majorité loin d’être à la hauteur.

Après plusieurs discussions et échanges avec des amis passionnés du web autour de cette problématique, j’ai pu relever plusieurs points qui font qu’on soit en retard, alors qu’est ce qui manque au web marocain? vous allez me répondre par beaucoup, je sais et je suis tout à fait d’accord avec vous! Mais c’est surtout:

Le manque de contenu et COCO attitude

L’une des grandes lacunes dont souffre les sites marocains est le manque de contenu, copiez un texte depuis un site de prestation et le coller sur Google vous amènerai dans 90% des cas à des pages similaires contenant les mêmes textes copiés collés, voir reformulés. Pourquoi? Parce que le plus souvent les clients ne savent pas communiquer sur ce nouveau support qui est le web, ce n’est pas forcément leur faute, la plupart des prestataires de services se focalisent souvent sur l’aspect technique du projet et ne dispose pas des profiles capables de produire un contenu original orienté web.

Lors d’une interview réalisée par itmaroc, Patrick Raynauld le Directeur Général de Pyxicom a souligné:

Clairement un manque de contenu. Le contenu et les moyens nécessaires pour le développer et l’actualiser ne sont pas assez au centre des préoccupations

La rédaction de contenu pour le web est un métier à part entier. il faut penser à recruter et préparer des profiles consultants spécialisés en WebMarketing (rédaction, SEO, SEM, Web 2.0, Stats).

Compétitivité

Avec le nombre d’outils OpenSource disponibles sur internet, créer un projet web est devenu un jeu d’enfant! Si vous pensez qu’un stagiaire bac+2 peut offrir une prestation similaire à la votre à un prix très bas c’est que vous ne connaissez pas le métier du web. Détrompez-vous messieurs! C’est faux!

Vous pouvez penser que le choix du prestataire est basé uniquement sur le prix, mais vous serez surpris. Les clients qui apprécient la qualité sont prêts à payer pour un travail exceptionnel. Soulevez-vous au dessus de la concurrence en faisant payer ce que vous pensez que vous valez. Croyez-moi, vous pouvez être trop bon en marché. Un conseil, si vous gardez votre taux bas, arrêtez ça maintenant.

En baissant les prix vous aurez à peine de quoi faire tourner votre boite, vous aurez pas les moyens pour recruter de bons profils, vos prestations resteront modestes et vous tournez au rond.

Prenez un bon regard critique sur la valeur que vous apportez aux clients et facturer en conséquence.

Créativité

J’ai toujours pensé que les marocains sont créatifs! Mais au fil des années je me suis rendu compte que ce n’est pas vraiment le cas.., j’ai constaté que nous sommes plutôt des copieurs des idées qui « marchent », des consommateurs fidèles de ce que les pays d’occident nous fournissent! Prenons juste comme exemple les sites de deals qui ont fleuri à une vitesse incroyable, alors sommes-nous à ce point incapables d’initier de nouvelles idées? La réponse est NON, on a des centaines de jeunes avec des idées créatives, il suffit d’être intelligent pour les concrétiser pour fonder nos propres modes.

Esprit d’entrepreneuriat et Business Angel

L’école marocaine du citoyen lambda nous a toujours éduqués pour faire de nous des produits destinés à travailler pour le compte des autres. Au Maroc, on ne te posera jamais la question: « tu fais quoi dans la vie? », on te demandera plutôt : « tu bosses où? », autrement dit les marocains ont-ils peur d’entreprendre? Oui mais la bonne nouvelle c’est que le Web offre tellement de possibilités qui font que monter un bon projet pour une idée créative ne demande pas forcément beaucoup de ressources! Nous avons aujourd’hui devant nous une panoplie de cas ayant réussi avec une idée très simple (Instagram par exemple). Si vous avez une idée à forte valeur ajoutée, pensez à la retravailler sur tous les plans (technique, business, etc..) si elle est bonne elle fera son chemin toute seule!

Si on ne compte pas Maroc Numerik Fund, on peut dire que les Business Angel sont très rares au Maroc, il faut dire que les investisseurs ne connaissent pas encore l’opportunité que leur offre le web d’aujourd’hui! Ceci est dû au manque de culture Web, autrement les gens ignorent toujours l’intérêt réel du Web et à quel point le terrain est vierge au Maroc pour se lancer. La preuve c’est que Maroc Numerik Fund était pour du vu/déjà vu (pour ne pas citer des noms), des idées importées qui ne rendront pas le web au Maroc meilleur!

Un surfeur plus averti

Aujourd’hui il est devenu très facile de faire circuler de l’information sur le web marocain, qu’elle soit vraie ou fausse l’internaute marocain n’a pas le réflexe de vérifier l’information avant de la rediffuser, ainsi on se retrouve souvent avec des infos de décès non vérifiés, de la diffamation, des conneries genre « fadi7at XYZ » pour attirer l’opinion public, il suffit qu’un bouzebbal balance une merde pour que tout le Maroc sent son odeur…

Nous voulons un internaute producteur et intelligent pour ne pas faire buzzer de la merde

#Twittoma et #Blogoma

Je peux dire sans exagérer que nous avons l’une des meilleures communautés ayant su profiter de la puissance des réseaux sociaux, aujourd’hui on se rend compte qu’on a un très bel collectif citoyen, actif et surtout jeune qui évoque les vraies problématiques avec des débats intéressants, toutefois une bonne partie des utilisateurs en font mauvais usage. Je citerai Twitter comme exemple, ce réseau social n’est pas « un nouveau chat vous appelle », c’est plutôt le réseau dédié à l’échange constructif, il vous permet de suivre les bons profils et vous exprimer avec du concret sans trop raconter votre vie!

La #Twittoma/#Blogoma est unique, on se connait tous, on se retrouve chaque année, on transmet des idées et on se prend en photos, tout ça c’est génial, il faut juste tirer profil de cette énergie et rendre ces échanges plus constructifs, pratiques et concrétiser les belles idées en des projets réels. Nous avons énormément de profiles intéressants qui se rencontrent mais qui n’échangent pas efficacement.. il faut apprendre à tendre la main et se présenter, la diversité de la communauté fait qu’il y ait beaucoup de personnes qui s’intéressent à ce que vous faites et qui peuvent vous aider.

Une dernière chose! Il nous faut une présence féminine plus marquante, sans laquelle il n’y aura pas assez de flexibilité lors de débat enter différentes personnes.

Notre communauté a un très grand potentiel, soyons alors plus intelligents, plus avertis, plus créatif et surtout UNIS.

Bref! ceci est un peu ce que je pense, sentez-vous libres à vous exprimer si vous pensez qu’il manque bien d’autres choses..

Partager cet article:
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Netvibes
  • viadeo FR
  • Digg
  • LinkedIn
  • Slashdot
  • Sphinn
  • Mixx
  • Blogplay
  • Identi.ca
  • Print
  • Ping.fm
  • email
  • Posterous
  • Reddit
  • Yahoo! Buzz
  • PDF
  • RSS
  • Diigo
  • Fark
  • Blogosphere News
  • blogtercimlap

Le Maroc a signé ACTA: Une hadopi à l’international

Posted: 29th décembre 2011 by Mohammed CHERIFI in Maroc

Cet article a été publié sur it.ma le portail des nouvelles technologies au Maroc

Tokyo le 1er octobre 2011, Le Gouvernement Marocain a signé un Accord commercial de Lutte Anti-Contrefaçon (ACTA) en tant que pays fondateurs de cet instrument, avec la participation de l’OMPIC et des sept pays signataires dont les États-Unis d’Amérique, l’Australie, Canada, Japon, Corée du Sud, Nouvelle Zélande et Singapour. Cet accords a été négocié en toute discrétion depuis 2007! l’Union Européen, le Mexique et la Suisse ont sont en cours de finaliser leur procédure interne en vue de signer l’ACTA.

 

En quoi consiste ACTA?

ACTA vise de lutter plus efficacement contre le problème de la contrefaçon et le piratage, elle vise à établir des normes internationales pour faire respecter les droits de propriété intellectuelle. L’ACTA imposerait aux pays signataires des limitations sévères sur le droit de la propriété intellectuelle touchant internet et le commerce de produits protégés par ce droit. tout ça c’est bien mais il y a toujours des mais..

Pourquoi ACTA est un très mauvais choix pour le Maroc?

Selon des fuites il apparaît que le but de ce traité est de forcer les pays signataires de mettre en place des mesures de répression de partage des œuvres, chose qui risque de mettre en péril la vie des internautes Marocains, voici ce qui risque d’être mis en place:

Les fournisseurs d’accès internet deviendront désormais « la police d’internet »:

Ceci-dis que si un internaute est soupçonné de télécharger illégalement un contenu sous copyright, les ayants droits peuvent exiger du fournisseur d’accès internet (FAI) de leurs donner accès aux informations personnels de l’internaute sans passer par la justice. ça veut dire que tout mail envoyé, le moindre envoie de photo sur Flickr voir le moindre message posté sur un forum devrait être vérifié par le FAI pour s’assurer que l’opération ne viole pas les droits d’auteurs, chose qui bien irréaliste aussi bien d’un point de vue économique que technique.

Déconnecter les utilisateurs d’internet en cas d’infraction:

Alors ceci existe déjà en France après l’application de la lois HADOPI, suite à cette lois il y avait eu en moyenne 50.000 coupures d’accès Internet par an, et tenez-vous bien, vous allez devoir payer aux ayant-droits des dommages et intérêts… sans que vous puissiez vous défendre devant un juge.

Actuellement, on ne vois aucun effort d’adaptation qui promet des prix pour toutes les bourses, le pouvoir d’achat est en forte baisse, la source d’information principale des jeunes marocains est Internet, des millions de marocains n’ont pas les moyen de se procurer internet chez eux, seuls 574000 marocains, selon le rapport annuel de Maroc Telecom, disposent d’une ligne ADSL, ceci promet qu’avec l’application de l’ACTA on risque de déconnecter tout le Maroc au bout de quelques années.

Adopter une procédure de censure immédiate sur toute plainte d’infraction au droit d’auteur:

A la moindre plainte d’un ayant-droit, Le contenu est immédiatement supprimé d’internet, avant même la présentation des preuves. C’est un désastre puisque le droit d’auteur et la propriété intellectuelle sont alors utilisés comme arme de censure!

Exemple: Si vous citez le discours marketing d’une marque pour la critiquer, elle pourra alors vous attaquer pour contrefaçon: Votre FAI fermera alors immédiatement votre site sur simple demande de la marque.

Interdiction de casser les DRM:

Et oui, interdit de casser les DRM ou protection anti-copie ou tout procédé de marquage, même si vous possédez l’original légalement acquis (Cette loi existe déjà en France). Cela ne mettrait pas seulement en péril les utilisateurs (qui veulent faire une copie de sauvegarde), mais aussi les auteurs de logiciels, y compris – par exemple – ceux du logiciel VLC ou de l’algorithme MP3 Lame.

Le mouvement STOP-ACTA:

Suite aux rares documents émanant de l’ACTA rendus accidentellement publics concernent les droits civils et la protection des données, des mouvement ont vu le jour pour informer les internautes sur les dangers de l’ACTA, la plate-forme Stopp ACTA a été créée par le Parti Pirate Suisse, plusieurs sites ont rejoins la cause, ce dernier permet l’implication directe des citoyens; dans une pétition pour se représenter contre les négociateurs de cet accord – un accord qui a de profondes répercussions à la fois sur la vie privée et la libre information de chaque citoyen comme explique la vidéo ci-dessous :

Conclusion?

Les informations des rares documents disponibles au public concernant ACTA sont le cauchemar de tout militant pour les droits civiques et la liberté d’information. L’opinion publique et la démocratie ne peuvent fonctionner que si le public intéressée dispose d’informations suffisantes.

Et puis la question qui se pose est: Est ce que le Maroc avant de signer cette lois a étudié la faisabilité de cette dernière? Messieurs on est pas aux états unis, on n’est pas en France non plus! si la France a appliqué HADOPI pour lutter contre le piratage c’est parce-qu’ils estiment qu’avec le pouvoir d’achat actuel des citoyen français, ces derniers peuvent se procurer des œuvres légalement, au Maroc nous sommes encore loin d’être capable de faire pareil, on n’est pas non plus prêts à adopter une telle lois.

Partager cet article:
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Netvibes
  • viadeo FR
  • Digg
  • LinkedIn
  • Slashdot
  • Sphinn
  • Mixx
  • Blogplay
  • Identi.ca
  • Print
  • Ping.fm
  • email
  • Posterous
  • Reddit
  • Yahoo! Buzz
  • PDF
  • RSS
  • Diigo
  • Fark
  • Blogosphere News
  • blogtercimlap

Après Skype, Maroc télécom bloque Viber!

Posted: 15th décembre 2011 by Mohammed CHERIFI in Maroc
Tags: , , ,


La plupart des utilisateurs de SmartPhones au Maroc connaissent Viber, une application gratuite disponible sur l’AppStore, Android Market permettant de passer des appels VoIP vers un autre téléphone utilisant Viber également et connecté à Internet. Après avoir testé Viber avec plusieurs contacts dernièrement je me rends compte que Viber ne fonctionne plus sur les ligne ADSL Maroc Telecom! Après Skype, c’est le tour de Viber cette fois-ci..

Aperçu un tweet de Youcef ES-SKOURI, j’ai vérifié avec mes contacts Viber, après plusieurs test il s’avère effectivement que Maroc Telecom bloque les ports utilisés par Viber sur toutes les lignes ADSL. sur les abonnement avec connexion 3G ce dernier marche toujours!

Aujourd’hui, on peut tout à fait se passer techniquement des forfaits Voix, une connexion internet suffit pour faire transiter de la voix (VOIP), chose qui est vu d’un mauvais œil de notre cher opérateur, surtout avec l’arrivée de toutes ces applications VOIP (WhatApp/Viber etc..).

Le business model de tout opérateur téléphonique se repose sur la vente de forfait/cartes de recharges prépayés dites VOIX, toutes les offres du marché sont fondées sur la durée d’appels, or qu’avec un SmartPhone connecté à Internet et une application VOIP comme Viber, il n’y a pas de limitation sur la durée! ainsi Viber concurrence directement les forfaits Voix en nous permettant d’appeler nos contacts via Internet, et en n’utilisant que notre forfait « Données », souvent illimité, sans avoir besoin que l’application soit « ouverte ». C’est génial la technologie hein :D ?

S’il vous semble que Viber fonctionne très mal chez Maroc Telecom, c’est tout simplement parce que ce dernier a décidé de couper l’accès à ce « service » sur ces lignes ADSL, c’est d’ailleurs pourquoi lorsque vous appelez un contact Viber, son tel sonne mais personne ne répond! pigé?

Pourquoi c’est bloqué seulement sur les lignes ADSL? et ben avec une connexion Wifi & Smartphone on peut effectuer des appel en VOIP avec une qualité incomparable à la 3G, avec le nombre de Spot et WIFI non sécurisé dans les grandes villes, plus personne n’utilisera son forfait voix pour appeler. Est ce une invitation indirecte pour inciter les gens à acheter un forfait?

Partager cet article:
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Netvibes
  • viadeo FR
  • Digg
  • LinkedIn
  • Slashdot
  • Sphinn
  • Mixx
  • Blogplay
  • Identi.ca
  • Print
  • Ping.fm
  • email
  • Posterous
  • Reddit
  • Yahoo! Buzz
  • PDF
  • RSS
  • Diigo
  • Fark
  • Blogosphere News
  • blogtercimlap

Pour minimiser le risque de se faire attaquer via une injection SQL, les administrateurs système mettent souvent en place des modules de protection permettant de bloquer la majorité des attaques basiques et celles effectuées à l’aide d’un outil automatisé. Dans ce billet, j’expliquerai les techniques utilisées pour énumérer l’existence de l’un de ces derniers, ainsi que les limitations et méthodes utilisées pour contourner ces protections.

Je vous rappelle qu’en lisant ceci, vous acceptez que je ne peux être tenu responsable pour toute action prise, les informations que je partage dans ce billet sont à utiliser SEULEMENT pour faire des PENTEST.

Principe des filtres

Certains filtrages sont souvent effectués côté client, le plus souvent avec javascript sur la page Web. Il suffit pour un attaquant d’enregistrer la page localement et supprimer le script pour les évader. Toutefois, la majorité des filtrages dans notre cas se font grâce à une liste noire restrictive et par conséquent, une certaine liste de mots ne peut être exécutée. Les outils les plus couramment utilisés pour cela sont: les systèmes de détection d’intrusion (IDS) et les filtres d’applications Web (WAF).

Les systèmes de détection d’intrusion

Un système de détection d’intrusion surveille l’activité réseau pour essayer de détecter des actions malveillantes et se concentre principalement sur l’exploitation forestière en faisant état de tentatives d’exploiter une application web. ce dernier essaye de répondre aux attaques et les empêche de se produire.

Le principe d’un IDS est de comparer les entrées de l’utilisateur avec des patterns malicieux connus appelés SIGNATURES. En voici un exemple:

alert tcp any any -> $HTTP_SERVERS $HTTP_PORTS (msg: « SQL Injection attempt »;
flow: to_server, established; content: « ‘OR’1′=’1′– »; nocase; sid: 1; rev:1;

D’où le ‘OR’1′=’1′– est ce qui est observé et ce qui provoque l’IDS pour alerter l’administrateur Web en lui envoyant comme message: « SQL Injection attempt ».

Bien entendu ceci n’est qu’un exemple, plusieurs combinaisons peuvent être utilisées pour contourner ce genre de protection, par-contre si l’IDS utilise un bon dictionnaire de SIGNATURES, l’attaquant devrait avoir beaucoup de créativité car il devient de plus en plus difficile de les contourner.

Les filtres d’applications WEB

Un filtre d’application WEB est un logiciel appliquant certaines règles à la requête pour tenter d’empêcher le code malveillant d’atteindre le serveur. Un WAF pourrait mettre en œuvre une liste noire ou blanche pour le contrôle d’entrée ce qui donne à beaucoup d’administrateurs un faux sentiment de sécurité. Pourquoi? la réponse c’est que tout simplement l’essentiel est la sécurité du codage du site Web.

Si vous obtenez une erreur « 501 Method Not Implemented » ou bien « 200 Condition Intercepted » après une tentative de test d’injection SQL avec « union all select » c’est que le serveur surlequel vous effectuez vos pentest utilise un WAF, mod_security par exemple..

En rappelle mod_security est un pare-feu open source d’applications Web qui fonctionne en tant que module du serveur Apache. Il dispose d’un ensemble complet de règles appelé «règles de base ModSecurity» pour bloquer les vecteurs d’attaques d’application web (injections SQL, Cross-Site Scripting etc..)

Contourner un IDS/WAF

Il existe plusieurs méthodes pour tester la fiabilité d’un IDS/WAF et éventuellement pour le contourner, voici une liste non-exhaustive des techniques qui peuvent permettre de surpasser les filtres:

Commentaires avec variables

Cette technique exploite une faille dans la méthode d’interprétation des variables dans Apache, on prends l’exemple suivant :

article.php?id=-1 UNION SELECT 1,2,3,4

  • Interprétation mod_security :
    id=-1 UNION SELECT 1,2,3,4 => BLOQUÉE

article.php?id=-1 UNION/**/SELECT/**/1,2,3,4

  • Interprétation mod_security :
  • id=-1 UNION/**/SELECT 1,2,3,4 => BLOQUÉE
  • Interprétation de l’application : : $_GET['id'] = « -1 UNION/**/SELECT/**/1,2,3,4″
  • article.php?id=-1 UNION/*&test=1*/SELECT/*&pwn=2*/1,2,3,4–

  • Interprétation mod_security :
    • id: -1 UNION/*
    • test: 1/*SELECT/*
    • pwn: 2/*1,2,3,4–
  • aisni => id=-1 UnION/*&test=1*/SELECT/*&pwn=2*/ 1,2,3,4 => PASSE
  • Interprétation de l’application : : $_GET['id'] = « -1 UNION/*&test=1*/SELECT/*&pwn=2*/1,2,3,4″
  • Phrases remplacées par des chaines vides et espace

    Certains filtres, afin d’empêcher l’exécution de requêtes contenant certains mots clés, ils remplacent ces derniers par des espaces/chaines vides ainsi :

    -123 UNION SELECT 1,2,3,4

    devient :

    profile.php?id=-1231,2,3,4

    Ce type de protection est facilement contournable on dupliquant le même mot restreint au milieux de ce dernier:
    exemple :

    -1 UNunionION SELselectCT 1,2,3,4

    ce qui donnera après remplacement

    -1 union select 1,2,3,4

    Dans certains cas, les WAF remplacent également les caractères spéciaux comme « ‘;:(){}/**/&$|?<> .Un attaquant peut s’en servir comme séparateur pour construire des mots clés restreins après suppression de l’un de ces caractères.. exemple :

    profile.php?user_id=-1 un?<ion sel&ect login,password,null,null,null fro}m admin

    Les null-bytes

    Placer un caractère null (%00) après un mot filtré peu dans certains contourner le filtre..

    Encodage de caractères

    La majorité des IDS&WAF ne supportent pas tous les types d’encodage, ainsi un attaquant peut encoder les paramètre dans l’URL pour échapper aux filtres:

    • Hex encoding: conversion de chaine en hexadécimal, exemple : load_file(0×2f6574632f706173737764) => load_file(/etc/passwd)
    • Unicode: %uff41%uff42%uff43 = ‘abc’
    • La fonction Char: CHAR(41,42,43) = ‘abc’, utilisable les codes décimales en ASCII
    • Le double Encoding: le principe est d’encoder les caractères deux fois de suite dans le but d’obtenir un caractère restreint après interprétation, exemple : Le signe % est égale à 25 en hexadécimal, quand codé pour les URLs il devient %25. Le «signle quote» ‘ est symbolisé par le chiffre 27 en hexadécimal ainsi dans une URL il ressemble à %27. si on l’encode à nouveau on obtient %2527 qui est interprété comme étant un «single quote» ‘, ce qui peut être en mesure de contourner certains filtres.

    Conclusion

    Utiliser un système de détection d’intrusion ou un par-feux d’application web est une bonne pratique pour minimiser le risque d’être attaqué, toute-fois avec peu de créativité, un attaquant peut réussir à les contourner et compromettre votre application web, ainsi la meilleure solution est de bien sécuriser votre code avant tout!

    Je rappelle que je ne revendique aucune responsabilité des actions que vous prenez en lisant ceci, Le but étant d’attirer l’attention des administrateurs système afin de ne pas avoir un faux sentiment de sécurité :) .

    Merci pour la lecture! Commentaires et critiques constructives sont toujours les bienvenus.

    Partager cet article:
    • Twitter
    • Facebook
    • Google Bookmarks
    • del.icio.us
    • Netvibes
    • viadeo FR
    • Digg
    • LinkedIn
    • Slashdot
    • Sphinn
    • Mixx
    • Blogplay
    • Identi.ca
    • Print
    • Ping.fm
    • email
    • Posterous
    • Reddit
    • Yahoo! Buzz
    • PDF
    • RSS
    • Diigo
    • Fark
    • Blogosphere News
    • blogtercimlap

    MCSC

    Moroccan Cyber Security Challenge

    MCSC ou Moroccan Cyber Security Challenge est le premier événement underground de Hacking au Maroc, organisé par les élèves ingénieurs du club INSEC, un club de jeunes passionnés dédié à la sécurité de l’information et en partenariat avec OWASP, l’événement est organisé sous le thème : « Appréhendez les menaces, pour en mieux s’en protéger.. » et aura lieu au sein de l’ENSIAS à Rabat le 15 Avril 2011

    C’est la première compétition de ce genre au Maroc. pour cette édition, seuls les élèves ingénieurs peuvent participer et seront confrontés à des épreuves sur plusieurs niveaux et de différentes catégories, l’objectif étant de déceler les vulnérabilités et les exploiter pour avoir le code de validation de chaque épreuve. Chaque grande école sera représenté par une équipe qui a pour objectif de résoudre des contestes , un système intelligent de point est mis en place pour compter les épreuves validées ainsi on découvrira les champions de cette première édition !

    Vous êtes des fous furieux de sécurité informatique? élèves ingénieurs marocains et souhaitez tester vos connaissances en Hacking en toute légalité? vous aimez les challenges? et ben c’est l’occasion. Les trois premières équipes seront récompensées par des lots divers.

    Des conférences et ateliers seront animés en parallèle par des professionnels du domaine de la sécurité des systèmes d’information et seront destinés à un public varié. Cette première édition verra l’intervention de l’OWASP et des professionnels du domaine de la sécurité à l’échelle international et national. Il y aura également des sessions débat et rencontres entre étudiants professionnels. L’entrée est gratuite et surtout libre!

    Il faut dire qu’au Maroc la culture d’underground et de sécurité informatique n’a pas encore atteint la maturité qu’il faut par rapport aux autres pays, je salues donc cette initiative qui nous permettra d’avoir des futurs ingénieurs avertis et qui produiront du code propre et sécurisé, cet événement et aussi pour dire que le Hacking n’est pas de la magie et qu’il suffit de prendre certaines mesures qui deviendront par la suite des réflexes pour le bien du web Marocain!

    Du coup, je vais aller y faire un tour cette année, (vu que j’ai participé à la réalisation de quelques challenges) et j’essayerai de vous faire un feedback de l’ambiance qui règne là bas. donc pour vous rappeler : Ça se déroulera le samedi et dimanche 15 et 16 Avril, de 14h à 20h! et le concours se déroulera toute la nuit à partir de vendredi minuit jusqu’à 9:00 du samedi matin! on se voit là bas alors?

    Je vous invite à découvrir le programme détaillé sur le site officiel du club INSEC et je vous dit à très bientôt!

    Partager cet article:
    • Twitter
    • Facebook
    • Google Bookmarks
    • del.icio.us
    • Netvibes
    • viadeo FR
    • Digg
    • LinkedIn
    • Slashdot
    • Sphinn
    • Mixx
    • Blogplay
    • Identi.ca
    • Print
    • Ping.fm
    • email
    • Posterous
    • Reddit
    • Yahoo! Buzz
    • PDF
    • RSS
    • Diigo
    • Fark
    • Blogosphere News
    • blogtercimlap

    Après avoir conçu le fichier schema.yml pour une applications de jeux en ligne, j’ai été surpris par une erreur mysql 150 au moment quand j’ai exécuté « php symfony doctrine:build –all –and-load –no-confirmation », l’idée était de pouvoir gérer les permission par rapport à un concours et donner à un utilisateur X les droits pour le faire, la solution la plus naturel afin de l’intégrer avec sfDoctrineGuard est de créer une table avec une relation « many to many« , voici donc ce que contenais mon fichier schma.yml pour la table concernée :

    ################## Questions ##################
    Concours:
      columns:
        id: { type: integer(4), primary: true, autoincrement: true}
        name: string(250)
        ....
    ############ Gestion des Permissions ############
    sfGuardConcoursUser:
      columns:
        user_id: { type: integer, primary: true}
        concours_id: { type: integer, primary: true}
      relations:
        Concours: { local: concours_id, foreign: id, foreignAlias: sfGuardConcoursUserConcours, onDelete: CASCADE }
        sfGuardUser: { local: user_id, foreign: id, foreignAlias: sfGuardConcoursUsersfGuardUser, onDelete: CASCADE }
    

    Problème

    Après avoir fait un « php symfony doctrine:build –all –and-load –no-confirmation », j’ai eu droit à cette erreur:

    SQLSTATE[HY000]: General error: 1005 Can’t create table ‘test.#sql-529_3dab’ (errno: 150). Failing Query: « ALTER TABLE jeux_concours ADD CONSTRAINT jeux_concours_concours_id_user_id FOREIGN KEY (concours_id) REFERENCES concours

    Solution?

    Et Oui c’est l’une des erreurs qui m’ont fait chier pendant une heure pour trouver d’où ça provient, pour vous faire gagner du temps, voici la recette magique ;) :

    Pour mysql les relations « many to many » doivent avoir toujours le même type et la même longueur des champs clés, vous remarquez bien que le champ Concours[id] est du type integer(4), par-contre dans la table sfGuardConcoursUser il est du type integer, il n’a donc pas la même longueur et c’est à cause de cette différence que l’erreur 150 s’est produite.

    La solution est très simple, il suffit de mettre integer comme type pour le champ id de la table Concours au lieu de integer(4) et Bingo!

    Happy coding

    Partager cet article:
    • Twitter
    • Facebook
    • Google Bookmarks
    • del.icio.us
    • Netvibes
    • viadeo FR
    • Digg
    • LinkedIn
    • Slashdot
    • Sphinn
    • Mixx
    • Blogplay
    • Identi.ca
    • Print
    • Ping.fm
    • email
    • Posterous
    • Reddit
    • Yahoo! Buzz
    • PDF
    • RSS
    • Diigo
    • Fark
    • Blogosphere News
    • blogtercimlap

    K'lma

    Faissal Azizi, Ex-Membre du Groupe K'lma

    Il faisait nuit! Allongé sur mon lit à réfléchir dans un silence brouillant de pensées, j’étais d’une humeur noirâtre et j’arrivais pas à dormir! Dans ma tête une mélodie ne cessais pas de se répéter en boucle, cette mélodie assez familière de la chanson Warda 3la Warda du groupe K’lma chanté par Faissal Azizi et Sakina, c’est d’ailleurs la chanson qui m’a encouragé à m’acheter une guitare, je me rappelle très bien le soir quand Moncif Aissaoui est venu à Rabat avec sa guitare et qu’il l’a joué avec sa guitare, c’était l’instant quand je lui ai demandé de m’acheter une! C’était ma première guitare!

    Je n’ai pas pu m’empêcher de me lever de mon lit, brancher mon micro, et commencer à jouer en enregistrant avec quelques improvisations et touches personnelles , je vous laisse écouter mon essaie composé de trois pistes: arpège, décoration et solo, j’ai improvisé un petit peu au milieux de la chanson =)

    Pour les Accords de l’arpège c’est :

    SI – MI mineur – SOL – FA#
    en annotation américaine:
    B – E min – G – F#

    Ordre de cordes de l’arpège

    Il faut jouer les cordes dans cet ordre :

    2 – 3 – 4 – 6 – 5 – 4

    Voilà, bon écoute!

    Écouter

    Clip audio : Le lecteur Adobe Flash (version 9 ou plus) est nécessaire pour la lecture de ce clip audio. Téléchargez la dernière version ici. Vous devez aussi avoir JavaScript activé dans votre navigateur.

    Téléchargement

    Vous pouvez télécharger le morceau en cliquant ici

    Partager cet article:
    • Twitter
    • Facebook
    • Google Bookmarks
    • del.icio.us
    • Netvibes
    • viadeo FR
    • Digg
    • LinkedIn
    • Slashdot
    • Sphinn
    • Mixx
    • Blogplay
    • Identi.ca
    • Print
    • Ping.fm
    • email
    • Posterous
    • Reddit
    • Yahoo! Buzz
    • PDF
    • RSS
    • Diigo
    • Fark
    • Blogosphere News
    • blogtercimlap

    Meditel Android development challengeUne bonne nouvelle pour les développeurs des applications smartphone! Meditel organise un concours de développement du 12 juillet au 12 novembre prochains, c’est le premier de son genre au Maroc et franchement ça fait plaisir de le savoir! Enfin nos chers opérateurs qui s’intéressent à la communauté des développeurs donnant place à nos jeune talents (et oui il y’en a beaucoup au Maroc) pour nous révéler leurs créativité!

    Concept

    Le concept est sympa, le challenge consiste à créer une application mobile sous Android (le système d’exploitation crée par Google) afin de promouvoir le contenu Marocain, il faut donc que cette dernière touche une grande partie des aspects de vie des marocains, le besoin est à déterminer par le développeur lui même!

    Cadeaux

    Le gagnant du concours aura l’opportunité d’aller au états-unis d’assister à la convention Google IO qui aura lieu les 11 et 12 Mai à San Francisco, un rendez-vous annuel incontournable organisé par Google qui est devenu une référence pour les développeurs! Quant au 2 autres gagnant (2ème et 3ème) un cadeau de valeur (on ne sais pas quoi encore) leur sera offert!

    Jné?!? :o

    Enfin un truc que j’ai pas pigé du tout dans ce concours et qui m’a bien fait marré =) je vous invite à voir Le jury de la compétition qui est bien fait et composé de personnalités « reconnus », sauf que lorsqu’on on dit reconnus ca devrai être cohérent avec la nature de l’évènement organisé, et franchement je ne vois pas le rapport entre un réalisateur de film « Nourredine Lakhmari » (le réalisateur de CasaNegra) et le développement mobile, peut être c’est pour juger si le contenu de l’application représente vraiment l’un des aspects de la vie courante des marocains, mais à mon avis: il fallait céder la place pour d’autres =)

    Comment participer?

    Si vous êtes développeur et que ça vous branche, allez télécharger le SDK Android et lancez vous!, peut être c’est votre chance d’assister à Google IO 2011, il vous suffit de vous inscrire sur la page officiel du concours et déposer votre/vos application(s) avant le 12 novembre , il est possible de s’inscrire à titre individuel ou en équipe!

    Quant à moi! je ne suis pas sur de vouloir participer vu le manque de temps, peut être après les exams je changerai d’avis et puis je suis vraiment content de voir que Meditel commence à s’intéresser aux plateformes OpenSource, vivement qu’on vois d’autre initiatives dans les jours qui viennes!!

    Bonne chance à tous les participants et longue vie à Andoid ;)

    Partager cet article:
    • Twitter
    • Facebook
    • Google Bookmarks
    • del.icio.us
    • Netvibes
    • viadeo FR
    • Digg
    • LinkedIn
    • Slashdot
    • Sphinn
    • Mixx
    • Blogplay
    • Identi.ca
    • Print
    • Ping.fm
    • email
    • Posterous
    • Reddit
    • Yahoo! Buzz
    • PDF
    • RSS
    • Diigo
    • Fark
    • Blogosphere News
    • blogtercimlap

    Après les deux premiers tutoriaux au sujet des attaques de type SQL Injection, le billet d’aujourd’hui sera dédié à un vecteur d’attaque un peu particulier, si vous ne connaissez pas les principes d’une injection sql, je vous invite vivement à lire les deux premiers articles avant de passer à la suite ;)

    Je rappelle que la série de ces tutoriaux est dans le but de donner une idée sur les différents aspects et vecteurs d’attaque d’une injection SQL, j’espère que ça vous aidera à mieux vous protéger et percevoir les risques en codant, n’hésitez pas à me faire part de vos remarques ;)

    Qu’est ce que Blind SQL Injection?

    Blind SQL Injection est un vecteur d’attaque dont l’approche est très différente de celle des injections classiques, elle permet comme ses ascendants d’injecter des données à partir d’une base d’une application vulnérable. Repérer une faille de ce type n’est pas toujours facile et demande une série de tests.

    Les Injections blind se caractérisent par l’absence d’un message d’erreur qui permettra de repérer la faille, ce qui impose une serie de tests « à l’aveuglette » qui permettront d’identifier la présence d’une faille ou pas !

    Prenant un exemple :

    On considère une application web avec une page profile.php avec le code ci-dessous :

    //…
    $user_id = stri_replace('union','',$_GET['user_id']);
    $query = "SELECT * FROM profile WHERE user_id = $user_id" ;
    if(!@mysql_query($query)){
    	echo "Ce membre n'existe pas";
    }
    else{
    	//Affichage des données du profil
    }
    

    Ce code semble sécurisé contre les injections classiques puisqu’il remplace le mot clé « union » qui peut permettre à un attaquant de sélectionner une nouvelle ligne et détourner la requête, toute-fois un attaquant malveillant peut l’exploiter!

    Analysant cette requête :

    profile.php?user_id=1

    Cet appel affichera le profile de l’utilisateur ayant l’id 1 (généralement l’administrateur du site)

    Que se passera t’il avec :

    profile.php?user_id=1 AND 1=2

    Logiquement 1 != 2, si le script n’affiche pas le profil c’est que la condition rajoutée a été exécutée dans la requête, on peut vérifier ça on rajoutant une condition qui retourne toujours true (profile.php?user_id=1 AND 4=4), si avec cette appel le profil de l’utilisateur ayant user_id=1 s’affiche, c’est que le script est vulnérable à une injection de type « Blind SQL Injection », alors là! La bonne nouvelle c’est que l’attaquant ne voit aucune information affichée, la mauvaise c’est qu’il peut facilement bruteforcer l’information en rajoutant des condition dans l’url et suivant l’affichage ou le non-affichage du profile, il peut donc comprendre si la condition qu’il a mise est correcte par la suite extraire les information caractère par caractère

    Exemple permettant de vérifier que la version de mysql est 5:

    profile.php ?user_id=1 AND version() MATCH 5

    Voyant ce qu’un attaquant malveillant peut faire pour exploiter cette faille :

    profile.php?user_id=1 and length(password)=32

    cet appel illuste un test sur la longueur du champ password, généralement les passes sont cryptés en md5, si c’est le cas le profil s’affiche et ça facilite à l’attaquant la poursuite de son exploitation ! Un md5 est une chaine de caractère en hexadécimal [09-af] donc 16 possibilités pour chaque caractères, du coup les possibilités ne sont pas énormes, 16 test au maximum peuvent permettre d’injecter un caractère du champ password, ce qui donne 512 requêtes en total pour extraire le hash md5 de l’utilisateur ayant user_id = 1

    Exemple :

    profile.php?user_id=1 AND substr(password,0,1)= 0×66

    Pour tester si le premier caractère est un « f » (0×66 correspond au code hexadécimal de la lettre f) ainsi selon l’affichage (ou non) du profil utilisateur l’attaquant peut facilement injecter le reste, évidement sans aucun message d’erreur affiché sur son écran !

    Pour résumer: Une Blind SQL Injection est toujours exploitée grâce à un bruteforce à l’aveuglette on se servant d’une page vulnérable qui affiche une donnés X, selon l’affichage ou non de cette dernière on peut deviner les données se cachant derrière.

    Comment sécuriser son application ?

    Les bonnes pratiques à adopter pour éviter de se faire pirater son site sont généralement les mêmes que j’ai cité dans les deux premier tutoriaux : de manière générale : Ne jamais se contenter de cacher les messages d’erreur, pensez toujours à filtrer les entrées, rajouter toujours les « signles quotes » aux variables que vous usez dans vos requêtes SQL et filtrer toujours avec la fonction mysql_real_escape_string

    Partager cet article:
    • Twitter
    • Facebook
    • Google Bookmarks
    • del.icio.us
    • Netvibes
    • viadeo FR
    • Digg
    • LinkedIn
    • Slashdot
    • Sphinn
    • Mixx
    • Blogplay
    • Identi.ca
    • Print
    • Ping.fm
    • email
    • Posterous
    • Reddit
    • Yahoo! Buzz
    • PDF
    • RSS
    • Diigo
    • Fark
    • Blogosphere News
    • blogtercimlap

    Le réseau des sites web de la célèbre marque Renault, l’un des plus grands acteurs du marché automobile, a été piraté lundi 17 mai 2010 par un groupe de hackers s’intitulant « v4 Team ». Ces derniers ont pu avoir accès sur le serveur principale hébergeant toutes les extensions des domaines renault y compris renault.co.ma.

    Suite à cette attaque massive, 52 sites officiels de renault ont été défigurés, affichant un message « by Q8 H4×0r renalut 0wn3d », les attaquant semblent exploiter une faille au niveau du serveur IIS6 tournant sous Windows 2003.

    Liste des sites piratés:

    • renault.uz
    • www.renault.co.uz/v4.asp
    • renault.com.pk/v4.asp
    • www.renault.com.pr/v4.asp
    • www.renault.eu/v4.asp
    • renault.sg/v4.asp
    • www.renault.tg/v4.asp
    • www.nouveautes-entreprise.renault.fr/v4.asp
    • www.megane-hatch-fleet.renault.co.uk/v4.asp
    • empresas-novidades.renault.pt/v4.asp
    • megane-sport-tourer-empresas.renault.pt/v4.asp
    • www.scenic-empresas.renault.pt/v4.asp
    • www.nuevo-megane-sport-tourer-empresas.renault.es
    • renault.com.tj
    • renault.co.ma
    • www.renault.co.tt/x.asp
    • www.renault.cg/x.asp
    • www.renault.ec/x.asp
    • www.nouveau-scenic-entreprises…
    • www.renault.com.ly/x.asp
    • www.renault.mobi/x.asp
    • www.renault.my/x.asp
    • www.renault.com.py/v4.asp
    • renault.com.ro/v4.asp
    • www.renault.gen.in/v4.asp
    • renault.hn/v4.asp
    • renault.la/v4.asp
    • http://megane-estate-entreprises.renault.fr/v4.asp
    • http://nouveautes-entreprises.renault.com/v4.asp
    • renault.com.az/x.asp
    • www.renault.co.in/x.asp
    • renault.cm/x.asp
    • renault.gy/x.asp
    • www.renault.hk/x.asp
    • www.renault.mq/x.asp
    • www.renault.kg/x.asp
    • www.renault.sn/x.asp
    • www.renault.asia/x.asp
    • http://new-models-fleet.renault.co.uk
    • renault.co.th/x.asp
    • renault.com.pt/x.asp
    • renault.co.ve/x.asp
    • new-models-fleet.renault.co.uk
    • megane-sport-tourer-fleet.rena…
    • www.renault.biz
    • http://nueva-gama-empresas.renault.es/x.asp
    • renault.ht/x.asp

    • http://nuevo-megane-berlina-empresas.renault.es/x.asp
    • http://www.megane-berlina-empresas.renault.pt/x.asp
    • renault.bo/x.asp
    • nuevo-scenic-empresas.renault.es/x.asp
    • renault.vn/x.asp
    • Partager cet article:
      • Twitter
      • Facebook
      • Google Bookmarks
      • del.icio.us
      • Netvibes
      • viadeo FR
      • Digg
      • LinkedIn
      • Slashdot
      • Sphinn
      • Mixx
      • Blogplay
      • Identi.ca
      • Print
      • Ping.fm
      • email
      • Posterous
      • Reddit
      • Yahoo! Buzz
      • PDF
      • RSS
      • Diigo
      • Fark
      • Blogosphere News
      • blogtercimlap