|
PHP PHP aplikacije, Smarty, PEAR |
|
Alati teme | Način prikaza |
|
31. 01. 2006. | #1 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Iskreno, ne znam na koji način se određeni zahtevi ocenjuju kao sumnjivi, a neki drugi kao ispravni, ali znam da taj posao radi jedan od Apache modula: mod_security. Takođe znam da je osetljiv na ključne reči (svn na primer) koje liče shell komande, logičke strukture i slične stvari, ali kako tačno funkcioniše ne mogu reći.
Ne bih ni znao da server proverava svaki zahtev da nije došlo do ovog problema. TextDrive daje stvarno puno slobode svojim korisnicima tako da je verovatno da su na neki način hteli da se zaštite od HTTP zahteva sumnjive "sadžine" kaji bi mogli da iskoriste moguće Apache bugove. Zamisli mogućnost da na hostingu kod koga se skoro sva konfiguracija vrši kroz SSH možeš da izvršavaš komande šaljući proste HTTP zahteve... Džumbus
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 31. 01. 2006. u 12:00. |
31. 01. 2006. | #2 | |
Goran Pilipović
Sir Write-a-Lot
|
Mene u toj priči interesuje šta može biti "sumnjivo"? Možda neki primer "sumnjivog" http request?
Citat:
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! Poslednja izmena od bluesman : 31. 01. 2006. u 11:54. |
|
31. 01. 2006. | #3 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Ono što sam ja prvo hteo da te pitam (pa sam posle odustao) je, da li je to neki "custom made" post/get http request ili si normalno prosleđivao formu iz browsera i dobijao tu grešku?
|
31. 01. 2006. | #4 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Sad da me ubiješ ne mogu da se setim koji sadržaj je pravio probleme. Sećam se da je bio jedan primer gde je prosleđivan POST kod koga je jedno polje bio kod Smarty template gde se SVN spominjao u logičkoj strukturi (ili tako nekako, ne mogu sad tačno da se setim).
Teorija zavere: Na TD imaš SVN i sve SVN opracije možeš da odradiš iz komandne linije (pošto je SVN command line alat). Zamisli sad da zbog Apache buga (ili buga u nekoj skripti) neko uspe da progura komandu i obriše ti neki važan projekat iz SVNa... Ili ti recimo pokupi izvorni kod. Ili... Ups! Lupam primer, ali to zvuči kao moguć scenario. Sećate li se samo PHPBB exploita koji vam je omogućavao da izvršavate komande u direktorijumu gde je skripta instalirana? Kompletan tutorijal u korak po karak maniru kako da obrišeš index.php svakog PHPBB foruma koji nije izvršio upgrade DODATAK: Klasičan POST zahtev iz browsera. Najobičniji klik na submit dugme Najgori mogući scenario: naleteo klijent dok je unosio sadržaj.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog Poslednja izmena od Ilija Studen : 31. 01. 2006. u 12:23. |
31. 01. 2006. | #5 | |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Citat:
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
31. 01. 2006. | #6 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Pa, onda je definitivno problem do servera. Meni je iskreno cela stvar prosto neverovatna, mislim, imaš recimo post/get variablu koja se zove "svn" i sta sad? Server ti blokira request na način koji si opisao gore pod izgovorom security-a ? Svašta.
Btw, svn ne mora da "trči" kao apache modul, ja sam ga kod mene na serveru poterao kao "standalone deamon", i radi super, jedina razlika je sto prilikom checkout-a koristim 'svn://' umesto 'https://'. Doduše ja sam tako morao jer je kod mene apache 1.3.x sa kojim svn ne radi. Poslednja izmena od dinke : 31. 01. 2006. u 12:38. |
31. 01. 2006. | #7 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
SVN sam uzeo kao primer, ali opet imaš kompletan pristup kroz SSH. Takođe, tu je i MySQL, PHP u cli modu, Lighttpd, razni config fajlovi itd itd itd. Stvari koje mogu da prouzrokuju velike probleme samo ako se nađe dovoljno velika rupa da se kroz nju provučeš.
Ali slažem se u potpunosti da je ipak malo preterano. Sigurnost je OK, ali da sigurnosne mere prouzrokuju probleme u radu potpuno ispravnih sajtova / aplikacija... Nije OK.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
31. 01. 2006. | #8 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
@dinke: bez da idem u ot, apache 1.3.x rula.
Sad sam malo pregledao mod_security i apache source... Ne mogu da nadjem ocigledan razlog zasto bi se to desavalo.. Mora da je nesto zakukuljeno do zla Boga Slazem se da je mozda nekad nepotrebno preterivati sa sigurnosti, ali gledaj to sa druge strane - i PHP safe mod takodje unosi odredjen nivo nekompatibilnosti i smanjuje funkcionalnost u nekoj meri, a opet sve to radi sigurnosti. Onaj ko je instalirao mod_security (jesi ti 100% siguran da je u pitanju mod_security na serveru??) je sigurno imao razlog zasto to radi - ovo je mozda samo side-effect...
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams Poslednja izmena od zextra : 31. 01. 2006. u 13:48. |
31. 01. 2006. | #9 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Dobro, nasao sam ponesto u kodu, ali sve se svodi na pravila koja su definisana za mod_security, na osnovu kojih on detektuje (in)valid zahteve...
Default config fajl izgleda ovako: Kôd:
<IfModule mod_security.c> # Enable ModSecurity SecFilterEngine On # Reject requests with status 403 SecFilterDefaultAction "deny,log,status:403" # Some sane defaults SecFilterScanPOST On SecFilterCheckURLEncoding On SecFilterCheckUnicodeEncoding Off # Accept almost all byte values SecFilterForceByteRange 1 255 # Server masking is optional # SecServerSignature "Microsoft-IIS/5.0" # Designate a directory for temporary files # storage. It is a good idea to change the # value below to a private directory, just as # an additional measure against race conditions SecUploadDir /tmp SecUploadKeepFiles Off # Only record the interesting stuff SecAuditEngine RelevantOnly # Uncomment below to record responses with unusual statuses # SecAuditLogRelevantStatus ^5 SecAuditLog logs/modsec_audit.log # You normally won't need debug logging SecFilterDebugLevel 0 SecFilterDebugLog logs/modsec_debug.log # Only accept request encodings we know how to handle # we exclude GET requests from this because some (automated) # clients supply "text/html" as Content-Type SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain SecFilterSelective HTTP_Content-Type "!(^application/x-www-form-urlencoded$|^multipart/form-data;)" # Do not accept GET or HEAD requests with bodies SecFilterSelective REQUEST_METHOD "^(GET|HEAD)$" chain SecFilterSelective HTTP_Content-Length "!^$" # Require Content-Length to be provided with # every POST request SecFilterSelective REQUEST_METHOD "^POST$" chain SecFilterSelective HTTP_Content-Length "^$" # Don't accept transfer encodings we know we don't handle SecFilterSelective HTTP_Transfer-Encoding "!^$" </IfModule>
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Naša slova i greška na sajtu | akki | Sva početnička pitanja | 20 | 08. 12. 2010. 09:26 |
[Rešeno] parseInt greška | 35-68 | Sva početnička pitanja | 2 | 20. 08. 2010. 18:46 |
the requested operation has failed - kada probam startovati Apacch | novii | PHP | 3 | 23. 07. 2010. 12:35 |