zerobin – Sam & Max http://sametmax.com Du code, du cul Wed, 23 Dec 2020 13:35:02 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.7 32490438 On a tenté de nous hacker 0bin http://sametmax.com/on-a-tente-de-nous-hacker-0bin/ http://sametmax.com/on-a-tente-de-nous-hacker-0bin/#comments Sun, 20 Dec 2015 09:36:38 +0000 http://sametmax.com/?p=17160 En me baladant dans l’arbo de 0bin.net pour retirer un dox qu’on m’avait signalé je suis tombé sur un dossier au nom bizarre :

# ls -l
total 4
4 drwxr-xr-x 7 root root 4096 sept. 24  2014 --

Hum, voilà qui n’est pas pratique à analyser depuis le bash. Et pourquoi j’ai ce dossier-là d’ailleurs ?

Regardons ce qu’il y a dedans :

# python -c "import os; os.rename('--', "strange_dir")"
# ls strange_dir/
3Q  Dk  k5  Oh  -u

Oh, y a un dossier nommé “-u”…

A ce stade-là, j’ai juste supprimé le truc.

Et j’ai réalisé : on crée les dossiers de l’arbo en fonction du nom du paste, qui est une clé générée côté client, et donc fournie par un code JavaScript non trusté.

Du coup l’attaqueur nous a sans doute passé une commande bash comme nom de fichier. J’imagine, espérant qu’on fabriquait le fichier avec une exécution shell. Comme on utilise le module os pour le faire, je pense que ça n’a eu aucun impact.

J’espère :)

]]>
http://sametmax.com/on-a-tente-de-nous-hacker-0bin/feed/ 8 17160
Zerobin passe à Python 3 http://sametmax.com/zerobin-passe-a-python-3/ http://sametmax.com/zerobin-passe-a-python-3/#comments Sun, 10 May 2015 18:19:56 +0000 http://sametmax.com/?p=16208 Ça faisait longtemps que je n’avais pas touché 0bin, le pastebin chiffré côté client écrit en Python.

Le support de Python 2 devait s’arrêter en mai 2015, soit ce mois-ci. Cela a été repoussé à 2020, mais pour marquer le coup symboliquement j’ai porté notre brave bestiole qui supporte maintenant la 2.7 et la 3.4.

Comme je n’ai jamais pris le temps de faire des tests unitaires sur ce projet, il est possible que j’ai cassé des trucs. J’ai testé manuellement, mais bon, on ne sait jamais, je vous avertis avant du danger :)

Le portage a pris une après-midi.

Même si ce n’est pas l’affaire de deux minutes, ce n’est pas non plus la montagne qu’on s’en fait. C’est du boulot, chiant et ingrat (surtout pour supporter 2.x ET 3.x avec une seule base de code), mais pas un travail de titan.

Et en prime, ça me permet de faire un peu reparler du projet qui n’avait plus eu de mise à jour depuis un bail.

Il mérite d’ailleurs encore pas mal d’amour :

  • Y a des issues qui sont toujours en attente sur github (certaines datent d’un an). Et c’est parce que je suis une merde procrastinatrice, il faut bien l’avouer.
  • Quelques features comme la suppression de l’histo ou d’un paste en particulier seraient les bienvenues.
  • Ca mériterait d’être porté à Angular. La lasagna jquery, c’est pas glop.
  • Un client Python serait pas de refus, et donc une API, et donc une clé API.
  • Une admin pour ses propres pastes avec URL jetable serait idéale. Mais faudrait changer le format de fichier des pastes, et donc versionner le format, et prévoir la migration des anciens.
  • Une admin pour les DMCA s’est faite sentir pas mal de fois.
  • Un script pour delete un paste en Python aussi.
  • Et pourquoi pas un packaging sous forme de .deb ou .rpm ?
  • Le support des bases de données n’a jamais été implémenté, c’est triste.
  • On avait parlé d’en faire une version avec auto réplication sur ses amis pour éviter la censure.
  • Et de faire un chat chiffré en dessous.
  • Et un éditeur de paste collaboratif. Mais faudrait porter zerobin vers crossbar.io.

Bref, ce “petit” projet a de beaux jours devant lui. Sauf que pour l’instant, y a une seule limace qui code dessus.

P.S : j’ai aussi réparé le “Mail this”, qui n’utilise plus l’URL raccourcie. En effet cette dernière n’est pas dispo dès qu’on dépasse le rate de l’API google, ce qui arrive tous les jours maintenant. La rançon du succès je suppose.

]]>
http://sametmax.com/zerobin-passe-a-python-3/feed/ 16 16208
0bin a été migré http://sametmax.com/0bin-a-ete-migre/ http://sametmax.com/0bin-a-ete-migre/#comments Thu, 25 Sep 2014 08:09:34 +0000 http://sametmax.com/?p=12237 0bin, le paste bin chiffré ? Il est de nouveau en ligne sur 0bin.net. Bref, on répare doucement, mais surement.]]> Vous vous souvenez de 0bin, le paste bin chiffré ? Il est de nouveau en ligne sur 0bin.net.

Je suis en train de copier tous les pastes en ce moment, et il y en a 28436 donc rsync rame un peu (j’ai fait l’erreur de le faire avec scp au début…) du coup tous les pastes ne seront pas là instantanément, mais au final, on les retrouvera tous.

Bref, on répare doucement mais sûrement.

]]>
http://sametmax.com/0bin-a-ete-migre/feed/ 5 12237
Nous avons mis puis enlevé Piwik sur 0bin http://sametmax.com/nous-avons-mis-puis-enleve-piwik-sur-0bin/ http://sametmax.com/nous-avons-mis-puis-enleve-piwik-sur-0bin/#comments Tue, 23 Oct 2012 14:37:20 +0000 http://sametmax.com/?p=2717 0bin. C'était une mauvaise idée.]]> Par curiosité nous voulions savoir combien de personnes allaient sur 0bin. C’était une mauvaise idée.

On ne pouvait pas utiliser Google Analytics car ça aurait émoussé la confiance des utilisateurs, alors on a installé notre propre instance de Piwik: une solution open source sur laquelle du coup nous avions la main du code en passant par le serveur.

Malheureusement, en regardant les stats détaillées, j’ai remarqué que Piwik sauvegardait chaque URL avec l’ancre, donc avec la clé de chiffrement. J’avais dans ma base de données une liste d’URLs menant à des pastes dont je pouvais lire le contenu.

Cela pose plusieurs problèmes:

  • si vous êtes hébergeurs de 0bin, vous voulez éviter ça à tout prix. Le but est justement ne pas pouvoir faire ça, car on parie sur le fait que ce qu’on ne peut pas être légalement tenu de modérer ce qu’on ne peut pas lire.
  • si vous êtes utilisateurs, tout l’intérêt de ce qui fait 0bin autre chose qu’un simple pastebin s’écroule

J’ai tout supprimé, mais c’est vraiment un coup de bol que je m’en sois aperçu, car je n’avais même pas imaginé que juste pour des stats on pourrait enregistrer jusqu’à l’ancre d’une URL. Et je n’ai certainement pas cherché ces URLs, qui n’étaient pas mises en avant dans ma configuration du tableau de bord.

Moralité:

  • si vous êtes hébergeurs, n’installez rien sur 0bin. Rien du tout. On ne peut jamais être parfaitement certain de ce que fait un outil tierce partie, fut-il open source. Si je n’avais pas ouvert par hasard ce sous-sous-sous-menu, je n’aurais pas vu le problème, et aurait pu accumuler ces URLs pendant des mois.
  • si vous êtes utilisateurs, faites bien attention à ce que l’outil ne comporte rien en plus. Un petit view source est de rigueur. Si quelqu’un peut nous pondre une extension pour vérifier le JS, encore mieux…
]]>
http://sametmax.com/nous-avons-mis-puis-enleve-piwik-sur-0bin/feed/ 13 2717
0bin, implémentation Python de zerobin (pastebin chiffré côté client) http://sametmax.com/0bin-implementation-python-de-zerobin-pastebin-chiffre-cote-client/ http://sametmax.com/0bin-implementation-python-de-zerobin-pastebin-chiffre-cote-client/#comments Sat, 19 May 2012 15:42:49 +0000 http://sametmax.com/?p=656 Max et moi on a merdé beaucoup plus de projets originaux que tout le reste. Du coup pour se remonter le moral, on se fait régulièrement un bon plagiat d’un truc qui marche. C’est terrible d’avoir plus de succès avec les idées des autres que les siennes :-)

Dans la lignée de nos flateries (puisque la copie en est la plus haute forme), voici 0bin, une implémentation Python du projet zerobin. Encore un truc de Sebsauvage. Promis après ça on arrête.

Capture d'écran du logiciel 0bin

0bin.net

Pour faire bonne mesure, c’est du libre sous licence WTF, il y a une doc en français, et le code source est  sur github. Si vous ne connaissez pas Python, c’est facile à installer. Si vous connaissez Python:

pip install zerobin && zerobin

C’est de la version beta alpha planta, donc rapportez-nous les bugs.

Le principe

C’est un pastebin ordinaire, vous collez du code, vous récupérez une URL, et vous l’envoyez à votre voisin qui peut ainsi le lire.

Le petit plus, c’est qu’il est chiffré côté client. C’est à dire que l’hébergeur (ici nous) ne peut pas lire ce que vous postez.

En plus de ça, on a rajouté quelques goodies:

  • coloration syntaxique automatique (pas besoin de préciser le langage);
  • historique des pastes précédents (sur votre navigateur uniquement);
  • upload (plutôt que de faire un gros copier/coller);
  • burn after reading: le paste ne peut être lu qu’une fois;
  • short url et copier dans le presse papier.

On à même réussi à caser VizHash.js là dedans !

Les grands absents (contrairement à zerobin), ce sont les commentaires. En analysant bien le truc, on s’est apperçu que c’était la porte ouverte à toutes les fenêtres, donc on a fait sauté la feature, d’autant que nous ne commentons jamais nous même nos pastes. On a un chat chiffré pour ça.

 

]]>
http://sametmax.com/0bin-implementation-python-de-zerobin-pastebin-chiffre-cote-client/feed/ 13 656