php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Webmaster > User pages
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


User pages Hier könnt ihr anderen Usern eure Seite vorstellen und Bewertungen, Anregungen und Kritik sammeln. Reine Werbepostings sind auch in diesem Forum verboten!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #46 (permalink)  
Alt 07-12-2006, 12:03
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tstoffregen
Also muss ich mit den dynamischen Ebenen doch noch weitermachen. :-)
was willst du noch mit dynamischen ebenen bauen? im grunde kommst du doch um 3 dinge nicht herum:

1. das script sendet eine anfrage an den lizenzserver
2. server antwortet mit code
3. code wird evaluiert

^^ ob das 1x läuft oder 5x, ist doch egal. du schickst mir den code, ich finde die notwendigen stellen (bzw. mein script) und gebe dir, was du willst. im oben genannten fall, einen unverdächtigen php-code mit dem unmanipulierten lizenzschlüssel-aufruf am anfang.

jede stufe, die deinerseits dazukommt, kostet zeit. die geschützte applikation braucht auch nochmal rechenzeit. wieder ein nachteil ... vor allem im vergleich zu zend oder ioncube.

nochmal das thema "zeit": du schreibst, dass deine variablen nur eine bestimmte zeit gültig sind. hier musst du berücksichtigen, dass die kommunikation von server zu server auch mal gestört werden kann. was pasiert dann? variablen-laufzeit abgelaufen, weil der connect 0,7 sec statt 0,3 gedauert hat mit dem ergebnis, dass unberechtigt die lizenz gesperrt wird? ... imho wieder eine schwachstelle. entweder hast du permanent genervte kunden am rohr, die unberechtigterweise gesperrt sind oder ein angreifer hat genügend zeit, zu probieren.
__________________
Kissolino.com
Mit Zitat antworten
  #47 (permalink)  
Alt 07-12-2006, 12:07
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von tstoffregen
Welchen Sinn sollte es haben den eigenen Kopierschutz zu umgehen.

Ein reales Zenario: Du schreibt eine Software und stellst Deinen Kunden eine kopiergeschützte Version zur Verfügung. Selbstverständlich mit Deinem eigenen Lizenzserver.
Nein, das ist das Szenario, welches für bereits als zu unzuverlässig abgelehnt haben.

Aus meiner Sicht als Kunde läuft was wichtiges ausschließlich auf meinem Server, ohne Abhängigkeiten von Fremdservern, deren Zuverlässigkeit und Sicherheit nicht meiner Kontrolle und Beeinflussung unterliegen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #48 (permalink)  
Alt 07-12-2006, 12:58
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Wurzel
so, mal ein kleiner zwischenstand:
PHP-Code:
//phpinfo();

eval("$aa1"); 
das war der code, der in der 2. stufe bei mir ankam (hab mal ein paar teile entfernt).

Auf der anderen Seite wäre so eine Situation im normalen Leben nicht
passiert, bzw. ich habe den inhalt des eingesetzten Scripts und der würde
mit sicherheit für einen strafantrag reichen.

Als Startscript wurde ein Parserscript eingesetzt. Das ist natürlich nicht
Sinn der Sache. Normalerweise wird der Inhalt des geschützten Scriptes vom
Softwarehersteller in der Datenbank hinterlegt. Ich habe leider für
Testzwecke zugelassen, das der Inhalt von ersten Aufruf geschützt wird. Wenn
das schon ein parserscript ist, ist es natürtlich dumm für mich. Aber wie
gesagt, dafür ist es ein Test. :-)

Ich werde die Ebenen jetzt so dynamisch wie möglich machen.
Wenn das parsen länger dauert als die Gültigkeit des Codes habe ich mein Ziel doch erreicht.

Sollte der Code nicht mehr gültig sein, kommt zur Zeit eine Fehlermeldung. man könnte aber auch die grundebene wieder neu starten das parsen wird dadurch auch nicht schneller.

LG

Thomas
__________________
--
0208/9939318
Mit Zitat antworten
  #49 (permalink)  
Alt 07-12-2006, 13:32
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von onemorenerd
Deine potenziellen Kunden wollen ja nicht die Katze im Sack kaufen. Sie verlangen eine Darstellung des Konzepts.

Und das mache ich hiermit auch. Beschreibe uns das gesamte Konzept / den Algorithmus!

Ein echter Kopierschutz bietet auch dann noch Schutz, wenn seine Details öffentlich sind. Sonst ist es lediglich Obfuscating oder gar nur Hoaxing.

Und komme jetzt nicht mit "kann es nicht veröffentlichen, ist ja meine Geschäftsidee"! Zu dieser Idee gehört schließlich auch die Auslieferung der Scripte als "Lizenzserver" und damit dürften die Interna ziemlich schnell publik werden.
Ich werde den Code später sehr wahrscheinlich als open source deklarieren. Ich möchte nur den nächsten Schritt ohne fremde Hilfe schaffen. Schaffe ich das nicht, kann ich das Teil eh veröffentlichen. Ausserdem gibt es noch Möglichkeiten die Performance zu verbessern, bei der ich zwar die Idee habe, aber nicht in der Lage bin das selbst zu realisieren.

Ich komme ursprünglich aus der SPS-Programmierung und habe mir die Programmierung in 20 Jahren, über C64-Assembler, Pascal, C, PHP,... selbst beigebracht. Vieles entsteht mit Learning by doing.

Ich habe mit meiner Programmierung unter Linux auch schon sehr gute Erfolge gehabt. Unter anderem war ich knapp vier Jahre als freiberuflicher Programmierer für die erst WestLB, später WestLB Systems tätig. Dort habe ich eine Applikationsüberwachung für eine SER-Software (Anlagekonto/Fondsverwaltung) in zwei Releaseständen, völlig automon geschrieben. Auch die Idee kam von mir. Die Überwachung läuft heute noch produktiv und meldet jegliche Ausfälle in Echtzeit dem Operating. Leider ging es 2001 durch Krankheit nict mehr weiter. Heute bin ich 42 und Quereinsteiger, mein erster Beruf ist Binnenschiffer, ohne Abi oder Studium. Und von den paar Einsätzen die ich mit Kunden habe lebt man mehr schlecht als recht. Daher möchte ich meine Idee den Kopierschutz unparsbar zu machen, erst noch alleine versuchen.


LG

Thomas
__________________
--
0208/9939318
Mit Zitat antworten
  #50 (permalink)  
Alt 07-12-2006, 14:24
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von 3DMax
kein problem.
gegenfrage, schaffst du es noch, dass mein script überhaupt erstmal läuft, ohne gleich gesperrt zu werden?
Hast Du den Pfad manuell eingegeben? Da war noch ein Fehler drin. Der Fehler ist aber behoben und du kannst es erneut testen.

Ich habe gerade gesehen, das Teil ist nur geknackt worden weil unter anderem im Pfad "c\Apache\\Apache\\htdocs\\test.php(109) : eval()\'d code" stand. Das ist im normalen Leben nicht möglich, weil Pfad und Inhalt der Datei vorgegeben sind.

LG

Thomas
__________________
--
0208/9939318
Mit Zitat antworten
  #51 (permalink)  
Alt 07-12-2006, 14:35
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Wurzel
so, mal ein kleiner zwischenstand:[PHP]//phpinfo();
das war der code, der in der 2. stufe bei mir ankam (hab mal ein paar teile entfernt).
Versuch Dein Script doch nochmal laufen zu lassen. Ich habe die Variablennamen geaendert.

Wenn es so einfach war, dürfte es doch kein Problem sein oder?

Gruß

Thomas
__________________
--
0208/9939318
Mit Zitat antworten
  #52 (permalink)  
Alt 07-12-2006, 14:42
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tstoffregen
Versuch Dein Script doch nochmal laufen zu lassen. Ich habe die Variablennamen geaendert.
Wenn es so einfach war, dürfte es doch kein Problem sein oder?
bin noch gesperrt? id 1035
__________________
Kissolino.com
Mit Zitat antworten
  #53 (permalink)  
Alt 07-12-2006, 14:48
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Wurzel
bin noch gesperrt? id 1035
ist wieder frei.

Und wieder gesperrt.

Kommt Dir das bekannt vor?

---
function huhu()
{
$v = \"make my day\";
}
?\'.\'>\'));

---

LG

Thomas
__________________
--
0208/9939318

Geändert von tstoffregen (07-12-2006 um 15:14 Uhr)
Mit Zitat antworten
  #54 (permalink)  
Alt 07-12-2006, 14:58
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tstoffregen
[B]Hast Du den Pfad manuell eingegeben? Da war noch ein Fehler drin. Der Fehler ist aber behoben und du kannst es erneut testen.

Ich habe gerade gesehen, das Teil ist nur geknackt worden weil unter anderem im Pfad "c\Apache\\Apache\\htdocs\\test.php(109) : eval()\'d code" stand. Das ist im normalen Leben nicht möglich, weil Pfad und Inhalt der Datei vorgegeben sind.
ja, habe den korrekten pfad eingegeben.
der o.g. pfad ist nicht meiner. ich bin auch immer noch gesperrt id 1013. und was ist nun mit "Notice: Use of undefined constant..." davon bekomme ich knapp 30 fehlermeldungen ist ja wohl auch nicht i.o.
Mit Zitat antworten
  #55 (permalink)  
Alt 07-12-2006, 15:08
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von 3DMax
ja, habe den korrekten pfad eingegeben.
der o.g. pfad ist nicht meiner. ich bin auch immer noch gesperrt id 1013. und was ist nun mit "Notice: Use of undefined constant..." davon bekomme ich knapp 30 fehlermeldungen ist ja wohl auch nicht i.o.
Die Fehlermeldungen mit den Konstanten sind normal. Leider.

Bsp:

$a="fopen";
${a}(...); Ist von der Sytax korrekt ergibt aber eben diese Fehlermeldung im Debugger.

ich hätte auch $a(...) schreiben können, aber daduch ist der Inhalt der Variable schon mit einem Debugger sichtbar.

Ich habe den Pfad korregiert und dich wieder freigeschaltet.

Wenn Du nichts geändert hast seit deinem ersten Aufruf müsste es auf Anhieb laufen. Ansonsten wird die Lizenz gesperrt weil der Dateiinhalt verändert wurde.

Frag Wurzel. Der hat die Erfahrung gerade gemacht. :-)

LG

Thomas
__________________
--
0208/9939318

Geändert von tstoffregen (07-12-2006 um 15:16 Uhr)
Mit Zitat antworten
  #56 (permalink)  
Alt 07-12-2006, 15:17
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, meine zeit ist momentan etwas knapp.

du möchtest jetzt in der ersten stufe das aufrufende script auslesen und auf deinen server übertragen. da ich von verherigen versuchen weiss, was da läuft, ist es etwas einfacher. aber das entschleiern der vars ist ja nun kein akt.

ich würde dir jetzt per preg_replace nachdem der befehl zum code auslesen kommt, meinen dummy-code einspeisen. danach bekomme ich von dir stufe2. wahrscheinlich ist der code nun hier auch verschleiert, also dasselbe spiel wie oben nochmal. etc. pp.

hab grad nochmal die gegenprobe gemacht ohne code einzufügen und bin wieder gesperrt.

wenn du mitloggst, hast du jetzt
5-6 erstaufrufe ohne weitere rückmeldung, weil ich das unterbunden habe.
1 aufruf mit bewusst manipuliertem code, der zur sperre führt als gegenprobe.

ohne es jetzt näher zu prüfen, imho keine große verbesserung.
meine mail angekommen?
__________________
Kissolino.com
Mit Zitat antworten
  #57 (permalink)  
Alt 07-12-2006, 15:45
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so, ich habs:

$data33=stripslashes(base64_decode(\"ZWNobyAnaGFsbG8nOw==\"));
da steht mein code echo 'hallo';
und von mir aus kannst du noch 1000 ebenen einbauen, ich bekomme das in ein paar sekunden raus.



PHP-Code:
//phpinfo();
$atest3=explode((,__FILE__);
$thisfile3=addslashes($atest3[0]);
$reffile3=addslashes("E:\\\\Internet\\\\Webshop\\\\htdocs\\\\test2.php\");
$host3=\"phpschutz.os-st.de\";
$path3=\"/codeschutzmain.neu.php\";
$data3=\"sid=1040&p911d33a9eacfb30c51c672ca73893669=1164847316

&s2ca4eaacfe6ff7314bed1adc92abf74e=3&c0f0ffc1c2ebb7b309c3433fadab

8cb35=d7780b2aaea7e01f9b419021b4198c2d&scaf776675450c5f8759950497f7980319=$thisfile3\";
$fp3 = fsockopen($host3, 80);
fputs($fp3, \"POST $path3 HTTP/1.1\\r\\n\");
fputs($fp3, \"Host: $host3\\r\\n\");
fputs($fp3, \"Content-type: application/x-www-form-urlencoded\\r\\n\");
fputs($fp3, \"Content-length: \". strlen($data3) .\"\\r\\n\");
fputs($fp3, \"Connection: close\\r\\n\\r\\n\");
fputs($fp3, $data3);
$con3=0;
$res3=\"\";
$data33=stripslashes(base64_decode(\"ZWNobyAnaGFsbG8nOw==\"));
eval($data33);
unset($data33);
while(!feof($fp3))
{
  $resstr3 = fgets($fp3, 12800);
  if ($con3 == 1) $res3 .= $resstr3;
  if ( \"$resstr3\" == \"\\r\\n\") $con3=1;
}
fclose($fp3);
$aa3=stripslashes(base64_decode($res3));
$aa1=base64_decode($aa3);
$aa33=stripslashes($res3);
//eval(\"$aa1\");
//unset($resstr);unset($con);unset($res2);unset($atest);unset($thisfile11);
unset($reffile11);unset($host);unset($path);unset($data);unset($a00);unset($aa00);

  unset($resstr0);
  unset($resstr1);
  unset($resstr3);
  unset($thisfile0);
  unset($thisfile1);
  unset($thisfile3);
  unset($reffile1);
  unset($reffile3);
  unset($data0);
  unset($data1);
  unset($data3);
  unset($data33);
  unset($fp0);
  unset($fp1);
  unset($fp3);
  unset($aa0);
  unset($aa00);
  unset($aa1);
  unset($aa11);
  unset($aa3);
  unset($aa33);
  unset($atest0);
  unset($atest1);
  unset($atest3);
  unset($con);
  unset($con0);
  unset($con1);
  unset($con3);
  unset($data);
  unset($host0);
  unset($host1);
  unset($host3);
  unset($res1);
  unset($res3);
  unset($path0);
  unset($path1);
  unset($path3);
  unset($inhalt0);
  unset($resstr);
  unset($str1); 
edit: hab mal noch php-tags hinzugefügt.
was ist denn los, tstoffregen, hat's dir die sprache verschlagen?

Geändert von 3DMax (07-12-2006 um 17:23 Uhr)
Mit Zitat antworten
  #58 (permalink)  
Alt 07-12-2006, 17:35
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

:-) Etwas.

Von Wurzel das Script hab ich gesehen und finde zur Zeit noch keine Möglichkeit etwas dagegen zu tun.

LG

Thomas
__________________
--
0208/9939318
Mit Zitat antworten
  #59 (permalink)  
Alt 07-12-2006, 17:48
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tstoffregen
:-) Etwas.

wie gesagt, ich habe diesmal überhaupt nichts mit php geparst - einfach das letzte http-paket von deinem server gesnifft - thats all.

gut, du könntest das jetzt auch wiederum "verschleiern" aber deine dynamischen variablen und zeitbegrenzungen der vorherigen x-ebenen greifen überhaupt nicht mehr.
es wird sozusagen alles auf eine ebene heruntergebrochen und man hat dann alle zeit der welt, diese zu analysieren.
Mit Zitat antworten
  #60 (permalink)  
Alt 07-12-2006, 18:25
tstoffregen
 Newbie
Links : Onlinestatus : tstoffregen ist offline
Registriert seit: Dec 2006
Beiträge: 37
tstoffregen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist richtig. die Verschleierung, Dynamisierung und die dynamischen Variablen/Funktionsnamen muessen noch auf alle Ebenen durchgezogen werden.

Für das Problem mit Wurzels Script, habe ich schon eine Lösung. :-)

Das dürfte so jetzt nicht mehr klappen.

Bzw: meine Erweiterung des Steps muss auch nochmal verschleiert werden.

Aber das Du das Script nur mit einem Sniffer herausbekommen hast, ist mir ein Rätsel da der Transfer base64_decodiert passiert. Aber auch da gibt es Abhilfe. :-)

Dafür ist die Testphase ja da.

LG

Thomas.
__________________
--
0208/9939318
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:42 Uhr.