Just nu i M3-nätverket
Gå till innehåll

Kan ni knäcka den här?


.sun

Rekommendera Poster

Kund är införstådd med att det inte är en 100%-ig säkerhet, och är beredd att ta den risken, framför att lägga mer pengar på projektet.

 

Om du exempelvis gör ett spel i Shockwave och ska skicka in high-score

 

Det är precis vad det handlar om! Jag vill alltså minimera möjligheterna till fusk, men inte till vilket pris som helst.

 

Vad händer med dig om det senare visar sig att din lösning är osäker och känsligt data når konkurrenter?

 

Då blir jag förmodligen halshuggen - nerå, jag har redan svurit mig fri från reprisalier. Det jag är nyfiken på är om min "kryptering" är så busenkel att den är totalt meningslös, eller om det åtminstone erbjuder lite motstånd.

 

Min förhoppning är att ev fuskare ska rygga tillbaka vid blotta anblicken av strängen, och hittills är det ju ingen som verkar ha gjort ett försök så jag kanske kan känna mig hyfsat lugn.

 

Jag siktar på att lägga upp en länk där ni kan "logga in" och ange poäng i ett fiktivt spel. Utdata blir då en sträng enl samma princip som de här ovan. Den som vill får försöka lista ut hur strängen är uppbyggd.

 

Länk till kommentar
Dela på andra webbplatser

  • Svars 56
  • Skapad
  • Senaste svar

Gäller det en tävling eller? Det finns ju flera olika sätt att både fuska, och attackera din "obfuscation".

 

Vill man vara med i eventuell tävling kanske man ska hålla sig borta från den här tråden ;)

 

Ciao,

Anders

 

Länk till kommentar
Dela på andra webbplatser

Om du exempelvis gör ett spel i Shockwave och ska skicka in high-score

 

Det är precis vad det handlar om! Jag vill alltså minimera möjligheterna till fusk, men inte till vilket pris som helst.

 

Det finns människor som nästan lever på att fuska på såna där grejer. Jag vet en kille som blev uppringd av företaget i fråga och fick ett tröstpris "för ansträngningen" och meddelandet att han inte längre var välkommen att delta i deras tävlingar.

 

"Vi tror att du har gjort på ett sätt som inte riktigt var meningen.." ;)

 

Så, om det är priser inblandade behöver du kanske mer säkerhet. Är det bara fame and glory är det kanske mindre viktigt.

 

Länk till kommentar
Dela på andra webbplatser

Ja, det är en tävling. Jag är hemskt nyfiken på vilka sätt det finns att fuska och attackera min sträng. Jag lever än så länge i tron att man måste knäcka strängen för att kunna fuska - min kod kommer ju inte att acceptera data som inte stämmer med algoritmen - kan det finnas andra sätt att t ex helt hoppa förbi min sträng?

 

Länk till kommentar
Dela på andra webbplatser

Innan jag svarar kanske jag vill veta vad det är för priser? ;)

 

Eftersom koden körs på användarens maskin så finns ju i alla fall teoretiska möjligheter att ändra/titta i "programmet" (Shockwave-filen).

 

Om du har tid/möjlighet så kan det ju vara intressant att lägga ut spelet innan så kanske någon har tid/ork att kolla upp det.

 

Ciao,

Anders

 

Länk till kommentar
Dela på andra webbplatser

Kan givetvis inte avslöja vad det är för tävling el priser, men förstapriset är nog så lockande att jag tror att någon kanske gör sig besväret att försöka fuska.

 

teoretiska möjligheter att ändra/titta i "programmet"

 

Menar du att det går att se källkoden i en låst Shockwavefil? Eller att du bara kan se in- och utdata från filen?

 

Tyvärr har jag varken tid/möjlighet att lägga ut spelet i förväg. Dels är det (som alltid) bråttom och ska publiceras snart, och dels är det inte jag som gör spelet (har inte ens sett det än...) - jag ska bara ta hand om utdatat från spelet och spara i db.

 

Men imorgon har jag kanske den utlovade länken till stränggeneratorn färdig. Har koden klar, ska bara testa lite mer och hitta någonstans att lägga upp den.

 

Länk till kommentar
Dela på andra webbplatser

Ok, here it goes... ni hittar en stränggenerator på www11.brinkster.com/dotsun/. Jag har gjort vissa begränsningar för att det mer ska efterlikna spelet. Det går t ex inte att ändra användarnamn och lösenord, eftersom spelet kommer att förutsätta att man loggat in tidigare. Således kommer inte spelet att ge ifrån sig en "krypterad" sträng om inloggningen ändras, och därför kan inte heller ni ändra inloggningen.

 

Lycka till!

 

Länk till kommentar
Dela på andra webbplatser

Om användaren själv (i något skede) får välja sitt användarnamn och lösenord så borde det således gå att göra på din test-sida också.

 

Ciao,

Anders

 

Länk till kommentar
Dela på andra webbplatser

Jovisst, men då måste jag ta med hela registreringsfasen också. Poängen är att det i spelet inte går att prova sig fram med olika anv namn och lösen för att få fram olika strängar. Loggar du inte in korrekt får du ingen sträng.

 

Eftersom jag inte har med registreringsfasen har jag i förväg bestämt anv namn och lösen för att simulera en redan gjord registrering och korrekt inloggning. Om jag får tid i nästa vecka kanske jag lägger upp en registreringsfas, men just nu måste jag tyvärr få färdigt resten av projektet.

 

Länk till kommentar
Dela på andra webbplatser

Nu har jag säkert missuppfattat allt men är det inte bara för den presumtive fuskaren att använda ett program som läser av den minnesarea som ditt lir använder och genom den vägen manipulera poängen innan den ska skickas via "krypteringen"?

 

Länk till kommentar
Dela på andra webbplatser

fasen overflow när jag skickar in highscore på 1000000000 poäng :-)

 

Error: HTTP Status-Code=500 (Internal Server Error) for "http://www11.brinkster.com/dotsun/generate.asp?sent=true"

Error: ContentCheck Rule "VBScript_Runtime" in Application "ASP" triggered. Text "Microsoft VBScript runtime" matched (count=1)

web_submit_data highest severity level was "ERROR", 458 body bytes, 227 header bytes

 

Länk till kommentar
Dela på andra webbplatser

Precis. I själva spelet skulle det gå att fuska... (evigt liv, ändra poäng, etc).. förmodligen lättare än (strax) innan hans obfuscation. Däremot så är det inte han som utvecklar spelet, så.. jag tror det är därför han i första hand vill att någon testar hans del.

 

Ciao,

Anders

 

Länk till kommentar
Dela på andra webbplatser

hmm..

 

AOYA1E6D61P6E6I80LQ001E5OF5700R66JJ66ZX6608AYO2E6I5637P6OFCM6ASS0B

 

detta är strängen jag fick när jag körde med poängen 100000000.

 

100000000 = 5F5E100 (hex)

 

001E5OF5 skulle kunna vara poängen baklänges i hex med en extra O mellan F5 och E5. Vad det O:et kommer ifrån har jag inte orkat bry mig om hittils, men det kanske har nåt att göra med din brinksterserver cookie, vad vet jag.

 

Nu ska jag gå hem å äta, så jag stoppar här..

 

Länk till kommentar
Dela på andra webbplatser

Det är ju som sagt inte jag som gör spelet, och är inte så himla insatt i säkerheten kring Shockwave. Hur bär man sig åt för att se vilka variabler som Shockwave använder sig av, och framförallt - hur hindrar jag att någon mixtrar med datat innan det krypteras och skickas?

 

Länk till kommentar
Dela på andra webbplatser

Den poängsumman (1 miljard) ska inte generera overflow - det är först när du kommer en bit över 2 miljarder som det stoppar, dvs gränsen för en long integer i ASP - inget som jag begränsat. Spelet kommer dock aldrig att generera så höga poäng, så en fuskare som lyckas regga ett sånt resultat lär bli lätt att urskilja iaf. (Men jag kan förstå om du vill testa med såna höga tal för att knäcka strängen iofs.)

 

BTW, jag hade begränsat poängfältet till 9 tecken i mitt formulär, men du försökte skicka 10 tecken - hur gick du förbi det?

 

Länk till kommentar
Dela på andra webbplatser

Formulärets begränsningar är på klientsidan, alltså är det en barnlek att gå runt det.

Man kan alltid kontrollera varifrån formuläret postas, fast å andra sidan så det går ju också att förfalska (HTTP_REFFERER).

 

Har dock ingen riktigt koll på hur man förfalskar det. Någon som vill berätta? ;)

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Länk till kommentar
Dela på andra webbplatser

> Har dock ingen riktigt koll på hur

> man förfalskar det. Någon som vill

> berätta? ;)

 

http://www.tydal.nu/se/tools/

(Längst ned, "hämta skyddad html/javaskriptkod. Där kan du välja HTTP_REFERER själv.)

 

Referer är en rad som skickas med i HTTP-headern, så du behöver kunna snacka http för att fixa/förstå det.

 

 

Länk till kommentar
Dela på andra webbplatser

Jag kan urskilja poängen i din sträng, men funderar fortfarande på hur den byggs upp. En idé som jag hade igår var att beroende på vad brinkstercookie är så genereras strängen på ett visst sätt.

Nedan är några olika strängar där jag kan se min rapporterade poäng, i kombination med vad brinkstercookien var satt till i de olika fallen (du kör poängen baklänges i din sträng):

 

inmatad poäng = 100000000 (5F5E100)

 

BrinksterServer=4

AA1E6D6PL16ZE68J000L1E5F5V7066666V50W8LHA2MEK65WSST6376FC6XUA0GBP

 

00L1E5F5 är poängsträngen med ett extra L i den.

 

BrinksterServer=2

8XAZ2NE6X563TZ76FC6A0S499WV9WR9S5OX60G001HE5F570AAH1E6D616ES680RT4

 

Här är poängen 001HE5F5 med ett H extra i strängen.

 

 

BrinksterServer=2

AA1E6KD616ZEXM680001E5F57049L99XV9K5608A2EW656M3ZUKM76TFMNMUKC6A0B

 

Här är den 001E5F5 utan modifikation.

 

 

 

BrinksterServer=2

8X23K33Z560AAJN1E6D61P6EGI6808A2EK65HR637Q6FC6AO0001WUEO5MF5K7X0KA

 

Här är den mer komplex 001WUEO5MF5 fortfarande med brinkstercookien satt till 2.

 

*Funderar vidare*

 

 

 

Länk till kommentar
Dela på andra webbplatser

Du får poäng för att du hittat poängen.

 

Jag har nu insett att man inte behöver knäcka hela strängen för att manipulera poängen. Ska lägga mer krut på att försvåra möjligheterna att hitta poängdelen i strängen.

 

Tack för hjälpen gondor!

 

(tack ni andra som kommit med synpunkter på säkerhet också!)

 

[inlägget ändrat 2002-11-15 14:29:45 av .sun]

Länk till kommentar
Dela på andra webbplatser

ok, tack då var inte hela mitt arbete bortkastat :-)..

 

Här kommer mer info annars..

 

Poängsträngen flyttar sig inom strängen, och den hänger på något sätt ihop med antingen brinkster cookie eller asp session id eller en kombination av båda.

 

 

Fler strängar:

 

BrinksterServer=3; ASPSESSIONIDAQDTSRRB=BNGDHFHCPPFIKCFEMOFPPHOC

 

8RA2NWEL656K376FC6YA082M3335Y6P0U0O01WE5F5X70AMA1EOO6TPD616TE6O804

 

0O01WE5F5

 

 

BrinksterServer=1; ASPSESSIONIDCQDTTTTD=FOHLGFHCDMKPKIIFCIGEEFCI

 

46O6S6626H0XAMA1E6D616GE6HKY808AQKS2E65T637Z6FCT6A0001E5IF57L08ZMV

 

001E5IF5

 

 

BrinksterServer=1; ASPSESSIONIDCQDTTTTD=AOHLGFHCCGBLGBLNJPNDBNIM

 

00K1WE5F5708GAUX2E6HV56376FC6AN0ZAKA1NE6D61W6TEZ680SV2333T31TU60T7

 

00K1WE5F5

 

Ovanstående strängar är redovisade tillsammans med brinkstercookie och aspsession id.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...