Potrebni testeri - svaki bug pivo!
Budzim neki menadzer za buduce klijente. Mislim da je bitno da istaknem da se nisam ugledao ni na kakve sajtove i slicno, vec cisto dobio ideju i opicio code preko noci (malo duze noci, legao sam danas u 3pm i ustao u 19h). Za sada tu je samo osnovna opcija za caskanje sa klijentom ali ovo je tek 'rana' faza razvoja, bice tu jos opcija uskoro.. preview projekta itd..
Za sam login sam iskoristio/editovao jednu klasu sa neta, sve ostalo je iz glave i manuela (@nixa -> da sam samo znao da malo ranije otvorim manuel :)) ^ e sad, bas zato sam i zabrinut, interesuje me sta mislite kakva je opsta sigurnost menadzera..? K’o sto kaze naslov, svaki bug pivo! Ja vec snimio jedan mali bugic, i da nebude kasnije da nisam rekao, ko nadje 20+ bugova dobija samo gajbu :D nema vise, a ko nepije cokoladnu bananicu ;) :) @us: dpt @pass: demo link --- I nemoj da u bugove racunate sto sto sam sljakao sa $_get // $_post je samo na onim kriticnim mestima :) nervira me to sto moraju da se krljaju linkovi sam inputom.. I da, jos malo trebam da poradim na prevodu vremena itd.. |
http://www.gobelgrade.com/rd/Usluge
daje 404 Jel se to računa? EDIT: link sam našao ovde: http://www.gobelgrade.com/rd/Menadzer/ Vaša prezentacija se nalazu u ([LINK]) fazi izrade. |
jok, al moze bananica s obzirom da si se prvi javio :)
u pitanju je kostur prezentacije, nisam kacio ostale fajlove jer su jos u ranoj dev verziji.. |
Editor poruka nezna da nemam nijednu poruku.
Trebao bi da da upozorenje o gresci, a ne da otvara dijalog za izmenu poruke. Weifert :) Nije moguca izmena naslova, ali je moguce brisanje istog. |
jao, ala ću da pijem...
Neotporan si na XSS |
znaci ti krljas <html> unurtar baze a? nista od piva :)
-- edit: kako da se zastitim? --- Citat:
|
Citat:
|
1 ali bez isporuke :)
|
Citat:
|
e sad sam snimio reply:
Citat:
--- Nego dali je dovoljno da dekodiram samo <script> i <html> tagove? obican str_replace treba da odradi stvar (vec sam tako odljakao sa naslovima i p tagovima). Ili je mozda bolje/sigurnije da prilikom zapisa u bazu postavim upit ako ima takvih tagova da se zapis u opste ne upise? ipak moze neki da promakne |
Ocisti sve osim osnovnih, tipa b i h1 h2 ....
|
Citat:
|
|
Jeee, mungos je bolje prošao od mene sa onim prodavanjem magle a ja za konsultantske usluge oko sigurnosti ne mogu da izvučem ni 2 piva!
|
sam si kriv sto si ubacio one script "1" errore :)
--- edit: ubacio sam u filter za sada basic reci ["<html>", "</html>", "<script", "</script>", ".cgi?", "#", "&"], valjda je dosta da menadzer prezivi noc pored vas hakera :D --- edit2: Samo da potsetim da i dalje nema kandidata za gajbu piva! :) |
jeeee... podlozan je sql injection propustu... i to cak pogodite gde?!?!?
PS. Otvorio sam samo login stranu :) |
... neću ni da gledam ... ovde se nudi pivo od magle ... magle vani ima kol'ko išteš :-)
|
Ja pijem samo tuborg :)
|
jedan tuborg onda :)
evo malo istrazujem ali ne kontam jos uvek dovoljno dobro sql injection? Propust prilikom sql-a, ali kakav? kako da se zastitim? |
Propust je takav da je moguce izmeniti postojeci sql iskaz u neki drugi. Zastitices se tako sto ces da filtriras ulaz (izbacices sve nedozvoljene karaktere).
|
Link sa detaljima
A sad ozbiljno, zastitis se tako sto svaki parametar koji ubacujes u kveri prvo propustis kroz mysql_real_escape string ili neku drugu funkciju slicne namene ako koristis neku drugu bazu. I ne zaboravi da skines djubre koje PHP automatski doda kada je magic_quotes ukljucen: PHP kôd:
Btw, baci oko na ovo. I pre nego sto pitas, ne gotivim nesto puno pivo, al uvek moze nesto kratko (domaca kajsijevaca, tekila, itd..) :) |
Ako nastavim sa ovakvim pitanjima moracu ozbiljno da poradim na organizaciji budzeta :)
|
E vidim da je bilo polemike da nudim maglu umesto pive :)
E pa ovako, dobitnici piva za sada su: kaizen : XSS | nije se izjasnio LiquidBrain : SQL injection | 1 tuborg Bojan Zivanovic : get_magic_quotes_gpc | tekila Pivo (i tekilu) mozete preuzeti veceras u Amnestia club IBIZA posle 24h... :) [063/7-535-823] |
Jeeeee... dobio sam pivo.... nego josh uvek sam pijan od sinotj da bih trenutno bio radostan...
|
Ima josh jedna greshka ali gramaticka...
Citat:
LoLz |
Security
Ma LiquidBrain pomogao si mi da se zastitim od SQL injectiona u samom loginu, mislim da bi te trebalo nominovati za gajbu piva :)
--- Zavrsavam pisanje adminovog panela (za sada 1388 redova, malo sada postaje konfuzno naci odredjen line koda) i zeleo bih da poboljsam opsti security koliko god je to moguce.. jer ne vredi mi puno 1388 redova koda u adminovoj stranici ako se u nju upada za manje od dva minuta ;) Ukrato, sta mislite da predjem na sha1 umesto md5 hasa? Mozda da celu stvar malo i 'iskomplikujem' i da hash passa bude npr: pass+korisnicko_ime+email+datum_i_vreme_registraci je - sta mislite? Malo sam istrazivao kako se razbija md5 has (da bi mogao da se zastitim moram da znam kako se napada ;)) i zanimljiva je stvar, ako imas tabelu i imena polja mozes da postavis script i da vadis vrednost po vrednost iz hasa.. nesto sada budzim da sve query greske zapisujem u jedan txt fajlic. Poenta je da skinem sa queria printovanje errora i slicno.. I recimo da ovde ostajem bez ideja.. :) |
U R welcome... :)
sasvim je dovoljan samo md5 hash... nemoj da gubish vreme sa takvim stvarima... |
Ok, nego citao sam u novinama (juce ili prekjuce) kako je jedan Rumun iz 'dosade' razbio oko 150 americkih sigurnosnih sistema u veoma kratkom vremenskom intervalu :1064:
Siguran sam da bi isti probio moj menadzer za tri sekunde i upao u admin panel koji sam pisao 3 dana. Logicno je da se upitam dali mogu da uradim nesto vise po security pitanju. Nemam nekih 'bistrih' ideja za dalju zastitu pa ako moze neki savet nebi bilo lose :) --- edit --- U ovde sam se ocajno izrazio: Citat:
Mislio sam da napravim neki 'sigurnosni_kod' polje i kada pravim klijenta u to polje upisem has vrednosti iz polja pass+korisnicko_ime+email+datum_i_vreme_registraci je. E sad, kada se klijent konektuje prvi put posaljem mu cookie sa hasom polja 'sigurnosni_kod'! Na loginu kod svake sledece konekcije ako je us i pass ok neradim odmah redirect, vec zahtevam cookie za proveru sigurnosti. Ako cookie ne postoji stavim step za ubacivanje sigurnosnog koda.. I npr: kada klijent radi izmenu emaila ili passa samo osvezim zapis sa hasom od -> novi_pass+korisnicko_ime+email+datum_i_vreme_izmen e i posaljem novi sigurnosni kod na mail! --- Poenta je da i ako se neko docepa vredosti polja us i pass i dalje nemoze da se loguje. Mana je sto ako nema cookia ispada jedan smoren korak, a svako ko barem malo istrazuje po opcijama browsera stavi da se cookes brisu prilikom zatvaranja.. Mislim da ovo ima neku logiku, al me interesuje i sta drugi misle... Ili mozda ubacim ovaj step samo ako je u pitanju admin? |
Citat:
Inace sto se tice zastite procitaj ceo security deo na online manualu php.net-a, imas temu na ovom forumu "Kako se zastititi od hakovanja" ili slicno, potrazi. Evo ti jedan jednostavan tekst na temu hashovanja http://phpsec.org/articles/2005/password-hashing.html Posebno obrati paznju na terimine: XSS, RFI (Remote File Inclusion), SQL Injection, pa na kraju kada se zastitis od svih navedenih ukoliko taj menadzer nudi neke mogucnosti korisnicima koji bi oni mogli da iskoriste (zloupotreba poverenja korisnika) prouci CSRF napade i sisteme zastite od istih. Ukoliko filtriras svaki upit, http server ti je pravilno podesen, i odradis vecinu stvari po predlozima iz pomenute teme (Kako se zastititi od hakovanja), ti si sa svoje strane zavrsio. Kada odradis sve ovo, javi pa da istestiramo ;) |
Biznis je u knaufu :)
E drugari, picim danas za budvu ('upalo' mi je krljanje knaufa) pa reko da vas zamolim da 'ne krljate' menadzer narednih nedelju dana dok se ne vratim :)
Nisam stigao da zakrpim sve rupe, prebacio sam se malo na kontakt stranu i tu izgubio fokus stvari.. No dobro, poz svima i budite dobri dok se ne vratim :) |
Vratio sam se odavno iz Montenegra i sada dovrsavam pisanje alfa verzije menadzera.. Ubacio sam dosta novih funkcija nego nebih sada o njima, prvo da zavrsim po'so do kraja pa cu da bacim novu alfa verziju na kritiku :) Nego imam jedan double problem.. Mislim problem je sam po sebi malo smesan, ali pravi lepu zejebanciju..
Radi se o tekstu za poruke.. Kada vrednost sadzi novi red (enter) sam enter se ubacuje u bazu ali se iz nje ne ispisuje 'gde to treba'.. Da malo pojasnim stvar.. Na kontakt stranici imam java script koji na promenu selektovane vrednosti iz menia ispisuje neku (predhodno poznatu) vrednost u zadati div. Ja sam iskoristio/prilagodio taj java script da mi radi funkciju za brzi odgovor.. znaci kod ispisivanja stranice pisem java script funkcije za poruke i unutar njega stavljam vrednosti odgovora. Na klik dugmeta za odgovor se ispisuje citiran text (sadrzaj poruke) i novo polje za odgovor (jbg, malo sam kopirao Gmail fazon ;)). Problem predstavlja enter, koji kada se nadje u java scriptu obara/prekida celu funkciju/string za odgovor (generisanje citata i opcije za odgovor). Malo sam surfovao ali bas nista konkretno nisam pronasao.. Znaci zeleo bih da se tekst u samoj poruci ispisuje sa redovima (sto sada nije slucaj i ako je u bazi sve ok) i ako se nadje novi red u javi da se string/funkcija ne obara.. |
stono neko lijepo ovdje rece: uz rizik da ostanem ziv...
da ti ne pomaze http://hr.php.net/manual/en/function.nl2br.php ? |
evo gledam ali za sada ne pomaze.. :)
--- edit: --- E ma opusteno, radi $string = nl2br($string); Zezalo me je to sto svaki string provlacim kroz funkciju za ciscenje i onda dolazi do 'sukoba funkcija' :) Nego i dalje je ostao problem sa javom, vise line break-a (entera) prave u bazi zapis <br /> jedan ispod drugog a java script to nece da proguta (misa joj njenog). --- edit2: --- ma da, sada kada sam skinuo ciscenje funkcije hvatam i "\n" i "\r" nl2br samo 'zabrlja', sve je sada ok :) |
U sta sam ja ulupao pola dana
Evo sta sam pisao i o cemu se radi..
Poruka ima funkcije | Obrisi poruku | Posalji na email | Odgovori (sto se grana u -> Posalji odgovor | sacuvaj odgovor | i zatvori odgovor) Na click Odgovori ispada citat sa sadrzajem trenutne poruke i forma za upis odgovora.. na click sacuvaj odgovor pravim zapis sa time sto konvertujem line break-ove (nove redove) u <br />.. Kod svakog ucitavanja poruka trazim zapise u bazi za sacuvane odgovore i generisem jscript koji u sebi sadrzi iste.. ako je bilo novih redova u sacuvanom odgovoru u formi mi se ispise "<br />".. ok, to je sve jasno, nego kada pre ispisa konvertujem "<br />" u "\n" dobijam nove redove u jsciptu i funkcija/string puca.. E sad, ja se tu malo iznerviram i izbrisem $string = str_replace ("<br />", "\n", $row[string]); testiram sve moguce varijante xXx puta i bez ikakvih rezultata.. Probrisem testove i ponovo (rucno - bez ctrl z) istpisem $string = str_replace ('<br />', '\n', $row[string]); i zajebem se (ako mogu tako da se izrazim), umesto duplih navodnika upisem 'obicne' i kad ono sve sljaka ok :) lepo se ispisuje '\n' u js-u i prikazuje line break u formi :) da covek ne veruje... mislim problem je resen nego i dalje sam u cudu.. ovih pet-sest funkcija sam sklopio za pola dana - dan a sa ovim line break-om se patim skoro isto toliko :D pa reko cisto ako nekom da zatreba da ne lupa glavu k’o ja :) |
lako je bit general poslije bitke, al neki dan sam ti bas to htio napisat, da kakve navodnike koristis :D al reko necu gnjavit, to je trivijalnost :)
razlika u jednostrukim i dvostrukim je upravo u tome kako vide escape stringove :) http://www.php.net/manual/en/language.types.string.php ispade da si potratio par sati radi trivijalnosti. za moj dio krivnje sto ne rekoh na vrijeme, ispricavam se :) |
Vreme je GMT +2. Trenutno vreme je 15:12. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.