Jump to content
Mareshal

Interlligent PHP BUG

Recommended Posts

Momentan lucrez la un script, care urmeaza sa fie vandut. Dar am nevoie de un bug/backdoor mai sofisticat pentru a descuraja folosirea nelicentiata a scriptului. Daca cineva il foloseste, sa pot sa-i ruinez siteul.

Nu-mi spuneti de o variabila GET care sa apeleze o functie ce face TRUNCATE sau DROP la toate tabelele, pt ca va fi foarte usor de gasit.

Any ideas?

P.S. LOL, acu am vazut ca am scris "Interlligent", dar era 1:42 AM lol

Edited by Mareshal
Link to comment
Share on other sites

Eu folosesc in scripturile mele cva de genu, but poate fi crackuit, nu de oricine dar poate.

Folosesc un loader inclus in toate fisierele, care loader are inclus fisierul de conectare la db, si rescrie niste fisiere pentru a fi sigur ca nu i se blocheaza drepturile de scriere, apoi am o pagina care daca rulez un get la ea inlocuieste loaderul cu un fisier care da comanda die la php si afiseaza un mesaj gen incercare de frauda soft blocat. Apoi tot in loader citesc domeniul si daca nu este rulat de pe domeniul pt care a fost cumparat apare tot un mesaj dat din die.

Iar intr-un final siteul este criptat cu http://www.phpcipher.com/, varianta free e cu anumite limite dar e ok. Am ales motorul asta de criptare pentru ca spre deosebire de zend nu sunt publice motoarele de decriptare, cum spumeam se poate decripta dar nu e la indemana oricui.

Mai poti face si alta chestie, cand se logheaza la admin sa faca verificari logandu-se cu un user si pass pe o pag din serverul tau, user si pas sa mearga doar cu un ip si in caz de 3 autentificari esuate sa se blocheze automat. Zic in admin ca ar creste loadingu f mult daca s-ar face asta din front-end.

E un principiu relativ simplutz, si nu ai cum sa ill faci fara a cripta fisierele de baza, sau tot siteul, evident fara fisierele de configuratie. (fisierele de securitate a scriptului sunt ascunse printre altele cu nume cat sa nu bata la ochi)

Bafta multa, daca te hotarasti la o verianta mai buna, posteaz-o si aici poate imi dezvolt si eu metoda.

Link to comment
Share on other sites

Decoder pentru phpcipher - http://www.qinvent.com/cyrj/deZender/index-en.php , Eu am decodat la ei cateva fisiere, si merg perfect. Se pare ca s-au perfectionat si pt phpcipher. Deci nu cred ca exista encoder pt ei, care sa nu-l poata implementa.

Faza cu loaderu e relativ simpla. Dar daca cineva se prinde, si iti gaseste loaderu, pur si simplu da comment la acel die.. De fapt nimic nu e sigur daca te gandesti bine. Din moment ce ai un script "open source", poti face ce vrei cu el.

P.S: poti sa imi arati un script facut de tine? Nu aici, daca vrei trimite-mi un PM.

Link to comment
Share on other sites

Ideea ta este proasta. De ce?

1) Pentru ca din punct de vedere legal esti direct raspunzator de tot ce ii vei face lui. Chiar daca ti-a furat scriptul. Tu nu ai voie sa te razbuni

2) Pentru ca scriptul tau cel mai probabil nu va fi cumparat de nimeni (cel mult o persoana care intr-un fel sau altul te va pacali)

3) Pentru ca ideea de a lasa un backdoor te discrediteaza ca si programator in fata tuturor.

4) Pentru ca bug-uri in programele clientilor inseamna faliment

Cum se poate implementa?

Cel mai sigur prin metode gen key publice key private, care sa foloseasca algoritmi puternici atat de generare a key-lor cat si de transfer.

Unde pui acesti algoritmi?

Iti instalezi http://coppermine-gallery.net/ si apoi FARA SA CAUTI pe google incerci sa scoti antetul cu Powered by Coppermine Photo Gallery. Nu reusesti? Nu e nimic inseamna ca trebuie sa faci codul Open Source si mai ai pana sa poti coda secure.

Posibile probleme?

Daca la pasul de mai sus ai probleme, inseamna cel mai probabil ca in cod ai bug-uri. Ce pot face aceste bug-uri? Sa iti compromita site-urile tuturor clientilor tai.

Link to comment
Share on other sites

@noidee

1st Daca a furat scriptul este setat sa nu functioneze dc pe domeniul pt care a fost cumparat, in rest se poate implementa cum am mai spus la logarea in admin niste verificari de licenta, iar in cazul in care nu e ok serverul sa faca inregistrarea datelor unde se gaseste copia. Apoi in cazul in care este spart se poate incepe un proces.

2nd, De obicei procedez prin a lua un avans, iar apoi restul cand e siteul pe net, daca nu plateste restul se poate face sa fie dezactivat automat (la termenul din contract) sau manual, prin sa zic master admin, nu cred ca ma poate da un client in judecata ca i-an dezactivat siteul, daca nu si-a onorat plata, la fel cum nu poti da in judecata reteaua de telefonie cum ca ti-au inchis telefonul, pentru ca nu ai platit factura. Deci e complet legal. (in cazul in care folosesti acest master admin, cu care e deacord prin semnarea contractului in alt imprejurari e alta poveste) Sigur se poate face o sincronizare cu un server de licentiere care sa poate bloca accesul, dar e cam acelasi lucru...

Asa ca celelalte puncte se auto exclud prin argumentul meu sau sunt superficiale (tot aia).

Sa nu mai zic de exemplul cu galeria foto, caruia nu ii gasesc locul in post, in rest cu bugurile e alta poveste, un coder bun stie sa scie un cod secure/sau pot fi reparate dupa un QA de securitate.

@Mareshal stiu ca baietii decripteaza, dar dintr-un site de sute de fisiere criptate care sti ca este cel raspunzator de blocare? altfel te-ar costa mai mult sa il descriptezi dc merita...

Spun ca e cel mai ok mod de criptate pentru ca nu exista decriptor inca publicat pe net, pentru ca baietii care stiu il tin secret si scot bani pe asta.

Iar in partea a II-a e firesc ca nu criptezi un program open source, ca doar nu-si are sensul.

PS: Intr-adevar ca nu poti asigura 100% un proiect php si hai sa o luam logic, php nu trebuie sa primeasca scriptul php decodat pentru a-l interpreta?! asa ca un loader a-l firmei care a facut cripta il va decripta pentru php, si implicit acesta poate fi manipulat pentru a decoda si salva fisierul ca necriptat, scopul e acela de-al face cat mai greu de deriptat/implicit costisitor, in asa fel incat sa nu se merite. Daca e vb de un site unic mare pt o firma mare sa zicem ca s-ar merita dar o firma mare nu o sa isi permita sa faca asta si o firma mare nu o sa conceapa sa vanda mai departe propriul lor site.

In rest, scuze dar prefer ca motorul anti-frauda dezvoltat de mine sa il tin privat, oricum am postat principiul, pentru oricine stie php, poate fi ceva banal.

Link to comment
Share on other sites

Ideea ta este proasta. De ce?

1) Pentru ca din punct de vedere legal esti direct raspunzator de tot ce ii vei face lui. Chiar daca ti-a furat scriptul. Tu nu ai voie sa te razbuni

Nu am voie? Cunosc pe cineva care face acest lucru: are scriptul cu un mic artificiu, si cand il gaseste nelicentiat, ii dezactiveaza optiunile principale din admin panel. Si ce imi faci? Ai tupeu sa ma dai in judecata ca te-am limitat? Da-ma, de ce mi-ai furat scriptu?

2) Pentru ca scriptul tau cel mai probabil nu va fi cumparat de nimeni (cel mult o persoana care intr-un fel sau altul te va pacali)
Nu va fi cumparat? Oare te-at intrebat daca ma intereseaza asta?poae da, poate nu. Ideea e ca hostul unde va fi tinut e un host mai...special sa zic asa. Ideea e de furat de catre cineva care are access la ftp-ul meu, sau in cpanel.
3) Pentru ca ideea de a lasa un backdoor te discrediteaza ca si programator in fata tuturor.

Ma discrediteaza? Eu zic ca impune respect printre cei care se gandesc sa foloseasca un script nelicentiat.

4) Pentru ca bug-uri in programele clientilor inseamna faliment
. Oare bug-urile intentionate duc tot la faliment?

Cum se poate implementa?

Cel mai sigur prin metode gen key publice key private, care sa foloseasca algoritmi puternici atat de generare a key-lor cat si de transfer.

Unde pui acesti algoritmi?

Iti instalezi http://coppermine-gallery.net/ si apoi FARA SA CAUTI pe google incerci sa scoti antetul cu Powered by Coppermine Photo Gallery. Nu reusesti? Nu e nimic inseamna ca trebuie sa faci codul Open Source si mai ai pana sa poti coda secure.

Posibile probleme?

Daca la pasul de mai sus ai probleme, inseamna cel mai probabil ca in cod ai bug-uri. Ce pot face aceste bug-uri? Sa iti compromita site-urile tuturor clientilor tai.

Partea asta pe cuvant ca nu am inteles-o.

@Cheater: e vorba de un script, un fel de CMS pentru o companie care urmeaza sa se lanseze undeva prin Iulie. Dar sunt destui interesati de acest script.

Link to comment
Share on other sites

Imi inchipui ca sunt, si sfatul meu in lipsa de altceva mai bun mergi dupa ideea mea, desigur ea ar putea fi dezvotata foarte mult, am in minte o gramada de principii de imbunatatire a acestei idei, dar mi-ar lua prea mult sa o scriu aici, iar cine a inteles-o sigur o poate aplica si dezvolta.

Bafta multa cu scriptul, si mare atentie la greselile de securitate, stiu persoane care vanau intr-un timp scripturile importante pentru a le modifica si a le revinde, cel mai bine merge mai ales pe criza (si e foamete mare;)) ) sa faci un produs virtual (aka soft) pe care sa il vinzi de mai multe ori.

Link to comment
Share on other sites

Imi inchipui ca sunt, si sfatul meu in lipsa de altceva mai bun mergi dupa ideea mea, desigur ea ar putea fi dezvotata foarte mult, am in minte o gramada de principii de imbunatatire a acestei idei, dar mi-ar lua prea mult sa o scriu aici, iar cine a inteles-o sigur o poate aplica si dezvolta.

Bafta multa cu scriptul, si mare atentie la greselile de securitate, stiu persoane care vanau intr-un timp scripturile importante pentru a le modifica si a le revinde, cel mai bine merge mai ales pe criza (si e foamete mare;)) ) sa faci un produs virtual (aka soft) pe care sa il vinzi de mai multe ori.

Eu unul filtrez tot ce intra si ce iese: POST, GET, COOKIE + ceea ce iese din baza de date. Apoi testez scriptul cu Acunetix. Alte idei?

Link to comment
Share on other sites

Bv, recomand de asemenea un server/vps configurat de cineva care stie securitate, nu am incredere in 80-90% din firmele de hosting din romania, am stat cu 2 firme la suport tehnic si le spuneam cum sa configureze serverul sa fie secure, in cazul de fata recomand un server doar al vostru colocat intr-un centru special, configurat si managed by you. Acum tu sti daca se merita financiar sau nu, dar exista riscul ca orice alt client altfel, gazduit pe acelais server sa intre in posesia scriptului sau chiar administratorul acestuia.

Iar avand grija sa faci un config secure al serverului poti preveni exploatarea bugurilor scapate, sunt scripturi care dau de ex 500 internal server eror in cazul incercari de rulare de catre php a unor scripturi malitioase, shelluri, sau query-uri de mysql, etc...

Iar pentru a-ti fi data atentia necesara iti recomand un hosting mediu/mic, cu cat are mai multi clienti e evident ca nu acorda atentia si importanta necesara fiecaruia. Cel putin asta o spun din propria experienta, sau un server colocat cum spuneam, daca vrei recomandari spune-mi la ce varianta te gandesti si pot detaila.

Link to comment
Share on other sites

Nu am avut nici un hosting pe un server din romania sau de la o firma din romania. Intr-adevar sunt si unii romani/firme care stiu ce e ala un hosting securizat. Dar prefer din afara. Ultima data am avut pe mana un VPS(50GB HDD, 250GB band, 1GB RAM, 2Ghz) pe LxAdmin cu CentOS 5.2 . L-am securizat si un am avut probleme cu el, in afara de atacuri DDOS si flood. De flood am scapat, ca mi-am securizat form-urile, dar de DDOS nu.

Pentru lansare nu am nevoie de server dedicat, no way. Prefer un shared host sau offshore.

Link to comment
Share on other sites

Da-ma [in judecata], de ce mi-ai furat scriptu?

Partea asta pe cuvant ca nu am inteles-o.

Ai spus ca vrei sa ii ruinez site-ul nu sa ii dezactivezi scriptul tau. Si legea iti interzice express razbunarea sau cum ii mai spune sa iti faci justitie singur. Daca prinzi un hot ai voie sa il omori/bati?

Partea pe care nu ai inteles-o iti spune exact cum sa faci ce ai cerut mai sus. Detaliat gasesti la http://en.wikipedia.org/wiki/Public-key_cryptography

Fisieriele php din http://coppermine-gallery.net/ sunt destul de bine gandite si e destul de greu pentru o mare parte din progrmatorii php sa excluda din afisare footerul. Daca implementezi o solutie cheie privata-publica iti recomand sa studiezi atent sursele de la coppermine si sa iei exemplu la modul in care ei isi protejeaza partea aia cu Powered by Coppermine Photo Gallery. Am gresit mai sus cand l-am numit antet.

Link to comment
Share on other sites

Sincer nu recomand hosting pe server din afara si cel mai solid si important argument aici este google, chiar daca dai search ok web, o sa vezi ca de obicei primele sunt rezultatele regionale cu relevanta, ideea e daca search-ul e dat din ro siteul trebuie gazduit in ro.

In rest, eu am avut experiente neplacute cu hostgator, care au luat si premi pt securitate, eu tot zic ca e de 2 lei, recent am renuntat la servicile lor si faza care a pus capac a fost faptul ca siteurile erau pline de virusi extinse prin serverul lor :(, au mai schimbat serverul intre timp, au dezactivat php.ini din root-ul casutei de hosting, mi-a picat unul din siteuri ca necesita ioncube si nu l-au bagat in php.ini serverului trebuia configurat de client si nici macar nu mi-au dat mail sa ma anunte...

Legat de DDOS, este un nume genric pentru exploatarea specifica a unui bag din site/server prin care poti restrictiona accesul la server. Daca prin ddos te refereai la syn flood, cel mai simplu mod de a scapa de acesta este recompilarea kernelului serverului fara instructiunile de conexiune syn. Daca e vorba de un ddos intr-un servicu inseamna ca nu era serverul up to date, daca era vb de un ddos folosind un bug dintr-un site trebuia sapat in loguri pana la gasirea problemei. Oricum un server bine facut poate bloca mare parte din posibilitatile de exploatare a unui script buggy, pot spune ca am facut 3 servere pana acum si sunt ff multumit :)

De asemenea tot pt google iti recomand daca se vrea un site important cum il prezinti, recomand ca hostingul sa aibe si ip, pentru ca sa nu fie alte siteuri pe acelasi ip, google depuncteaza mult un site gazduit pe acelasi ip cu un site cu caracter explicit, sau cu alte siteuri dubioase, si nu numai. De asemenea daca unul din siteuri sa zicem a facut spam sau a avut vreun virusi e greu de scos apoi ip din black-lists.

Bafta multa cu proiectul!!!

Link to comment
Share on other sites

@noidee probabil ca nu s-a exprimat foarte corect, cu ruinatu intr-adevar, ideea de baza era ca dorea sa faca scriptul nefolosibil in cazul in care se incearca folosirea lui neautorizata.

In rest daca va avea nevoie de o modalitate de criptare server de licente -> soft, va fi interesat de ideea ta, in cazul de fata este vorba de un site unic la care una din solutiile propuse este criptarea sursei. Desi se poate folosi o cheie RSA care functioneaza pe acelasi principiu doar ca e mai avansata.

Cat despre script, cand o sa am timp o sa incerc sa ma uit sunt curios ce metoda au folosit ei pt © din footer. Nu imi vin in minte dc cateva variante, criptata sursa si ascuns printr-un fisier (sau nu neaparat ascuns), un curl care ia codul de pe serverul lor (care mi se pare ariurea ca concept, creste loadingul paginii si goole si vizitatorul depuncteaza), sau dintr-un javascript....

Link to comment
Share on other sites

Fisieriele php din http://coppermine-gallery.net/ sunt destul de bine gandite si e destul de greu pentru o mare parte din progrmatorii php sa excluda din afisare footerul. Daca implementezi o solutie cheie privata-publica iti recomand sa studiezi atent sursele de la coppermine si sa iei exemplu la modul in care ei isi protejeaza partea aia cu Powered by Coppermine Photo Gallery. Am gresit mai sus cand l-am numit antet.

Job's done boss =)) . Footer exclus. Codul Final(Normal nu era cu "//")

//$template_footer = CPGPluginAPI::filter('gallery_footer','').substr($template, $gallery_pos);

Daca am codul OpenSource, pot scoate licenta la orice soft. Chiar mai vreau, lol. Mai zi-mi un challenge de asta...I like it :D

Maine o sa ma uit sa vad cum e implementata chestia asta. Oricum mi-a luat 5 minute din viata...fara google normal. Chiar m-ai pus pe ganduri cand am vazut ca nu apare la search "Powered by" sau ceva cu base64_decode la footer pt ca asta fac majoritatea...

@Cheater: nu folosesc hosturi care accepta plati cu CC, bank wires, etc. Prefer paypal, sau alternative. In legatura cu DDOS. Stiu doar cateva hosturi care rezista unor DDOS masive, cu adevarat puternice: Staminus, GigeNet, Peer1 ~ ServerBeach , ThePlanet. Cel mai mare DDOS pe care l-am avut pe un site a ajuns la 1.57 Gbps, si serverul avea protectie pana la 2 sau 3, nu stiu exact. Oricum nu s-a clintit deloc.

Nu folosesc IP shared: doar dedicat.;)

Link to comment
Share on other sites

Eh footerul nici macar nu era criptat sau ceva, mai simplu dc ma gadeam.

In rest cred ca ai suparat pe cineva de te alegi cu asa DDOS-uri;)).

Am avut si eu odata DDOS cand eram mic, pe la vreo 13 ani tineam un hub si am facut spam pe altele, asa ca m-am ales cu un DDOS de toata frumusetea, pc ducea, ce era mai grav era ca cel mai afectat a fost serverul providerului, pot spune aproape era aproape mort, l-am sunat i-am spus ca e vina mea sa ia si el masuri, vrajeli scuze, in 5 min done, l-a ''imunizat''.

Pot spune dupa parerea mea cele mai rezistente servere sunt cele 'imune' (folosesc ghilimele findca este un ideal), din cate stiu eu doar un singur DDOS, mai precis prin flood (prefer sa nu dezvalui structura si numele acestui flood, dar as mentiona ca un mare workstation din ro a avut acest flood, "Flood-ul a avut o capacitate maxima de aproximativ 300 Mbit (cumulat pe mai multi provideri) si aproximativ 120000-150000 pachete pe secunda." nu prea poate fi oprit in rest te poti apropia de acel ideal (ei au scapat ca i-au lasat flooderi in pace).

In rest pot spune ca si in ro sunt hosturi care accepta plati prin paypal.

Legat de challenge este si o rubrica dedicata, dar daca vrei unu bun, uite: http://rstcenter.com/forum/showthread.php?p=99669#post99669 (am facut asta acum cativa ani, mi-a dat ceva batai de cap)

Bafta!

PS: o sa o postez si la challengese

Link to comment
Share on other sites

DA, chiar am suparat. Cineva a pierdut destui bani din cauza mea...

Despre FLOOD: flood-u a ajuns pe un server cu 700Mbps la 500 si ceva - FLOOD CURAT. Apoi cand a vazut ca nu poate pune serveru' jos, a trecut la DDOS si la omorat. Apoi a fost mutat la 2Gbps si "pa pa"...nu a mai reusit

Apropo: am uitat pe lista de hosturi bune SoftLayer, si mai era unul rusesc + iWeb Canada

Cu ablespace: am vazut ca un fel de youtube, etc. Dar nu prea ma inteles ce vrei sa fac: daca e criptat nu am posibilitatea sa il decodez si apoi sa-l fac nulled. Daca il ai decriptat si nu e scoasa licenta...astept PM

P.S: nu lucrez cu romani...in ceea ce fac eu

Edited by Mareshal
Link to comment
Share on other sites

Am modificat postul vezi detali aici: http://rstcenter.com/forum/showthrea...9669#post99669 am postat si sursa, asa cum vine ea descarcata fresh de la mama ei. Deci e criptat cu ioncube si se poate sparge fara a fi decriptat, licenta nu ai trebuie sa gasesti o solutie si pentru asta. Scuze ca nu m-am exprimat destul de clar dar sunt f obosit. Daca ai nelamuriri posteaza unde am pus provocarea.

L-a o adica daca e vb de ddos in genu syn flood, este o procedura ddos care creeaza mii de conexiuni, iar pentru fiecare serverul aloca cativa kb de ram si cpu, a.i. fizic devine imposibil de a avea resursele necesare pentru a face fata unui asemenea ddos, si nu consuma dc ~200kbps banda! Porblema e ca se opreste usor doar ca multe firme de hosting habarn-au.

Pe cand floodu care mananca banda, solicitat de 3-4 pc cu banda mare trimitand cereri de deschidere a unei conexiuni, sau orice fel de solicitare care necesita raspuns catre mii de servere care mai apoi raspund toate unui server victima, aceasta ramanand fara banda, si daca se mai face si din metro, unde mare parte din provideri au filtre pt extern.... nu prea ai ce face :)...Sau cum am mai citit folosindu-te de servere gen aol, yahoo, google, sau alte servere importante folosite des in scripturi sau penturu functionarea unor siteuri in mod frecvent, e ca si cum ai da shutdown la serverul atacat daca te-ai apuca sa faci lista de filtrare;))

App am vazut ca si vodafone a avut probleme cu floodu in dns-urile de la mobile internet, erau aproape moarte intr-un timp ;)) (sau le foloseau sa floodeze mai departe.)

PS: sa nu mai facem offtopic, daca e facem un tipic flood tehniques si discutam acolo

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...