Názory k článku Na podceňovanou hrozbu SQL injection doplácí i řada českých webů
> Je důležité si uvědomit i to, že SQL injection nemá nic společného s jazykem, ve kterém je webová aplikace napsaná
Tak s tymto by som dost nesuhlasil aj ked dovody nie su technicke, ale socialne.
Vsetci Javovsky programatori uz od zakladnych tutorialov vedia, ze SQL string sa nema vyskladavat z textov co zadava uzivatel, ale maju pouzivat PreparedStatement, teda posielat parametre do SQL. Dokonca niektore nastroje na staticku kontrolu kodu na tuto chybu upozornuju ( FindBugs ) .
Pravdupovediac, rovnako sa to da osetrit v PHP alebo ASP, ale z mne neznamych dovodov na to tie lamy kaslu.
Tak s tymto by som dost nesuhlasil aj ked dovody nie su technicke, ale socialne.
Vsetci Javovsky programatori uz od zakladnych tutorialov vedia, ze SQL string sa nema vyskladavat z textov co zadava uzivatel, ale maju pouzivat PreparedStatement, teda posielat parametre do SQL. Dokonca niektore nastroje na staticku kontrolu kodu na tuto chybu upozornuju ( FindBugs ) .
Pravdupovediac, rovnako sa to da osetrit v PHP alebo ASP, ale z mne neznamych dovodov na to tie lamy kaslu.
V čempak že to je napsané to Z1.CZ (s ukázkovou SQL injection)? Aha, vona to byla Java :)
Ra100 tym chcel povedat, ze vyukove materialy nabadaju k pouzitiu prepared statementov. Pokial je vsak programator nedosledny a lenivy, tak to moze pisat v com chce a nikto mu nezabrani to napisat nespravnym sposobom.
Takze vlastne SQL Injection nema nic spolecneho s jazykem, ve kterem je stranka napsana :)
Titulek:
Re: Jazyk
(Petr)
Nový
Titulek:
Re: Jazyk
(lukas)
Nový
No, výukové materiály k ASP taky dlouhé roky nabádaji k použití něčeho, co stejně nikdo pořádně nepoužívá :)
Titulek:
Re: Jazyk
(stoural)
Nový
Titulek:
Re: Jazyk
(Tomas)
Nový
Titulek:
Re: Jazyk
(N/A)
Nový
Titulek:
Re: Jazyk
(polygon)
Nový
prosímvás, nepřebrat cokoliv přímo z parametrů je stejná zásada jako nepokládat holou ruku na rozpálený kamna. toto je zásada kterou jsem se velmi záhy naučil před dávnými lety při psaní cgi v shellu - to je aspoň prasárna ;-) - a platí pro všechno programování v čemkoliv a čehokoliv. pokud toto někdo nedodržuje, neumí programovat.
Titulek:
Re: rozpálená kamna
(Miloš)
Nový
Titulek:
Re: Jazyk
(Karuč)
Nový
Titulek:
Re: Jazyk
(sejc)
Nový
Datum: 10. 6. 2008 9:58
Nový
Vložil: Mirek (neregistrovaný)
Titulek: Nedělal bych z toho aféru (Celé vlákno)
Vložil: Mirek (neregistrovaný)
Titulek: Nedělal bych z toho aféru (Celé vlákno)
Proč vytvářet zbytečnou aféru? Trocha toho XSS nebo SQL Injection nikoho ještě nezabila..
Datum: 10. 6. 2008 10:13
Nový
Vložil: uživatel si přál zůstat v anonymitě
Titulek: Re: Nedělal bych z toho aféru (Celé vlákno)
Vložil: uživatel si přál zůstat v anonymitě
Titulek: Re: Nedělal bych z toho aféru (Celé vlákno)
Haha, tak toto muze napsat jen uplny jelito. Podivejte se nekdy na pravidelne opravovane security chyby v prohlizecich. Jsou tam i lahudky typu kradeni hesel z password manageru a podobne. A toto vsechno muze utocny skript pouzit.
Titulek:
Re: Nedělal bych z toho aféru
(czeXit)
Nový
Titulek:
Re: Nedělal bych z toho aféru
(Mirek)
Nový
Titulek:
Re: Nedělal bych z toho aféru
(czeXit)
Nový
Datum: 10. 6. 2008 12:53
Nový
Vložil: pavel (neregistrovaný)
Titulek: Re: Nedělal bych z toho aféru (Celé vlákno)
Vložil: pavel (neregistrovaný)
Titulek: Re: Nedělal bych z toho aféru (Celé vlákno)
Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala.
Titulek:
Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(luky)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(hisaak)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Maaartin)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(polygon)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Zdenek)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Zdenek)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
aura:
83
Datum: 10. 6. 2008 15:29
Nový
83
Vložil: Daniel Dočekal
Titulek: Re: Hrubě nesouhlasím s prvním odstavcem (Celé vlákno)
> A já mu oponuji tím, že dalším řešením je,
> aby ten shell vůbec neběžel s rootovskými právy.
No, autor to v tom článku dost jasně píše :) Ale pokud vám Karle dělá radost že můžete oponovat, tak vám to budiž přáno :)
> aby ten shell vůbec neběžel s rootovskými právy.
No, autor to v tom článku dost jasně píše :) Ale pokud vám Karle dělá radost že můžete oponovat, tak vám to budiž přáno :)
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(polygon)
Nový
Datum: 10. 6. 2008 13:48
Nový
Vložil: David Grudl (neregistrovaný)
Titulek: Re: Hrubě nesouhlasím s prvním odstavcem (Celé vlákno)
Vložil: David Grudl (neregistrovaný)
Titulek: Re: Hrubě nesouhlasím s prvním odstavcem (Celé vlákno)
Tak to je samozřejmě nesmysl.
> Na mých stránkách může kdokoliv použít SQL injection, ale v ničem mu to nepomůže
To totiž znamená, že nelze do formuláře vložit třeba apostrof (nelze zadat příjmení O'Connor), aby to nezpůsobilo chybu. Na úrovni práv sice ošetříte, že nedojde ke škodě, ale nic to nemění na tom, že aplikace není plně funkční.
> Na mých stránkách může kdokoliv použít SQL injection, ale v ničem mu to nepomůže
To totiž znamená, že nelze do formuláře vložit třeba apostrof (nelze zadat příjmení O'Connor), aby to nezpůsobilo chybu. Na úrovni práv sice ošetříte, že nedojde ke škodě, ale nic to nemění na tom, že aplikace není plně funkční.
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Zdenek)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Karel)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(mazanek)
Nový
aura:
49
Datum: 10. 6. 2008 23:38
Nový
49
Vložil: Jaromír Adámek
Titulek: Re: Hrubě nesouhlasím s prvním odstavcem (Celé vlákno)
Taky nechápu tu část o vložených procedůrách v SQL.
Proč preferují výkonný kód v SQL, místo v PHP, či čemkoliv jiném.
Podle mě to bude nepřehledné (jak píšeš kód na dvou místech, i když někdy se to může hodit...).
Ale hlavně nechápu, jak to může zvýšit bezpečnost, například zvýšit odolnost oproti SQL Injections.
Stored procedury jsem nikdy nepoužíval, může mi to někdo vysvětlit, nějak jednoduše nejlépe?
Já si totiž myslím, že je to blbost.
Jasně, omezení práv beru.
Omezení vstupů beru, a sám je důsledně dělám.
Ale jaký je rozdíl, jestli, když špatně ošetřím vstup pak s tím kódem něco udělám s SQL přes PHP a nebo přes vloženou proceduru přímo v SQL?
Proč preferují výkonný kód v SQL, místo v PHP, či čemkoliv jiném.
Podle mě to bude nepřehledné (jak píšeš kód na dvou místech, i když někdy se to může hodit...).
Ale hlavně nechápu, jak to může zvýšit bezpečnost, například zvýšit odolnost oproti SQL Injections.
Stored procedury jsem nikdy nepoužíval, může mi to někdo vysvětlit, nějak jednoduše nejlépe?
Já si totiž myslím, že je to blbost.
Jasně, omezení práv beru.
Omezení vstupů beru, a sám je důsledně dělám.
Ale jaký je rozdíl, jestli, když špatně ošetřím vstup pak s tím kódem něco udělám s SQL přes PHP a nebo přes vloženou proceduru přímo v SQL?
Datum: 11. 6. 2008 4:11
Nový
Vložil: David Grudl (neregistrovaný)
Titulek: Re: Hrubě nesouhlasím s prvním odstavcem (Celé vlákno)
Vložil: David Grudl (neregistrovaný)
Titulek: Re: Hrubě nesouhlasím s prvním odstavcem (Celé vlákno)
Možná jsem váš první komentář nepochopil správně.
Problém SQL injection chápu jako vadu při vytváření SQL příkazů. Řešením je tuto vadu ostranit, nikoliv ošetřovat její důsledky. Ve článku je třeba uveden příklad, kdy lze server "napadnout" hledáním výrazu: ' or 1=1. To je zcela regulérní výraz, který skutečně může někdo hledat. Aplikace jej proto musí korektně vložit do SQL, třeba tak, že před apostrof vloží lomítko nebo jej zdvojí - prostě jak si to konkrétní databáze žádá.
Váš komentář mi naopak vyzněl tak, že není třeba řetězec korektně vložit do SQL, protože stejně nelze získat citlivá data.
Problém SQL injection chápu jako vadu při vytváření SQL příkazů. Řešením je tuto vadu ostranit, nikoliv ošetřovat její důsledky. Ve článku je třeba uveden příklad, kdy lze server "napadnout" hledáním výrazu: ' or 1=1. To je zcela regulérní výraz, který skutečně může někdo hledat. Aplikace jej proto musí korektně vložit do SQL, třeba tak, že před apostrof vloží lomítko nebo jej zdvojí - prostě jak si to konkrétní databáze žádá.
Váš komentář mi naopak vyzněl tak, že není třeba řetězec korektně vložit do SQL, protože stejně nelze získat citlivá data.
Titulek:
"Kecat umí každý - ukaž kód!" (Linus Torvalds)
(Pavel D.)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
(Miloš)
Nový
Titulek:
Re: Hrubě nesouhlasím s prvním odstavcem
Nový
Titulek:
ad klaus.cz
(Alois Vitásek)
Nový
Titulek:
SQL Injection v praxi
(JirkaV)
Nový
Datum: 10. 6. 2008 13:52
Nový
Vložil: David Grudl (neregistrovaný)
Titulek: Používejte layer (Celé vlákno)
Vložil: David Grudl (neregistrovaný)
Titulek: Používejte layer (Celé vlákno)
Tady lze doporučit - používejte kvalitní databázový layer (pro PHP třeba dibi ;) a nemusíte se SQL injection vůbec bát. Obrovská výhoda této (až nepochopitelně rozšířené) chyby je ta, že se dá vyřešit na velmi nízké úrovni a pak už na ní není třeba myslet.
Titulek:
Re: Používejte layer
(onanym)
Nový
Datum: 11. 6. 2008 3:44
Nový
Vložil: David Grudl (neregistrovaný)
Titulek: Re: Používejte layer (Celé vlákno)
Vložil: David Grudl (neregistrovaný)
Titulek: Re: Používejte layer (Celé vlákno)
Samozřejmě spoustě lidí stačí obyčejné PDO. Ale kdo chce něco navíc, používá dibi. V současné době ten nejúúúžasnější databázový layer! Tak to prostě je. S tím nic nenaděláte :-))
Titulek:
Re: Používejte layer
Nový
Titulek:
RE: Na podceňovanou hrozbu SQL injection doplácí i řada českých webů
(lecter)
Nový
Titulek:
Ja vám nevym.
(Hahaha)
Nový
Titulek:
Re: Ja vám nevym.
(klakson)
Nový
Titulek:
RE: Na podceňovanou hrozbu SQL injection doplácí i řada českých webů
(trotl)
Nový
"Pokud vládnete jazykem SQL, tak začínáte tušit, jak velká je tohle zrada (a malér)" a i v dalších příkladech (xp_cmdshell)
To první není SQL, ale T-SQL, a jedná se o příklady konkrétně pro MS SQL Server, takže je trochu zavádějící to za "SQL" označovat, protože SQL jsou především normy napříč db, a ne jen jedno řešení od MS, ne
To první není SQL, ale T-SQL, a jedná se o příklady konkrétně pro MS SQL Server, takže je trochu zavádějící to za "SQL" označovat, protože SQL jsou především normy napříč db, a ne jen jedno řešení od MS, ne
Datum: 13. 6. 2008 22:15
Nový
Vložil: Aim (neregistrovaný)
Titulek: Re: Technická k "SQL" (Celé vlákno)
Vložil: Aim (neregistrovaný)
Titulek: Re: Technická k "SQL" (Celé vlákno)
Ano. Ostatní tu jenom dělají machry, ale skutek utek.
Sledování názorů
Registrovaným uživatelům nabízíme upozornění na nové názory e-mailem. Prosím, přihlaste se nebo se zaregistrujte.

