[Owasp-turkey] SQL Injection'dan kaçmak.

Bedirhan Urgun urgunb at hotmail.com
Thu Sep 6 04:06:06 EDT 2007


 
Ferruh iyilesmis anlasilan. :) 
Bahsettigi %0.01 ile alakali 3-4 gun once karsilastigim bir kod (bir Java metodu. Yorumlarim asagida);
 
/*=======================*/
public boolean XXXIptalSorgu() throws FileNotFoundException, IOException {        StringBuffer sb = new StringBuffer();        PreparedStatement stmt = null;        ResultSet rset = null;        try {            connCA = utils.getCADBConnection(altkokno);            stmt = connCA.prepareStatement("SELECT Z_NO,ISIM,EMAIL,K_NO FROM KULLANICI_KIMLIKLERI WHERE ((K_NO LIKE '%" +                                            kno + "%') AND (DURUM=?))");            stmt.setInt(1, ZConstants.K_GECERLI); // DURUM GECERLI OLAN            rset = stmt.executeQuery();            this.iptalSorguSonucu = gecerliXXXTablosu(rset);            return true;        }        catch (SQLException e) {            this.hataMesaji = "Hata: " + e + "<br>\n";            return false;        }        finally {            try {                if (rset != null) {                    rset.close();                }                if (stmt != null) {                    stmt.close();                }            }            catch (SQLException ignored) {}        }    }/*=======================*/Parameterized Query kullanilmis, ama bi parametre (kno) icin kullanilmamis (artik unutulmus mu, yoksa "sql like" icin kullanamayiz mi denmis bilmiyorum). 
 
Not: Tabi bunun sql exploit'inde de bi soru isaretli parametre kullanmak gerekebilir (exploit dizgisine gore), yoksa "missing parameter" sql hatasi alinir
bedirhan


Date: Thu, 6 Sep 2007 08:27:26 +0100From: ferruh at mavituna.comTo: aspsrc at gmail.comCC: owasp-turkey at lists.owasp.orgSubject: Re: [Owasp-turkey] SQL Injection'dan kaçmak.Merhaba,SQL Injection icin en iyi korunma yontemi bir nedenini anlamak ve ona gore kodlamak, iki "parameterized query" ler kullanmak. Hemen hemen tum modern web dilleri ve DB API lari bunlari destekliyor. Dolayisiyla eger her turlu veritabani baglantisini parameterized query ler ile yaparsaniz ve db tarafinda stored procedure vb. yazarken gene benzer cozumler kullanirsaniz SQL Injection a karsi %99.99 korunmus olacaksinizdir. %0.01 de su an aklima gelmeyen ama belki de orada bir yerde olan tuhaf bir SQL Injection sorunudur :)
On 05/09/07, Oguzhan YILMAZ < aspsrc at gmail.com> wrote: 
Merhaba,Madem konu SQL injection.  Bundan korunmak için geliştirmemiz gereken foksiyonlar nasıl olmalıdır? (Herhangi bir script ve programlama dili olarak) En basitinden gelen ataktaki string den  ( ' ) tırnakları Replace etmek, CHR() ve sql cümlelerini algılayıp değiştirmek, yada buna benzer kural bazlı çözümler yeterlimidir? yoksa daha komplike şeyler de gereklimidir? Gerçi konu webgüvenliği ama windows uygulamalarında yada başka bir platformda config (örneğin config.xlm) dosyaları içinden sql injection mümkün olabiliyor. Aynı şekilde başka bir injection ile uygulamaya saldırı olabilirmi? -- Oğuzhan _______________________________________________Owasp-turkey mailing listOwasp-turkey at lists.owasp.org https://lists.owasp.org/mailman/listinfo/owasp-turkey-- Ferruh Mavitunahttp://ferruh.mavituna.com 
_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20070906/f403681f/attachment.html 


More information about the Owasp-turkey mailing list