2009-03-17

SQL injection алдаанаас ASP/.NET дээр хэрхэн хамгаалах вэ? 3-р хэсэг.

Алдаатай коде

Dim NER as String
Dim SqlQuery as String

NER = Request.QueryString("NER")
SqlQuery = "SELECT lname, fname FROM users WHERE user_id = '" + NER + "'"

Хэвийн ажиллагаа

' Дээрх кодыг агуулж буй хуудас ингэж дуудагдан ажиллана
http://yourwebsite.mn/userlist.aspx?NER=Yourname

' Database дээр ажиллах Query
SELECT lname, fname FROM authors WHERE user_id = 'Yourname'

Дайралт

' Дээрх кодыг агуулж буй хуудас ингэж дуудагдан ажиллана
http://yourwebsite.mn/userlist.aspx?NER=';SQL... --

' Database дээр ажиллах query
SELECT lname, fname FROM authors WHERE user_id = '';SQL ... --

Хамгаалалт

Dim NER as String = Request.QueryString("NER")
Dim cmd As new SqlCommand("SELECT lname, fname FROM authors
WHERE au_id = @au_id")
Dim param = new SqlParameter("au_id", SqlDbType.VarChar)
param.Value = NER
cmd.Parameters.Add(param)
...

3 comments:

  1. IT security hackeruud mash olo boloh boltugai
    bayrljiin uu iim blog neesend ulam ih uils bvteegeerei amjilt shoo

    ReplyDelete
  2. Manaid companiud ih olon chadwartai humuusiig ajild awah sonirholtoi baidag bolsnoos hamgaalalt muutai web, app huudasnuud olon bolj baina. Jishee bolgohod l jiriin neg company flash, php, html, sql, mysql, photoshop geed baahan yum meddeg humuusiig shaardaj baina. Ene ni jiriin negen programmistiig buh zuiluudiig meddeg bailgahiig shaarddag, Hun l yum chin aldaa gargah n damjiggui. Ugugdliin sangiin sain engineer bol zuwhun stored procedure-uud bichij app,web programmistuud zuwhun ter stored procedure-iig ashiglaj ajillawal injection-ii asuudlaas neleen holdoj chadna. Tegtel manaid ingej neg chigleleer mergeshuuleh bus olon yum chaddag universal zaluu gargah geed baigaa n asuudal uusgejiine,

    ReplyDelete
  3. Ih heregtei yum boljee.
    Urgeljlene biz dee.

    ReplyDelete