cryptnote.net - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Nett und simpel.
Wäre noch praktischer, wenn man die Optionen hätte, die z.B. bietet.

Grüße
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Du weißt also gar nicht ob der Hoster die Zugriffe auf den Server speichert. Und trotzdem sagst du, der Server speichert keine IP-Adressen. Das sagt mir genug um dein Angebot nicht ernst zu nehmen.

Fachmännisch ausgedrückt: Du weißt nicht genau was du da machst.
 
  • Thread Starter Thread Starter
  • #7
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Dann nutzen Sie das Angebot halt nicht, wenn Sie mir nicht vertrauen. Fachmännisch ausgedrückt: Ich habe eine andere Formulierung gewählt, sodass klar ist was gemeint ist.
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Wenn du nicht mit Kritik umgehen kannst, dann solltest du keine Werbung machen. Und wenn du keine Kontrolle über den kompletten Server hast, dann darfst du nicht behaupten, dass der Server nicht loggt. Wenn du das doch machst, dann wundere dich auch nicht über entsprechende Kommentare. Bin ich im Kindergarten gelandet oder was?
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Hast du die Erlaubnis deines Hosters, dass Pentests auf deine IP laufen dürfen? Die ist nämlich von Nöten. Primär wird nämlich die Infrastruktur des Hosters angegriffen und damit auch alle anderen Benutzer auf deiner Kiste und des Anbieters. So wie es oben auf deiner Seite steht, möchte ich vermuten, du bewegst dich da auf sehr dünnen Eis.
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Ich frage jetzt nicht ob das mit dem Penetrationstest wirklich ernst gemeint ist. :D
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Hm, die Seite funktioniert bei mir leider nicht mehr. In der Fehlerkonsole kommt nur:

Code:
Expand Collapse Copy
TypeError: block is undefinedcrypto-js.js:3668:18
    xorBlock https://cryptnote.ch/js/crypto-js/crypto-js.js:3668
    processBlock https://cryptnote.ch/js/crypto-js/crypto-js.js:3611
    _doProcessBlock https://cryptnote.ch/js/crypto-js/crypto-js.js:3783
    _process https://cryptnote.ch/js/crypto-js/crypto-js.js:622
    _doFinalize https://cryptnote.ch/js/crypto-js/crypto-js.js:3798
    finalize https://cryptnote.ch/js/crypto-js/crypto-js.js:3460
    encrypt https://cryptnote.ch/js/crypto-js/crypto-js.js:3982
    encrypt https://cryptnote.ch/js/crypto-js/crypto-js.js:3498
    <anonym> https://cryptnote.ch/js/script.js:28

Was ist da los? Kannst du die Docs der von dir verwendeten Libraries nicht lesen?
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Feedback, gerne.

1) Trustpilot? Wat????
2) Du benutzt crypto.getRandomValues() für einen AES-Key, was auch in den Usage-Notes der Funktion als unsicher dargestellt wird. Dafür lieber die SubtleCrypto.generateKey(), weil es garantiert in einem sicheren Kontext läuft.
3) Wieso alternierst Du zwischen getRandomValues und randomBytes? Im Vergleich, randomBytes ist geeignet als getRandomValues() für AES-Keys, weil es prinzipiell nur ein Wrapper um OpenSSLs RAND()-Funktion ist, und garantiert im sicheren Kontext läuft
4) Wieso ist "CryptoJS" in der selben JS-File wie dein Code? Spricht eher für schlechte Modularaisierung
5) "CryptoJS" ist unnötig, wieso benutzt Du nicht die Browser-Eigenen Funktionen für AES/DES/Random-Values?
6) Du hast keine Ahnung ob Nitrado IPs speichert? Toll. Besorg Dir nen *eigenen* Server, wenn Du willst das Leute dein Zeug benutzen
7) Du vergisst bei manchen URLs mit PHP das Escaping
8) Wieso kriegen wir die Source vom Servercode nicht? Angst, das Leute dich "beklauen"? Wieso dürfen wir uns kein eigenes Bild davon machen, was Du dort tust, wo es doch wirklich recht trivial ist, vom Aufwand her?
9) Wieso benutzt Du Ajax? Vollkommen unnötig in dem Fall hier, weil Du damit effektiv Leute ausschließt, die kein JS ausführen lassen wollten, und daher folgt dann auch...
10) .... Javascript-Vorraussetzungen für XHR
11)
Code:
Expand Collapse Copy
            message = message.replace(/(?:\r\n|\r|\n)/g, "<br>");
Wieso machst Du das Clientside? Das ist absolut sinnfrei.
12)
Code:
Expand Collapse Copy
      function clock() {
        submitBtn.disabled = "disabled";
        var myTimer = setInterval(myClock, 1000);
        var c = 10;
        ++c;

        function myClock() {
         submitBtn.value = --c;
         if (c == 0) {
           clearInterval(myTimer);
           submitBtn.value = "Verschlüsseln & Link abrufen";
           submitBtn.removeAttribute("disabled");
           document.getElementById("input1").value = "";
         }
        }
      }
Was soll das? Sinnfrei.
13) Nochmal, trustpilot????
Code:
Expand Collapse Copy
<div class="trustpilot-widget" data-locale="de-DE" data-template-id="56278e9abfbbba0bdcd568bc" data-businessunit-id="5e91a72bd83fbe00011c3b87" data-style-height="52px" data-style-width="100%">
lol...
14)
Code:
Expand Collapse Copy
  <!--
  	<div id="advertise">
	<script type="text/javascript">
	atOptions = {
		'key' : '8872e87e2b5edb7cff867182daae804a',
		'format' : 'iframe',
		'height' : 90,
		'width' : 728,
		'params' : {}
	};
	document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.hiprofitnetworks.com/8872e87e2b5edb7cff867182daae804a/invoke.js"></scr' + 'ipt>');
	</script>
	</div>
  <div id="advertise2">
    <script type="text/javascript">
      atOptions = {
        'key' : '894a622dc1504548d28b10e8da38a9a2',
        'format' : 'iframe',
        'height' : 60,
        'width' : 468,
        'params' : {}
      };
      document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.hiprofitnetworks.com/894a622dc1504548d28b10e8da38a9a2/invoke.js"></scr' + 'ipt>');
    </script>
  </div>
Na danke. Sehr freundlich...

Fazit, 15 Minuten drüber gucken: Refactor and migration to server needed, bevor das auch nur irgendwer für irgendwas anfässt, wofür man solch einen Service nutzen würde.
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Fazit, 15 Minuten drüber gucken: Refactor and migration to server needed, bevor das auch nur irgendwer für irgendwas anfässt, wofür man solch einen Service nutzen würde.

Du hast den Quellcode vergessen. Den Quellcode benötigt man für ein eingehendes Whitebox-Audit ja auch.
 
  • Thread Starter Thread Starter
  • #18
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Feedback, gerne.

1) Trustpilot? Wat????
Ok, ich machs mal raus. Danke.
2) Du benutzt crypto.getRandomValues() für einen AES-Key, was auch in den Usage-Notes der Funktion als unsicher dargestellt wird. Dafür lieber die SubtleCrypto.generateKey(), weil es garantiert in einem sicheren Kontext läuft.
Nein, ich benutze mittlerweile das hier:
[src=javascript]
let password = Math.random().toString(36).substr(2, 8);
let salt = CryptoJS.lib.WordArray.random(128 / 8);
let key = CryptoJS.PBKDF2(password, salt, {
keySize: 256 / 32
});
var encrypted = CryptoJS.AES.encrypt(message, key.toString());
[/src]
3) Wieso alternierst Du zwischen getRandomValues und randomBytes? Im Vergleich, randomBytes ist geeignet als getRandomValues() für AES-Keys, weil es prinzipiell nur ein Wrapper um OpenSSLs RAND()-Funktion ist, und garantiert im sicheren Kontext läuft
Benutze ich ja nicht mehr.
4) Wieso ist "CryptoJS" in der selben JS-File wie dein Code? Spricht eher für schlechte Modularaisierung
Es befindet sich nicht in der selben Datei, vielleicht hast du eine alte Version der JavaScript Datei in deinem Cache?
5) "CryptoJS" ist unnötig, wieso benutzt Du nicht die Browser-Eigenen Funktionen für AES/DES/Random-Values?
Weil CryptoJS viel komfortabler ist. Ich benutze ein Fork von CryptoJS, der up to date gehalten wird.
6) Du hast keine Ahnung ob Nitrado IPs speichert? Toll. Besorg Dir nen *eigenen* Server, wenn Du willst das Leute dein Zeug benutzen
Danke, das wäre eine Überlegung wert, kostet halt nur das 3 bis 4-fache. Momentan sind die Kosten ziemlich überschaubar.
7) Du vergisst bei manchen URLs mit PHP das Escaping
Wo?
8) Wieso kriegen wir die Source vom Servercode nicht? Angst, das Leute dich "beklauen"? Wieso dürfen wir uns kein eigenes Bild davon machen, was Du dort tust, wo es doch wirklich recht trivial ist, vom Aufwand her?
Natürlich ist es kein großer Aufwand ein ähnliches Projekt zu starten, aber ich möchte die Mechanismen nicht offen legen. Aus Sicherheitsgründen und weil viele mit dem Code sowieso nichts anfangen können, die meisten User meines Projekts kennen sich mit PHP nicht aus.
9) Wieso benutzt Du Ajax? Vollkommen unnötig in dem Fall hier, weil Du damit effektiv Leute ausschließt, die kein JS ausführen lassen wollten, und daher folgt dann auch...
Da gebe ich dir recht, vorallem wenn Leute den Torbrowser benutzen mit NoScript. Da es aber hübscher ist mit JavaScript zu arbeiten, behalte ich das bei. Außerdem möchte ich eine Animation einblenden, wenn der AJAX request ausgeführt wird. Das kommt noch.
10).... Javascript-Vorraussetzungen für XHR
Mein PHP Skript handelt das gut und es sollten auch keine Probleme auftreten.
11)
Code:
Expand Collapse Copy
 message = message.replace(/(?:\r\n|\r|\n)/g, "<br>");
Wieso machst Du das Clientside? Das ist absolut sinnfrei.
Denk mal ein bisschen über diese Aussage nach, warum mache ich es wohl client-seitig?
12)
Code:
Expand Collapse Copy
 function clock() {
submitBtn.disabled = "disabled";
var myTimer = setInterval(myClock, 1000);
var c = 10;
++c;

function myClock() {
submitBtn.value = --c;
if (c == 0) {
clearInterval(myTimer);
submitBtn.value = "Verschlüsseln & Link abrufen";
submitBtn.removeAttribute("disabled");
document.getElementById("input1").value = "";
}
}
}
Bevor man eine weitere Nachricht abschicken kann, soll man 10 Sekunden warten. Damit nicht gespammt wird. Serverseitig sind 10 Nachrichten innerhalb von 10 Minuten erlaubt.
13) Nochmal, trustpilot????
Code:
Expand Collapse Copy
<div class="trustpilot-widget" data-locale="de-DE" data-template-id="56278e9abfbbba0bdcd568bc" data-businessunit-id="5e91a72bd83fbe00011c3b87" data-style-height="52px" data-style-width="100%">
lol...
Ja, wird entfernt.
14)
Code:
Expand Collapse Copy
 <!--
<div id="advertise">
<script type="text/javascript">
atOptions = {
'key' : '8872e87e2b5edb7cff867182daae804a',
'format' : 'iframe',
'height' : 90,
'width' : 728,
'params' : {}
};
document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.hiprofitnetworks.com/8872e87e2b5edb7cff867182daae804a/invoke.js"></scr' + 'ipt>');
</script>
</div>
<div id="advertise2">
<script type="text/javascript">
atOptions = {
'key' : '894a622dc1504548d28b10e8da38a9a2',
'format' : 'iframe',
'height' : 60,
'width' : 468,
'params' : {}
};
document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.hiprofitnetworks.com/894a622dc1504548d28b10e8da38a9a2/invoke.js"></scr' + 'ipt>');
</script>
</div>
Na danke. Sehr freundlich...
Die Werbung ist auskommentiert.

Fazit, 15 Minuten drüber gucken: Refactor and migration to server needed, bevor das auch nur irgendwer für irgendwas anfässt, wofür man solch einen Service nutzen würde.

Danke.
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Weil CryptoJS viel komfortabler ist. Ich benutze ein Fork von CryptoJS, der up to date gehalten wird.
Welchen nutzt du denn? Du hast ja passenderweise den Header entfernt.

Danke, das wäre eine Überlegung wert, kostet halt nur das 3 bis 4-fache. Momentan sind die Kosten ziemlich überschaubar.
Du hast bei uns im Chat noch mit deinem Gehaltszettel gewedelt, die 10€/Monat kannste doch gerade noch ausgeben, oder? Tankst du halt einmal weniger deinen 5er BMW voll.

Schwer zu sagen, du legst deinen Code nicht offen. Kleiner Tipp: User Input ist böse.

ich möchte die Mechanismen nicht offen legen. Aus Sicherheitsgründen
Security by obscurity ist bei sowas aber echt bescheuert. Alle relevanten Projekte mit Fokus auf Sicherheit erlauben Audits.

weil viele mit dem Code sowieso nichts anfangen können, die meisten User meines Projekts kennen sich mit PHP nicht aus.
Bevor du deinen Startpost editiert hast, wolltest du noch, dass wir das pentesten bzw bewerten? Angst, wir würden rausfinden, dass du alles nur copy&pasted hast?

Da dein Hoster Pentests offensichtlich nicht erlaubt, gib uns doch einfach den Code.

Da gebe ich dir recht, vorallem wenn Leute den Torbrowser benutzen mit NoScript. Da es aber hübscher ist mit JavaScript zu arbeiten, behalte ich das bei. Außerdem möchte ich eine Animation einblenden, wenn der AJAX request ausgeführt wird. Das kommt noch.
Kennst du CSS-Animationen? Warum nutzt du sie nicht? Ist die Dokumentation zu schwer für dich zu lesen?

Denk mal ein bisschen über diese Aussage nach, warum mache ich es wohl client-seitig?
Erklär uns das doch mal. Oder kannst du es nicht?

Ich kann dein Level jetzt ungefähr einschätzen, danke für das Feedback.
Und, was ist sein "Level"?
 
Re: cryptnote.ch - Versende verschlüsselte, anonyme, selbstzerstörende Nachrichten

Hoffentlich verwendet niemand den Service weil er die Werbung hier auf dem ngb gelesen hat aber den Thread dann nicht verfolgt hat.
 
Zurück
Oben