SlideShare a Scribd company logo
1 of 125
1
LỜI NÓI ĐẦU
    Tài liệu này dành cho bất cứ những ai quan tâm tới bảo mật thông tin cho ứng
dụng Web có sử dụng cơ sở dữ liệu, đặc biệt dành cho các quản trị Website, quản trị
máy chủ Web Server có chạy các ứng dụng Web có nguy cơ tiềm ẩn và cũng là tài
liệu tham khảo rất tốt cho các bạn đang theo học về quản trị mạng .Tài liệu này sẽ
hướng các bạn làm thế nào để có được một hệ thống giả lập về các lỗi SQL Injection
của ứng dụng Web, cách sử dụng các công cụ hỗ trợ trong việc tấn công vào các ứng
dụng Web bị lỗi SQL Injection .
    Vì đây là tài liệu hướng dẫn về các phương pháp tấn công của hacker vào các
ứng dụng Web bị lỗi SQL Injection, phương châm của chúng tôi là “Hack không
phải là phá hoại – Hack để bảo mật hơn !” .Nên chúng tôi xin nhắc nhở các bạn
đây chỉ là tài liệu có tính chất tham khảo thực hành LAB, chúng tôi không chịu
trách nhiệm việc các bạn dùng kiến thức này vào việc vi phạm pháp luật nhà nước
Công Hòa Xã Hội Chủ Nghĩa Việt Nam .
    Cuối cùng thì chân thành cám ơn tài liệu của các tác giả O’Reilly, Kevin Spett,
AirScanner và các diễn đàn về bảo mật đã cung cấp tài liệu để chúng tôi hoàn thành
cuốn tài liệu hướng dẫn thực hành LAB này .




                                     Mọi thắc mắc xin gửi về : anhducb@gmail.com


                                                                           2
Giới thiệu chung :

    Nội dung của phần LAB của module 14 – SQL Injection thể hiện rất rõ phương
châm “Hack để bảo mật hơn !”, module này bao gồm chuyên về những phương thức
và kỹ năng thực hành thâm nhập hệ thống như : quét lỗi bảo mật, truyền các lệnh
thực thi trái phép, xâm nhập hệ thống máy chủ Web …của hacker để người quản
trị có cái nhìn tổng quan từ phía những hacker để thực hiện chế độ bảo mật cho
Web site của mình một cách tốt hơn .
    Vì lý do các lỗi bảo mật về SQL Injection thì rất nhiều các ứng dụng Web bị mắc
phải .Do đó trong giới hạn của tài liệu này tôi lấy một ví dụ điển hình về lỗi SQL
Injection đó là lỗi ứng dụng Web ASP (Active Server Pages) làm ví dụ để hướng dẫn
trong phần LAB của module này .


Mục tiêu :

  Tham gia quản trị bảo mật hệ thống máy chủ chạy các ứng dụng Web có sử
dụng cơ sở dữ liệu ở các tổ chức, công ty, xí nghiệp, cơ quan .
  -      Nắm vững các phương pháp khảo sát, đánh giá mức độ an ninh mạng .
  -      Nắm vững các kỹ năng về kiến thức, thực hành và kinh nghiệm Ethical
      Hacking .
  -      Xác định được nguyên nhân, nhận diện chính xác đối tượng, động cơ, cách
      thức của kẻ tấn công xâm nhập dữ liệu hệ thống .Xác định mục tiêu, mối
      nguy hiểm thường trực về an ninh ứng dụng Web của tổ chức .
  -      Phương thức thiết kế hệ thống và ứng dụng Web theo hướng bảo mật
      .Phương thức đối phó với sự cố khi xảy ra .
  -      Hiểu rõ khái niệm, phương thức hoạt động của các hacker .
  -      Biết sử dụng phương pháp và các công cụ cơ bản để kiểm tra an ninh bảo
      mật trên ứng dụng Web của tổ chức .


Điều kiện :

   -     Có kiến thức về Hệ điều hành mạng Windows (tương đương MCSA) .
   -     Có kiến thức về Hệ quản trị cớ sở dữ liệu Microsoft SQL Server (tương
       đương MCDBA) .
   -     Có kiến thức về lập trình Web : HTML, ASP, PHP .
   -     Có kiến thức về Anh ngữ .
   -     Quan tâm đến bảo mật thông tin trên ứng dụng Web .




                                                                           3
Nội dung :


     • Phần chuẩn bị cho bài thực hành LAB .
     • Phần thực hành LAB .




                                               4
1.        Phần chuẩn bị cho bài thực hành LAB:

     -                Phần này yêu cầu các bạn sử dụng 2 hệ thống PC để có thể thực
          hành bài LAB và thấy được hiệu quả của những bài thực hành .
     -                Tốt nhất các bạn nên sử dụng công cụ tạo máy ảo(VMware
          Workstation, Micsoft Virtual PC) để có thể thực hiện tốt phần thực hành LAB .
     -                Ở đây tôi sẽ đưa ra mô hình thực hành như sau :
     -                Trong đó máy Attack sẽ sử dụng Windows XP sp2 và máy chủ Web
          là victim sử dụng Windows 2000 Server .




  1.1.            Máy chủ Web Server victim :

         1.1.1.        Một hệ điều hành (OS) Microsoft Windows 2000 Server :

              -         Tôi sử dụng phiên bản Windows 2000 Server để hướng dẫn các bạn
                    thực hành bài LAB này cho thuận tiện .
              -         Việc làm sao để có hệ điều hành trên tất nhiên các bạn đã biết tôi sẽ
                    không nhắc tới, bên cạnh đó ta cần có 1 Web Server chạy trên nền Web
                    Server IIS 5.0 (Internet Information Service) .Phần này các bạn đã học
                    qua môn MCSA (Microsoft Certified System Administrator ) tất nhiên
                    phải biết cách cài đặt gói phần mềm Web Server này ở đâu ra .



                                                                                      5
-        Ở đây tôi xin nhắc lại để những bạn nào chưa biết có thể biết cách
    cài đặt gói phần mềm này để phục vụ cho bài thực hành LAB dưới đây .
-        Vào Start  Setting  Control Panel  Add / Remove Programs .
-        Chọn Add / Remove Windows Components .




-      Chọn dấu chọn gói Internet Information Services (IIS), gói phần
    mềm này sẽ chạy được các ứng dụng Web Application ASP .




                                                                    6
-   Chọn Next  .



                    7
-   Chờ hệ thống cài đặt gói phần mềm IIS vào .




                                                  8
-       Chọn Finish .




      -       Đến đây ta đã chuẩn bị xong phần Web Server cho hệ thống victim
          để phục vụ bài thực hành LAB dưới đây .

1.1.2.       Một hệ quản trị cơ sở dữ liệu (database) Microsoft SQL Server 2000 :

      -        Tôi sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000
          Standard để hướng dẫn cho các bạn bài thực hành LAB này cho thuận
          tiện .
      -        Việc làm sao để có và cách thức cài đặt gói phần mềm hệ quản trị cơ
          sở dữ liệu Microsoft SQL Server thì bạn nào đã học qua MCDBA
          (Micosoft Certified Database Administrator ) tất nhiên phải biết cách cài
          đặt và sử dụng như thế nào .
      -        Ở đây tôi xin nhắc lại một cách cơ bản để các bạn chưa biết có thể
          tự mình cài đặt gói phần mềm này để phục vụ cho bài thực hành LAB
          dưới đây .
      -        Chọn file  setup.bat (trong thư mục gốc cài đặt) .




                                                                           9
-   Chọn Next  .




                    10
-   Chọn Local Computer  chọn Next  .




                                          11
-      Chọn Create a new instance of SQL Server, or install Client Tools
     chọn Next  .




                                                                  12
-   Chọn Next  .




                    13
-   Chọn Server and Client Tools  chọn Next  .




                                                   14
-   Chọn Yes  .




                   15
-   Điền CD key vào và chọn Next  .




                                       16
-   Để mặc định Default  chọn Next  .




                                          17
-   Chọn Custom  chọn Next  .




                                  18
-   Chọn Next  .




                    19
-       Chọn Use the same account …  chọn Use the Local System
    account  chọn Next  .




                                                             20
-       Chọn Mixed Mode (Windows Authentication and SQL Server
    Authentication)  chọn Blank Password (Chú ý : do ở đây làm thực
    hành LAB tôi sẽ để password rổng, trên thực tế không ai làm điều này !)
     Chọn Next  .




                                                                   21
-   Chọn Next  .




                    22
-        Chọn Muti – Protocol  chọn Enable Multi – Protocol Encryption
     chọn Next  . (Chú ý : Các bạn hãy chú ý và nhớ port number của
    Microsoft SQL Server “1433” để phục vụ cho bài thực hành LAB dưới
    đây) .




                                                                23
-   Chọn Next  .




                    24
-       Chọn Per Seat for :  nhập vào 10 (Ở đây tôi chọn là 10)  chọn
    Continue  .




                                                                25
-   Chờ trong giây lát để hệ thống cài đặt gói phần mềm vào  .




                                                              26
27
-   Chọn Finish  .




                      28
-        Đến đây ta chuẩn bị xong phần Microsoft SQL Server cho hệ thống
         victim để phục vụ bài thực hành LAB dưới đây .

1.1.3.      Một source Web Application bị lỗi SQL Injection :

     -        Tôi sử dụng một bộ source Web Application ASP bị lỗi SQL
         Injection của “Juggy Bank” để hướng dẫn các bạn chuẩn bị cho bài
         thực hành LAB này một cách thuận tiện .
     -        Vào Start  Programs  Microsoft SQL Server  Enterprise
         Manager  .




                                                                      29
-   Start SQL  .




                    30
-        Vào Start  Programs  Microsoft SQL Server  Query Analyzer
    .




                                                             31
-       Chọn SQL Server Machine (Ở đây tôi chọn máy victim vừa cài đặt
    xong)  OK  .




                                                                32
-       Import dữ liệu database vào SQL Server 2000  File  Open (Ctrl
    + Shift + O)  đường dẫn đến thư mục source Web Application (Ví dụ :
    DesktopSqldata)  chọn “juggybank.sql”  Open .




                                                                33
-   Execute query (F5)  Close .




                                   34
35
-       Click chuột phải  chọn All tasks  chọn Import data  chọn
    Next 




                                                               36
-       Data Source :  chọn Text File  .




-        File name :  đường dẫn đến thư mục source Web Application (Ví
    dụ : DesktopSqldata)  chọn “juggybank-userinfo-data.txt”  Open .




                                                                37
-   Chọn Next  .




                    38
-   Chọn Next  .




                    39
-   Chọn Next  .




                    40
-   Database :  chọn “juggybank”  chọn Next  .




                                                    41
-   Destination :  chọn “userinfo”  chọn Next  .




                                                      42
-   Chọn Next  .




                    43
-   Chọn Finish  .




                      44
-   Chọn OK  .




                  45
-   Chọn Done  .




                    46
-       Click chuột phải  chọn All tasks  chọn Import data  chọn
    Next 




                                                               47
48
-       Data Source :  chọn Text File  .




-        File name :  đường dẫn đến thư mục source Web Application (Ví
    dụ : DesktopSqldata)  chọn “juggybank-usercreditcard-data.txt” 
    Open




                                                                49
-   Chọn Next  .




                    50
-   Chọn Next  .




                    51
-   Chọn Next  .




                    52
-   Database :  chọn “juggybank”  chọn Next  .




                                                    53
-   Destination :  chọn “Creditcard”  chọn Next  .




                                                        54
-   Chọn Next  .




                    55
-   Chọn Finish  .




                      56
-   Chọn OK  .




                  57
-   Chọn Done  .




                    58
-        Chọn thư mục source Web Application (Ví dụ : DesktopSql) 
    click chuột phải  chọn Properties  chọn Tab Web Sharing  .




                                                                59
-   Chọn Share this folder  chọn Directory browsing  chọn OK .




                                                          60
-   Chọn OK  .




                  61
-      Vào Start  Programs  Administrative Tools  Data Sources
    (ODBC)  .




                                                            62
-   Chọn Table System DSN  chọn Add  .




-   Chọn SQL Server  chọn Finish  .


                                           63
-       Name :  nhập “juggybank” (Ở đây tôi chọn “juggybank” làm ví
    dụ)  Server :  chọn máy victim (Ở đây tôi chọn “CEH-LAB”) 
    chọn Next  .




                                                              64
-        Chọn With SQL Server authentication …  Login ID :  nhập vào
    SA (Đây là username admin của SQL Server)  Password :  để trống
    (Vì khi ta cài đặt Microsoft SQL Server để password của SA là rổng) 
    chọn Next  .




-       Change the default database to :  chọn “juggybank” (tên của
    database ta vừa tạo lúc ban đầu)  chọn Next  .




                                                                65
-   Chọn Finish  .




-   Chọn Test Data Source …  .




                                  66
-   Chọn OK  .




-   Chọn OK  .


                  67
-   Chọn OK  .




                  68
-        Đến đây ta chuẩn bị xong phần source Web Application ASP (bị lỗi
               SQL Injection) cho hệ thống victim để phục vụ bài thực hành LAB dưới
               đây .

1.2.       Máy Attack :

       -           Phần này tôi xin giới thiệu một số công cụ được các hacker sử dụng
           phổ biến khi tấn công vào máy chủ Web Server bị dính lỗi SQL Injection .
       -           Xin lưu ý vì số lượng công cụ hỗ trợ khai thác lỗi SQL Injection
           hiện nay trên Internet được phổ biến khá rộng rãi và nhiều chủng loại,
           nhưng đối với bài thực hành LAB dưới đây tôi chỉ giới thiệu vài công cụ
           điển hình .Còn ngoài ra các bạn có thể tham khảo trên Internet hoặc tại các
           diễn đàn về bảo mật .

 1.2.1.           Scan System Web Server – Quét cổng dịch vụ máy chủ Web :

           -      Trong phần scan này tôi giới thiệu 3 công cụ dễ sử dụng nhất là
               Angry IP Scanner ver 2.21, Super Scan ver 3.0 và SQL Scan ver 1.00 .
               • Angry IP Scanner 2.21 : Đây là công cụ dùng để quét 1 dãi (rang ip)
                 IP trên toàn hệ thống mạng .




               • Super Scan 3.0 : Đây là công cụ quét toàn bộ dãi IP và các port đang
                  được open của các IP đó trên toàn bộ hệ thống mạng .



                                                                              69
• SQL Scan 1.00 : Đây cũng là công cụ quét toàn bộ dãi IP và port thì
   do ta chỉ định (ví dụ: 1433 – 1434 port SQL server) trên toàn hệ thống
   mạng .




                                                                70
1.2.2.          Exploit – Khai thác lổ hổng :

         -        Trong phần này tôi giới thiệu cho các bạn 2 công cụ Exploit căn bản
             nhất của lỗi SQL Injection như sau : SQLExec ver 1.0, Shadow
             Database Scan ver 1.0.0.63, THCsql ver 0.1, Netcat, forceSQL và
             SQLdict ver 2.1 .
         -        Vì đây là những công cụ căn bản nhất để Exploit nên các bạn cần
             tìm hiểu thêm về chúng thông qua Internet và các diễn đàn về bảo mật .
         -        Và lưu ý có một số công cụ sử dụng câu lệnh để khai thác lổ hổng
             và không support cho GUI .
             • SQLExec ver1.0 : Đây là công cụ khai thác lỗ hổng của SQL
                Injection, khai thác trực tiếp vào xp_cmdshell .




                                                                            71
• Shadow Database Scan ver 1.0.0.63 : Đây là công cụ quét thăm dò
   các lổi bảo mật của ứng dụng Web và hệ quản trị cơ sở dữ liệu như
   MSSQL Server, MySQL, Oracle, DB2…




• THCsql ver 0.1 : Đây cũng là công cụ khai thác lỗ hổng của SQL
   Injection nhưng không tấn công trực tiếp vào xp_cmdshell .

                                                                72
• Netcat : Đây là một công cụ dùng để kết nối với cổng sau (backdoor)
   trên máy chủ Web bị lỗi .




• forceSQL : Đây là công cụ dùng để crack password username SA
   (System Administrator) của Microsoft SQL Server .Và chỉ hỗ trợ bằng
   câu lệnh .




                                                              73
• SQLdict ver 2.1 : Đây là công cụ dùng để crack password username
   SA của hệ quản trị cơ sở dữ liệu Microsoft SQL Server .Và được hỗ
   trợ sử dụng bằng giao diện .




                                                              74
2.       Phần thực hành LAB :

     •       Nội dung :

         -             SQL Injection là gì ?
         -             Attack SQL Servers – Tấn công trực tiếp vào SQL Server .
         -             Sử dụng các kỹ thuật SQL Injection để xâm nhập trái phép vào hệ
             thống .
         -             Sử dụng công cụ khai thác và tìm kiếm lổ hổng của SQL Server .
         -             Tài liệu tham khảo .
         -             Tóm tắt kết quả .

  2.1.       SQL Injection là gì ?

         -           Khi triển khai hoặc xây dựng các ứng dụng Web trong môi trường
             internet, rất nhiều nhà quản trị (Administrator) hoặc các chính sách của các
             công ty vẫn chủ quan cho rằng việc đảm bảo an toàn, bảo mật cho toàn bộ
             hệ thống máy chủ nhằm giảm thiểu xuống mức thấp nhất khả năng bị tấn
             công từ các hacker chỉ đơn giản là tập trung vào các vấn đề to lớn như hệ
             điều hành, hệ quản trị cơ sở dữ liệu, webserver sẻ được cho chạy ứng
             dụng…mà họ (người quản trị và chính sách của các công ty) quên mất rằng
             ngay những ứng dụng chạy trên đó cũng tiềm ẩn rất nhiều lổ hổng bảo
             mật .Một trong số các lổ hổng bảo mật đó là lỗi SQL Injection, tại Việt Nam
             hiện nay đã qua rồi cái thời mà người quản trị Website, Web Server chỉ làm
             những công việc như diệt virus, malware, w0rm…, cập nhập các bản vá lỗi
             từ các hãng phần mềm hệ thống mà bỏ qua việc quan tâm đến lỗi của các
             ứng dụng Web .Đây chính là nguyên nhân tại sao trong thời gian vừa qua
             không ít các Website của Việt Nam bị tấn công và đa số là đều dựa vào lỗi
             SQL Injection .Vậy SQL Injection là gì ?
         -           SQL Injection là một kỹ thuật cho phép các hacker tấn công và lợi
             dụng lổ 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ỗi của hệ quản trị cơ sở dữ liệu để truyền vào (Injection) và
             thực thi các câu lệnh SQL bất hợp pháp (vấn đề này do người phát triển ứng
             dụng vô tình hoặc sơ suất trong quá trình phát triền ứng dụng không lường
             trước được) .Hậu quả của việc này rất tai hại vì nó cho phép các hacker có
             thể thao tác xóa, hiệu chỉnh , thêm mới …do có toàn quyền trên cơ sở dữ
             liệu của ứng dụng, nguy hiểm hơn là server mà ứng dụng đó đang chạy
             .Loại lỗi này thường xuyên xảy ra trên các ứng dụng web có sử dụng dữ liệu
             được quản lý bằng các hệ quản trị cơ sở dữ liệu như Microsoft SQL Server,
             MySQL, Oracle, DB2 …

  2.2.       Attack SQL Servers – Tấn công trực tiếp vào SQL Server :



                                                                                75
-            Attack SQL Server có thể hiểu sau khi các hacker đã quét thăm dò
    hệ thống máy chủ Web và có được thông tin về máy chủ Web như hệ điều
    hành, Web Server, hệ quản trị cơ sở dữ liệu …và các thông tin về các port
    đang được open trên Web Server .Và lúc này có thể do vài lý do hoặc cũng
    có thể do sở thích mà các hacker không tấn công vào các ứng dụng Web, mà
    họ lại sử dụng các Bug được Publish trên các diễn đàn về bảo mật, tấn công
    trực tiếp vào máy chủ Web đang bị lỗi SQL Injection để có được nhiều
    thông tin hơn hoặc có được quyền quản trị máy chủ Web đang bị lỗi SQL
    Injection trên .
-            Vì vậy ta cần hiểu ở đây, khi máy chủ Web chạy thêm bất cứ một
    dịch vụ nào tất nhiên sẽ open một port nào đó thì đây chính là nguy cơ tiềm
    ẩn bị tấn công từ các hacker .
-            Từ ví dụ dưới đây ta có thể thấy sự nguy hiểm luôn luôn tiềm ẩn từ
    các dịch vụ đang được chạy trên máy chủ Web .Ví dụ dưới đây là sự tấn
    công giữa một máy Attackid (Windows XP SP2) và máy chủ Web (Windows
    2000 Server) đang chạy dịch vụ hệ quản trị cơ sở dữ liệu Microsoft SQL
    Server 2000 Standard .




-             Hacker sẽ thăm dò sơ qua về Website (ví dụ :
    http://athena.com.vn/Sql/client.htm ) .




                                                                      76
-           Hacker sẽ thử kiểm tra xem Website này có sử dụng hệ quản trị cở
    sở dữ liệu không ?




                                                                     77
-            OK  như vậy Website này hiện đang có 1 lỗi SQL Injection trong
    file login.asp tại line 5 .




                                                                     78
-          Hacker lúc này tiếp tục kiểm tra IP của Website này .




-           OK  hacker đã có IP của Website và tiếp tục quét port SQL Server
    của Website (port 1433 - 1434), để đảm bảo rằng port này đang ở trạng thái
    open trên Web Server .


                                                                      79
-            OK  như vậy đến lúc này hacker đã có quá đầy đủ thông tin về
    Web Server đang bị lỗi SQL Injection .
-            Đến đây có thể do nhu cầu tấn công vào ứng dụng Web không còn
    thu hút hacker, họ bắt đầu chuyển qua hành động tấn công trực tiếp vào
    port của SQL Server đang ở trạng thái open .Và sử dụng công cụ SQLExec
    ver 1.0 để tấn công vào máy chủ Web Server bị lỗi SQL Injection .




                                                                   80
-          Hacker thực hiện việc tấn công trực tiếp vào port SQL đang open
    trên Web Server bị lỗi SQL Injection . Với câu lệnh SQLExec <hostname>




-            Hacker thực hiện việc tạo 1 user mới trên máy chủ Web Server và
    tiếp tục đưa user đó vào nhóm Administrators .




                                                                      81
-           Đến đây Attackid đã có toàn quyền quản trị trên máy chủ Web
    Server bằng username vừa tạo ra xong, thông qua lổ hổng của hệ quản trị
    cơ sở dữ liệu tại port 1433 – 1434 .




                                                                     82
-          Đây chính là sự nguy hiểm khi người quản trị cài đặt thêm bất kỳ
           một dịch vụ nào mà chưa rõ về nó, ở đây trong bài thực hành LAB này là
           Microsoft SQL Server 2000 Standard .

2.3.        Sử dụng các kỹ thuật SQL Injection để xâm nhập trái phép vào hệ thống :

         Có bốn dạng tấn công thông thường được các hacker sử dụng như sau : vượt
       qua kiểm tra lúc đăng nhập (authentication bypass), sử dụng câu lệnh INSERT,
       sử dụng câu lệnh Stored – Procedurdes và sử dụng Shutting down .

   2.3.1.         Dạng tấn công vượt qua kiểm tra đăng nhập – authentication bypass :

           -        Với dạng tấn công này, hacker có thể dễ dàng vượt qua cá trang
               đăng nhập nhờ vào lỗi khi ứng dụng Web sử dụng các câu lệnh SQL
               truy vấn, thao tác trên cơ sở dữ liệu của ứng dụng Web .
           -        Xét trên một ví dụ điển hình, thông thường để cho phép người sử
               dụng truy cập vào các trang web được bảo mật, hệ thống ứng dụng Web
               thông thường xây dựng một trang đăng nhập để yêu cầu người sử dụng
               nhập thông tin về username và password .Sau khi người sử dụng nhập
               thông tin vào, hệ thống sẻ kiểm tra username và password có hợp lệ để có
               thể quyết định cho phép hay từ chối thực hiện tiếp .
           -        Trong trường hợp này, người phát triển ứng dụng sử dụng hai
               trang, một trang HTML để hiển thị form nhập liệu và một trang ASP
               dùng để xử lý thông tin nhập từ phía người sử dụng .




                                                                              83
-       Thoạt nhìn, đoạn mã trong trang “login.asp” dường như không
    chứa bất cứ một lổ hổng bảo mật nào .Người sử dụng không thể đăng


                                                                84
nhập hệ thống khi không có username và password hợp lệ .Tuy nhiên,
       đoạn mã này thực sự sự không an toàn và là tiền đề cho một lỗi SQL
       Injection .Đặc biệt, chổ sơ hở là chổ dữ liệu nhập (truyền) vào từ người
       sử dụng lại được dùng xây dựng, thực thi trục tiếp câu lệnh SQL .Chính
       điều này cho phép hacker có thể điều khiển câu truy vấn sẽ được thực
       hiện .

Ví dụ : nếu người sử dụng nhập chuỗi sau vào trong cả 2 ô nhập dữ liệu
username / password của trang “client.htm” là : ‘ OR 1=1 -- .Lúc này câu truy
vấn sẻ được gọi lên và thực thi yêu cầu vùa được gửi tới:




   -        Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web
       và sẻ trả về tất cả các table ghi của USERINFO và đoạn mã tiếp theo xử
       lý người sử dụng đăng nhập bất hợp pháp này như là một người sử dụng
       hợp lệ .
   -        Ví dụ về bypass :
       • Đăng nhập sai username / password .




                                                                       85
• Web Server từ chối đăng nhập .




                                   86
• Đăng nhập bằng chuỗi ‘ OR 1=1 -- .




                                       87
• Web Server chấp nhận đăng nhập trái phép trên .




                                                    88
2.3.2.       Dạng tấn công sử dụng câu lệnh INSERT :

      -       Hình thức tấn công kiểu này sẽ giúp cho hacker sử dụng các câu
          lệnh SQL truy vấn tương tác trực tiếp lên cơ sở dữ liệu của ứng dụng
          Web thông qua các lỗi do người phát triển ứng dụng vô tình mắc phải .
      -       Ta có thể xem xét trên một ví dụ điển hình, hacker có thể đưa thêm
          thông username / password vào cơ sở dữ liệu của dụng Web bằng câu
          INSERT một cách bình thường .Trong khi trước đó cơ sở dữ liệu của
          ứng dụng Web chưa hề có thông tin về username / password mà hacker
          vứa tạo ra .
      -       Trong trường hợp này, ta sẽ sử dụng 2 trang .Một trang HTML để
          hiển thị form nhập dữ liệu và một trang ASP dùng để xử lý thông tin
          nhập từ phía người sử dụng .

  Ví dụ : nếu hacker nhập một chuỗi sau vào trong ô nhập dữ liệu username của
  trang “client2.htm” là : ‘;INSERT INTO USERINFO
  VALUES(‘ATTACK’,’P@SSW0RD’);-- .Lúc này câu truy vấn sẻ được gọi lên
  và thực thi yêu cầu vừa được gửi tới:




                                                                         89
-        Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web
    và sẻ được đưa thêm các thông tin mà hacker vừa truyền vào đến table
    ghi của USERINFO và lúc này tất nhiên hacker đã tự tạo cho mình được
    username / password trong cơ sở dữ liệu của ứng dụng Web .Lúc này
    hacker đương nhiên hợp pháp đăng nhập vào hệ thống bằng username
    của mình như một người hợp lệ .
-        Ví dụ về INSERT :
    • Sử dụng câu lệnh “’;INSERT INTO USERINFO
       VALUES(‘ATTACK’,’P@SSW0RD’);--” .




                                                                90
• Ứng dụng Web từ chối đăng nhập vì sai username / password .




                                                           91
• Lúc này thực hiện đăng nhập bằng username : ATTACK và
  password: P@SSW0RD .




                                                          92
• Ứng dụng Web chấp nhận yêu cầu đăng nhập trên vì username /
   password có trong cơ sở dữ liệu của ứng dụng Web .




                                                          93
• Và đây là cơ sở dữ liệu của table USERINFO trước và sau khi bị
   hacker sử dụng câu lệnh INSERT .




                                                            94
95
2.3.3.        Dạng tấn công sử dụng câu lệnh Stored – Procedures :

         -   Dạng tấn công bằng Stored – Procedures gây tác hại lớn hơn nhiều so
             với hai dạng tấn công trên nếu ứng dụng được thực thi với quyền quản
             trị hệ thống cơ sở dữ liệu “SA” (System Administrator) .
         -   Một ví dụ điển hình, nếu hacker truyền vào câu lệnh như sau có thể tạo
             thêm, thay đổi toàn bộ giao diện của cả một Website thông qua Stored –
             Procedures : “’;EXEC MASTER..XP_CMDSHELL “ECHO YOU –
             ARE – HACKED !!!> C:HEYMAN.TXT”;--” .
         -   Trong trường hợp này, ta vẫn sẽ sử dụng 2 trang .Một trang HTML để
             hiển thị form nhập dữ liệu và một trang ASP dùng để xử lý thông tin
             nhập từ phía người sử dụng .

  Ví dụ : nếu hacker nhập một chuỗi sau vào trong ô nhập dữ liệu username của
  trang “client2.htm” là : ’;EXEC MASTER..XP_CMDSHELL “ECHO YOU –
  ARE – HACKED !!!> C:HEYMAN.TXT”;-- .Lúc này câu truy vấn sẻ được gọi
  lên và thực thi yêu cầu vừa được gửi tới trực tiếp lên XP_CMDSHELL của toàn
  bộ hệ thống của máy chủ Web chứ không riêng gì ứng dụng Web .




                                                                          96
- Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web và
  sẻ được thực thi trực tiếp vào XP_CMDSHELL của toàn bộ hệ thống
  máy chủ Web có chứa ứng dụng Web bị lỗi SQL Injection này .Lúc này
  hacker đương nhiên hợp pháp được quyền tương tác lên máy chủ Web
  thông qua ứng dụng Web bị lỗi SQL này một cách hợp lệ .
- Ví dụ về Stored – Procedures :
 • Sử dụng giao diện của ứng dụng Web bị lỗi SQL Injection .




                                                             97
• Hacker sử dụng câu lệnh “’;EXEC MASTER..XP_CMDSHELL
  “ECHO YOU – ARE – HACKED !!!> C:HEYMAN.TXT”;--” .Đưa
  vào ô nhập username và gửi yêu cầu tới ứng dụng Web .




                                                  98
• Ứng dụng Web sẽ từ chối vì username này không hợp lệ .




                                                           99
• Và đây là file “HEYMAN.TXT” được tạo ra trong ổ C: của máy chủ
   Web .




                                                         100
2.3.4.       Dạng tấn công sử dụng Shutting down :

         -    Đây là dạng tân công mà khi các hacker không còn cách nào khác
            để xâm nhập trái phép vào hệ thống máy chủ Web thông qua ứng
            dụng Web bị lỗi .
         -    Lúc này hacker sẽ truyền vào ô nhập username một đoạn như sau :
            ‘;SHUTDOWN WITH NOWAIT; -- .Để yêu cầu tắt toàn bộ hệ thống
            máy chủ Web .
         - Trong trường hợp này, ta vẫn sẽ sử dụng 2 trang .Một trang HTML để
            hiển thị form nhập dữ liệu và một trang ASP dùng để xử lý thông tin
            nhập từ phía người sử dụng .

 Ví dụ : nếu hacker nhập một chuỗi sau vào trong ô nhập dữ liệu username của
 trang “client2.htm” là : ’;SHUTDOWN WITH NOWAIT;-- .Lúc này câu truy
 vấn sẻ được gọi lên và thực thi yêu cầu vừa được gửi tới trực tiếp lên toàn bộ hệ
 thống của máy chủ Web chứ không riêng gì ứng dụng Web .




                                                                        101
-  Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web
  và sẻ được thực thi trực tiếp vàohệ thống máy chủ Web . Lúc này
  hacker đương nhiên hợp pháp được quyền tương tác lên máy chủ
  Web như tắt hệ quản trị cơ sở dữ liệu Microsoft SQL Server trên máy
  chủ thông qua ứng dụng Web bị lỗi SQL này một cách hợp lệ .
-  Ví dụ về Shutting down :
• Sử dụng giao diện của ứng dụng Web bị lỗi SQL Injection .




                                                            102
• Hacker sử dụng câu lệnh “’; SHUTDOWN WITH NOWAIT;--” .Đưa
  vào ô nhập username và gửi yêu cầu tới ứng dụng Web .




                                                          103
• Ứng dụng Web sẽ từ chối vì username này không hợp lệ .




                                                           104
• Và đây là hệ quản trị cơ sở dữ liệu bị hacker shutdown .




                                                             105
2.4.         Sử dụng công cụ khai thác và tìm kiếm lổ hổng của SQL Server :

       -            Trong phần này tôi sẻ giới thiệu với các bạn một số công cụ cần
           thiết để khai thác, tìm kiếm các lổ hổng của Microsoft SQL Server .
       -            Bên cạnh các công cụ trên, tôi cũng giới thiệu tới các bạn một số
           công cụ dùng để crack password của Microsoft SQL Server .

       Mục đích :

           -        Để các bạn có khái niệm cơ bản về các công cụ khai thác và tìm
               kiếm lổ hổng được các hacker sử dụng .
           -        Và có được cái nhìn từ phía hacker để phòng tránh những lỗi tương
               tự sẽ xảy ra với hệ thống của mình sau này .

    2.4.1.        Công cụ Shadow Database Scan ver 1.0.0.63 :

           -        Giới thiệu với các bạn đây là công cụ quét, thăm dò và tìm kiếm các
               lổ hổng bảo mật của nhiều hệ quản trị cơ sở dữ liệu trong đó có Micosoft
               SQL Server .



                                                                               106
-       Công cụ này sử dụng bằng giao diện nên rất thuận tiện cho người
    dùng .
-       Ta bắt đầu với Shadow Database Scan .




-       Tạo một phiên quét thăm dò  .




                                                                107
-   Chọn Complete Scan  Next  .




                                    108
-   Chọn Add host  .




-   Điền thông số Website ta muốn thăm dò  .




-   Chọn Next  .

                                                109
-   Chọn Scan  .




                    110
111
-       Chờ đợi thông số quét được trả về của chương trình  .




-       Đây là những lỗi mà chương trình quét thăm dò và phát hiện ra trên
    ứng dụng Web .




                                                                 112
-   Quá trình quét thăm dò hoàn tất .




                                        113
2.4.2.       Công cụ THCsql ver 0.1 – Remote root Exploit :

         -    Giới thiệu với các bạn đây là một công cụ dùng để Remote root của
             SQL Server, có thể hiểu đây là một công cụ dùng khai thác và tìm
             kiếm lổ hổng từ hệ thống SQL Server và kết nối tới SQL Sever đó
             bằng cổng sau (backdoor) .
         -    Và lưu ý rằng công cụ này chỉ chạy trong môi truong DOS, nên các
             bạn khi muốn sử dụng công cụ phải chuyển vào môi trường DOS của
             Windows .
         -    Ta bắt đầu với bước kiểm tra IP của SQL Server .




                                                                      114
-    Sử dụng công cụ THCsql để khai thác lổ hổng của SQL Server bằng
    câu lệnh : “thcsql <hostname>” .




-    Như vậy ta đã có được cổng kết nối sau của SQL Server .




                                                               115
-    Ta sử dụng công cụ Netcat để kết nối tới Server và cũng lưu ý Netcat
    cũng chỉ chạy trên môi trường DOS nên muốn sử dụng bạn phải
    chuyển vào môi trường DOS của Windows .




-    Sử dụng câu lệnh sau để kết nối tới cổng sau (backdoor) của SQL
    Server : “nc address port” .




                                                               116
-    Và đến đây ta đã có toàn quyền trên SQL Server, kiểm tra thử IP
    của SQL Server .




                                                              117
2.4.3.       Công cụ forceSQL – Crack password SA :

         -     Giới thiệu với các bạn đây là công cụ dùng để crack password của
             SA (tài khoản quản trị cao nhất của SQL Server) .
         -     Và cũng như công cụ trên vừa giới thiệu, công cụ này chỉ chạy
             trong môi trường DOS .
         -     Ta bắt đầu với bước kiểm tra IP của SQL Server .




         -    Sử dụng công cụ forceSQL để crack password SA của SQL Server
             bằng câu lệnh : forcesql <hostname> <username> -d .


                                                                        118
-    Và đến đây ta đã có thông tin ve password của SA và trong ví dụ này
    password của SA là NULL (rổng) .




                                                               119
2.4.4.       Công cụ SQLdict ver 2.1 – Crack password SA :

         -    Cũng như hai công cụ trên, công cụ này dùng để crack password SA
             của SQL Server .
         -    Nhưng đến đây thì công cụ này thuận tiện hơn hai công cụ trên là
             nó sử dụng bằng giao diện và rất thuân tiện cho người sử dụng .
         -    Ta bắt đầu với bước kiểm tra IP của SQL Server .




         -    Open chương trình crack password SQLdict 2.1 .




                                                                     120
-   Nhập thông tin địa chỉ IP SQL Server, user SA của SQL Sever .




                                                            121
-   Open file thư viện password “word.txt” .




                                               122
-   Ta bắt đầu crack password SA của SQL Server .




                                                    123
-   Đến đây ta đã có được password SA của SQL Server .




                                                         124
2.5.       Tài liệu tham khảo :

       -          O’Reilly SQL Hack .
       -          SQL Injection by Kevin Spett .
       -          SQL Hack by Airscanner .
       -          Blind SQL Injection by Kevin Spett .

2.6.       Tóm tắt kết quả :

       -          Như vậy ta có thể tóm tắt kết quả thu được từ bài thực hành LAB
         như sau .
       -          Một máy chủ Web Server luôn luôn tiềm ẩn nguy cơ bị tấn công
         thông qua các các ứng dụng Web bị lỗi SQL Injection .Từ ứng dụng Web bị
         lỗi SQL Injection, các hacker có thể có được toàn quyền trên máy chủ Web
         Server đang chạy ứng dụng Web bị lỗi này .
       -          Một máy chủ Web Server luôn là nơi chứa đựng các nguy cơ bị tấn
         công từ các dịch vụ đang chạy trên nó, tại ví dụ này nguy cơ bị tấn công là
         từ dịch vụ Microsoft SQL Server .
       -          Ngoài những phương pháp tấn công được các hacker sử dụng bằng
         tay, thì họ cũng có thể sử dụng các công cụ được giới thiệu ở trên làm công
         cụ hỗ trợ cho cuộc tấn công vào máy chủ Web đang chạy ứng dụng Web bị
         lỗi SQL Injection .

                                                                           125

More Related Content

What's hot

Tim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chongTim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chongVu Trung Kien
 
Sql injection bao cao - http://ouo.io/Mqc8L5
Sql injection bao cao - http://ouo.io/Mqc8L5Sql injection bao cao - http://ouo.io/Mqc8L5
Sql injection bao cao - http://ouo.io/Mqc8L5phanleson
 
Kiểm thử bảo mật web
Kiểm thử bảo mật webKiểm thử bảo mật web
Kiểm thử bảo mật webMinh Tri Nguyen
 
Security Bootcamp 2013 owasp top 10- 2013
Security Bootcamp 2013   owasp top 10- 2013Security Bootcamp 2013   owasp top 10- 2013
Security Bootcamp 2013 owasp top 10- 2013Security Bootcamp
 
Sql injection it-slideshares.blogspot.com
Sql injection it-slideshares.blogspot.comSql injection it-slideshares.blogspot.com
Sql injection it-slideshares.blogspot.comphanleson
 
Tấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionTấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionNguyễn Danh Thanh
 
Athena báo cáo thực tập tuần 2
Athena báo cáo thực tập tuần 2Athena báo cáo thực tập tuần 2
Athena báo cáo thực tập tuần 2Luc Cao
 
Tan cong kieu sql injection tac hai va phong tranh vn
Tan cong kieu sql injection   tac hai va phong tranh vnTan cong kieu sql injection   tac hai va phong tranh vn
Tan cong kieu sql injection tac hai va phong tranh vnJenny Nguyen
 
Trung tâm đào tạo
Trung tâm đào tạoTrung tâm đào tạo
Trung tâm đào tạoLuc Cao
 
Web application-security
Web application-securityWeb application-security
Web application-securityVisla Team
 
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)Luc Cao
 
Tan cong
Tan congTan cong
Tan congtoan
 
báo cáo thực tập Athena - tuần1
báo cáo thực tập Athena - tuần1báo cáo thực tập Athena - tuần1
báo cáo thực tập Athena - tuần1Luc Cao
 
Báo cáo system hacking
Báo cáo system hackingBáo cáo system hacking
Báo cáo system hackingHuynh Khang
 

What's hot (19)

SQL injection
SQL injectionSQL injection
SQL injection
 
Tim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chongTim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chong
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 
Bảo mật ứng dụng web
Bảo mật ứng dụng webBảo mật ứng dụng web
Bảo mật ứng dụng web
 
Sql injection bao cao - http://ouo.io/Mqc8L5
Sql injection bao cao - http://ouo.io/Mqc8L5Sql injection bao cao - http://ouo.io/Mqc8L5
Sql injection bao cao - http://ouo.io/Mqc8L5
 
Kiểm thử bảo mật web
Kiểm thử bảo mật webKiểm thử bảo mật web
Kiểm thử bảo mật web
 
Security Bootcamp 2013 owasp top 10- 2013
Security Bootcamp 2013   owasp top 10- 2013Security Bootcamp 2013   owasp top 10- 2013
Security Bootcamp 2013 owasp top 10- 2013
 
Sql injection it-slideshares.blogspot.com
Sql injection it-slideshares.blogspot.comSql injection it-slideshares.blogspot.com
Sql injection it-slideshares.blogspot.com
 
Tấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select unionTấn công sql injection sử dụng câu lệnh select union
Tấn công sql injection sử dụng câu lệnh select union
 
Athena báo cáo thực tập tuần 2
Athena báo cáo thực tập tuần 2Athena báo cáo thực tập tuần 2
Athena báo cáo thực tập tuần 2
 
Tan cong kieu sql injection tac hai va phong tranh vn
Tan cong kieu sql injection   tac hai va phong tranh vnTan cong kieu sql injection   tac hai va phong tranh vn
Tan cong kieu sql injection tac hai va phong tranh vn
 
Trung tâm đào tạo
Trung tâm đào tạoTrung tâm đào tạo
Trung tâm đào tạo
 
Web application-security
Web application-securityWeb application-security
Web application-security
 
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
Báo cáo hàng tuần - Các chuẩn bảo mật web (OWASP)
 
Tan cong
Tan congTan cong
Tan cong
 
SQL Injection
SQL InjectionSQL Injection
SQL Injection
 
Bao caocuoiki
Bao caocuoikiBao caocuoiki
Bao caocuoiki
 
báo cáo thực tập Athena - tuần1
báo cáo thực tập Athena - tuần1báo cáo thực tập Athena - tuần1
báo cáo thực tập Athena - tuần1
 
Báo cáo system hacking
Báo cáo system hackingBáo cáo system hacking
Báo cáo system hacking
 

Similar to Sql injection lab_5477

cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015
 cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015 cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015
cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015laonap166
 
Hoc sql server 2000
Hoc sql server 2000Hoc sql server 2000
Hoc sql server 2000phamhuuai
 
My sql part 1 - installation-_www.key4vip.info
My sql   part 1 - installation-_www.key4vip.infoMy sql   part 1 - installation-_www.key4vip.info
My sql part 1 - installation-_www.key4vip.infolaonap166
 
Devexpress cho asp.net
Devexpress cho asp.netDevexpress cho asp.net
Devexpress cho asp.netthichxoidau
 
Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm nataliej4
 
Mysql Workbench hướng dẫn cài đặt - Video tiếng Việt
Mysql Workbench hướng dẫn cài đặt - Video tiếng ViệtMysql Workbench hướng dẫn cài đặt - Video tiếng Việt
Mysql Workbench hướng dẫn cài đặt - Video tiếng ViệtKhanhPham
 
Cài đặt exchange server 2013 cùng domain với exchange server 2007
Cài đặt exchange server 2013 cùng domain với exchange server 2007Cài đặt exchange server 2013 cùng domain với exchange server 2007
Cài đặt exchange server 2013 cùng domain với exchange server 2007laonap166
 
Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5Thanh Tuan Ngo
 
Báo cáo thực tập hàng tuần
Báo cáo thực tập hàng tuầnBáo cáo thực tập hàng tuần
Báo cáo thực tập hàng tuầnlan huynh
 
Part 33 hacking - windows server update service - wsus -www.key4_vip.info
Part 33   hacking - windows server update service - wsus -www.key4_vip.infoPart 33   hacking - windows server update service - wsus -www.key4_vip.info
Part 33 hacking - windows server update service - wsus -www.key4_vip.infolaonap166
 
Một số điều vmware workstation có thể bạn chưa biết
Một số điều vmware workstation có thể bạn chưa biếtMột số điều vmware workstation có thể bạn chưa biết
Một số điều vmware workstation có thể bạn chưa biếtlaonap166
 
Tailieu.vncty.com giao-trinh-sql-2000
Tailieu.vncty.com   giao-trinh-sql-2000Tailieu.vncty.com   giao-trinh-sql-2000
Tailieu.vncty.com giao-trinh-sql-2000Trần Đức Anh
 
Tu hoc microsoft asp.net
Tu hoc microsoft asp.netTu hoc microsoft asp.net
Tu hoc microsoft asp.netnamhh1984ag
 

Similar to Sql injection lab_5477 (20)

cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015
 cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015 cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015
cac tinh huong thuong gap khi cai dat va su dung misa sme.net 2015
 
Hoc sql server 2000
Hoc sql server 2000Hoc sql server 2000
Hoc sql server 2000
 
My sql part 1 - installation-_www.key4vip.info
My sql   part 1 - installation-_www.key4vip.infoMy sql   part 1 - installation-_www.key4vip.info
My sql part 1 - installation-_www.key4vip.info
 
Devexpress cho asp.net
Devexpress cho asp.netDevexpress cho asp.net
Devexpress cho asp.net
 
Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
Tìm Hiểu Giải Pháp Ảo Hóa Mã Nguồn Mở KVM Và Triển Khai Thử Nghiệm
 
Mysql Workbench hướng dẫn cài đặt - Video tiếng Việt
Mysql Workbench hướng dẫn cài đặt - Video tiếng ViệtMysql Workbench hướng dẫn cài đặt - Video tiếng Việt
Mysql Workbench hướng dẫn cài đặt - Video tiếng Việt
 
Cài đặt exchange server 2013 cùng domain với exchange server 2007
Cài đặt exchange server 2013 cùng domain với exchange server 2007Cài đặt exchange server 2013 cùng domain với exchange server 2007
Cài đặt exchange server 2013 cùng domain với exchange server 2007
 
Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5
 
Báo cáo thực tập hàng tuần
Báo cáo thực tập hàng tuầnBáo cáo thực tập hàng tuần
Báo cáo thực tập hàng tuần
 
Tu hoc SQL 2000
Tu hoc SQL 2000Tu hoc SQL 2000
Tu hoc SQL 2000
 
Part 33 hacking - windows server update service - wsus -www.key4_vip.info
Part 33   hacking - windows server update service - wsus -www.key4_vip.infoPart 33   hacking - windows server update service - wsus -www.key4_vip.info
Part 33 hacking - windows server update service - wsus -www.key4_vip.info
 
Một số điều vmware workstation có thể bạn chưa biết
Một số điều vmware workstation có thể bạn chưa biếtMột số điều vmware workstation có thể bạn chưa biết
Một số điều vmware workstation có thể bạn chưa biết
 
Tailieu.vncty.com giao-trinh-sql-2000
Tailieu.vncty.com   giao-trinh-sql-2000Tailieu.vncty.com   giao-trinh-sql-2000
Tailieu.vncty.com giao-trinh-sql-2000
 
Tu hoc microsoft asp.net
Tu hoc microsoft asp.netTu hoc microsoft asp.net
Tu hoc microsoft asp.net
 
Cac bai tap .net
Cac bai tap .netCac bai tap .net
Cac bai tap .net
 
Lab 10 web server
Lab 10 web server Lab 10 web server
Lab 10 web server
 
Gioi thieu joomla
Gioi thieu joomlaGioi thieu joomla
Gioi thieu joomla
 
Test2
Test2Test2
Test2
 
Test2
Test2Test2
Test2
 
Aspnet 3.5 -06
Aspnet 3.5 -06Aspnet 3.5 -06
Aspnet 3.5 -06
 

Recently uploaded

Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx22146042
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
 

Sql injection lab_5477

  • 1. 1
  • 2. LỜI NÓI ĐẦU Tài liệu này dành cho bất cứ những ai quan tâm tới bảo mật thông tin cho ứng dụng Web có sử dụng cơ sở dữ liệu, đặc biệt dành cho các quản trị Website, quản trị máy chủ Web Server có chạy các ứng dụng Web có nguy cơ tiềm ẩn và cũng là tài liệu tham khảo rất tốt cho các bạn đang theo học về quản trị mạng .Tài liệu này sẽ hướng các bạn làm thế nào để có được một hệ thống giả lập về các lỗi SQL Injection của ứng dụng Web, cách sử dụng các công cụ hỗ trợ trong việc tấn công vào các ứng dụng Web bị lỗi SQL Injection . Vì đây là tài liệu hướng dẫn về các phương pháp tấn công của hacker vào các ứng dụng Web bị lỗi SQL Injection, phương châm của chúng tôi là “Hack không phải là phá hoại – Hack để bảo mật hơn !” .Nên chúng tôi xin nhắc nhở các bạn đây chỉ là tài liệu có tính chất tham khảo thực hành LAB, chúng tôi không chịu trách nhiệm việc các bạn dùng kiến thức này vào việc vi phạm pháp luật nhà nước Công Hòa Xã Hội Chủ Nghĩa Việt Nam . Cuối cùng thì chân thành cám ơn tài liệu của các tác giả O’Reilly, Kevin Spett, AirScanner và các diễn đàn về bảo mật đã cung cấp tài liệu để chúng tôi hoàn thành cuốn tài liệu hướng dẫn thực hành LAB này . Mọi thắc mắc xin gửi về : anhducb@gmail.com 2
  • 3. Giới thiệu chung : Nội dung của phần LAB của module 14 – SQL Injection thể hiện rất rõ phương châm “Hack để bảo mật hơn !”, module này bao gồm chuyên về những phương thức và kỹ năng thực hành thâm nhập hệ thống như : quét lỗi bảo mật, truyền các lệnh thực thi trái phép, xâm nhập hệ thống máy chủ Web …của hacker để người quản trị có cái nhìn tổng quan từ phía những hacker để thực hiện chế độ bảo mật cho Web site của mình một cách tốt hơn . Vì lý do các lỗi bảo mật về SQL Injection thì rất nhiều các ứng dụng Web bị mắc phải .Do đó trong giới hạn của tài liệu này tôi lấy một ví dụ điển hình về lỗi SQL Injection đó là lỗi ứng dụng Web ASP (Active Server Pages) làm ví dụ để hướng dẫn trong phần LAB của module này . Mục tiêu : Tham gia quản trị bảo mật hệ thống máy chủ chạy các ứng dụng Web có sử dụng cơ sở dữ liệu ở các tổ chức, công ty, xí nghiệp, cơ quan . - Nắm vững các phương pháp khảo sát, đánh giá mức độ an ninh mạng . - Nắm vững các kỹ năng về kiến thức, thực hành và kinh nghiệm Ethical Hacking . - Xác định được nguyên nhân, nhận diện chính xác đối tượng, động cơ, cách thức của kẻ tấn công xâm nhập dữ liệu hệ thống .Xác định mục tiêu, mối nguy hiểm thường trực về an ninh ứng dụng Web của tổ chức . - Phương thức thiết kế hệ thống và ứng dụng Web theo hướng bảo mật .Phương thức đối phó với sự cố khi xảy ra . - Hiểu rõ khái niệm, phương thức hoạt động của các hacker . - Biết sử dụng phương pháp và các công cụ cơ bản để kiểm tra an ninh bảo mật trên ứng dụng Web của tổ chức . Điều kiện : - Có kiến thức về Hệ điều hành mạng Windows (tương đương MCSA) . - Có kiến thức về Hệ quản trị cớ sở dữ liệu Microsoft SQL Server (tương đương MCDBA) . - Có kiến thức về lập trình Web : HTML, ASP, PHP . - Có kiến thức về Anh ngữ . - Quan tâm đến bảo mật thông tin trên ứng dụng Web . 3
  • 4. Nội dung : • Phần chuẩn bị cho bài thực hành LAB . • Phần thực hành LAB . 4
  • 5. 1. Phần chuẩn bị cho bài thực hành LAB: - Phần này yêu cầu các bạn sử dụng 2 hệ thống PC để có thể thực hành bài LAB và thấy được hiệu quả của những bài thực hành . - Tốt nhất các bạn nên sử dụng công cụ tạo máy ảo(VMware Workstation, Micsoft Virtual PC) để có thể thực hiện tốt phần thực hành LAB . - Ở đây tôi sẽ đưa ra mô hình thực hành như sau : - Trong đó máy Attack sẽ sử dụng Windows XP sp2 và máy chủ Web là victim sử dụng Windows 2000 Server . 1.1. Máy chủ Web Server victim : 1.1.1. Một hệ điều hành (OS) Microsoft Windows 2000 Server : - Tôi sử dụng phiên bản Windows 2000 Server để hướng dẫn các bạn thực hành bài LAB này cho thuận tiện . - Việc làm sao để có hệ điều hành trên tất nhiên các bạn đã biết tôi sẽ không nhắc tới, bên cạnh đó ta cần có 1 Web Server chạy trên nền Web Server IIS 5.0 (Internet Information Service) .Phần này các bạn đã học qua môn MCSA (Microsoft Certified System Administrator ) tất nhiên phải biết cách cài đặt gói phần mềm Web Server này ở đâu ra . 5
  • 6. - Ở đây tôi xin nhắc lại để những bạn nào chưa biết có thể biết cách cài đặt gói phần mềm này để phục vụ cho bài thực hành LAB dưới đây . - Vào Start  Setting  Control Panel  Add / Remove Programs . - Chọn Add / Remove Windows Components . - Chọn dấu chọn gói Internet Information Services (IIS), gói phần mềm này sẽ chạy được các ứng dụng Web Application ASP . 6
  • 7. - Chọn Next  . 7
  • 8. - Chờ hệ thống cài đặt gói phần mềm IIS vào . 8
  • 9. - Chọn Finish . - Đến đây ta đã chuẩn bị xong phần Web Server cho hệ thống victim để phục vụ bài thực hành LAB dưới đây . 1.1.2. Một hệ quản trị cơ sở dữ liệu (database) Microsoft SQL Server 2000 : - Tôi sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000 Standard để hướng dẫn cho các bạn bài thực hành LAB này cho thuận tiện . - Việc làm sao để có và cách thức cài đặt gói phần mềm hệ quản trị cơ sở dữ liệu Microsoft SQL Server thì bạn nào đã học qua MCDBA (Micosoft Certified Database Administrator ) tất nhiên phải biết cách cài đặt và sử dụng như thế nào . - Ở đây tôi xin nhắc lại một cách cơ bản để các bạn chưa biết có thể tự mình cài đặt gói phần mềm này để phục vụ cho bài thực hành LAB dưới đây . - Chọn file  setup.bat (trong thư mục gốc cài đặt) . 9
  • 10. - Chọn Next  . 10
  • 11. - Chọn Local Computer  chọn Next  . 11
  • 12. - Chọn Create a new instance of SQL Server, or install Client Tools  chọn Next  . 12
  • 13. - Chọn Next  . 13
  • 14. - Chọn Server and Client Tools  chọn Next  . 14
  • 15. - Chọn Yes  . 15
  • 16. - Điền CD key vào và chọn Next  . 16
  • 17. - Để mặc định Default  chọn Next  . 17
  • 18. - Chọn Custom  chọn Next  . 18
  • 19. - Chọn Next  . 19
  • 20. - Chọn Use the same account …  chọn Use the Local System account  chọn Next  . 20
  • 21. - Chọn Mixed Mode (Windows Authentication and SQL Server Authentication)  chọn Blank Password (Chú ý : do ở đây làm thực hành LAB tôi sẽ để password rổng, trên thực tế không ai làm điều này !)  Chọn Next  . 21
  • 22. - Chọn Next  . 22
  • 23. - Chọn Muti – Protocol  chọn Enable Multi – Protocol Encryption  chọn Next  . (Chú ý : Các bạn hãy chú ý và nhớ port number của Microsoft SQL Server “1433” để phục vụ cho bài thực hành LAB dưới đây) . 23
  • 24. - Chọn Next  . 24
  • 25. - Chọn Per Seat for :  nhập vào 10 (Ở đây tôi chọn là 10)  chọn Continue  . 25
  • 26. - Chờ trong giây lát để hệ thống cài đặt gói phần mềm vào  . 26
  • 27. 27
  • 28. - Chọn Finish  . 28
  • 29. - Đến đây ta chuẩn bị xong phần Microsoft SQL Server cho hệ thống victim để phục vụ bài thực hành LAB dưới đây . 1.1.3. Một source Web Application bị lỗi SQL Injection : - Tôi sử dụng một bộ source Web Application ASP bị lỗi SQL Injection của “Juggy Bank” để hướng dẫn các bạn chuẩn bị cho bài thực hành LAB này một cách thuận tiện . - Vào Start  Programs  Microsoft SQL Server  Enterprise Manager  . 29
  • 30. - Start SQL  . 30
  • 31. - Vào Start  Programs  Microsoft SQL Server  Query Analyzer . 31
  • 32. - Chọn SQL Server Machine (Ở đây tôi chọn máy victim vừa cài đặt xong)  OK  . 32
  • 33. - Import dữ liệu database vào SQL Server 2000  File  Open (Ctrl + Shift + O)  đường dẫn đến thư mục source Web Application (Ví dụ : DesktopSqldata)  chọn “juggybank.sql”  Open . 33
  • 34. - Execute query (F5)  Close . 34
  • 35. 35
  • 36. - Click chuột phải  chọn All tasks  chọn Import data  chọn Next  36
  • 37. - Data Source :  chọn Text File  . - File name :  đường dẫn đến thư mục source Web Application (Ví dụ : DesktopSqldata)  chọn “juggybank-userinfo-data.txt”  Open . 37
  • 38. - Chọn Next  . 38
  • 39. - Chọn Next  . 39
  • 40. - Chọn Next  . 40
  • 41. - Database :  chọn “juggybank”  chọn Next  . 41
  • 42. - Destination :  chọn “userinfo”  chọn Next  . 42
  • 43. - Chọn Next  . 43
  • 44. - Chọn Finish  . 44
  • 45. - Chọn OK  . 45
  • 46. - Chọn Done  . 46
  • 47. - Click chuột phải  chọn All tasks  chọn Import data  chọn Next  47
  • 48. 48
  • 49. - Data Source :  chọn Text File  . - File name :  đường dẫn đến thư mục source Web Application (Ví dụ : DesktopSqldata)  chọn “juggybank-usercreditcard-data.txt”  Open 49
  • 50. - Chọn Next  . 50
  • 51. - Chọn Next  . 51
  • 52. - Chọn Next  . 52
  • 53. - Database :  chọn “juggybank”  chọn Next  . 53
  • 54. - Destination :  chọn “Creditcard”  chọn Next  . 54
  • 55. - Chọn Next  . 55
  • 56. - Chọn Finish  . 56
  • 57. - Chọn OK  . 57
  • 58. - Chọn Done  . 58
  • 59. - Chọn thư mục source Web Application (Ví dụ : DesktopSql)  click chuột phải  chọn Properties  chọn Tab Web Sharing  . 59
  • 60. - Chọn Share this folder  chọn Directory browsing  chọn OK . 60
  • 61. - Chọn OK  . 61
  • 62. - Vào Start  Programs  Administrative Tools  Data Sources (ODBC)  . 62
  • 63. - Chọn Table System DSN  chọn Add  . - Chọn SQL Server  chọn Finish  . 63
  • 64. - Name :  nhập “juggybank” (Ở đây tôi chọn “juggybank” làm ví dụ)  Server :  chọn máy victim (Ở đây tôi chọn “CEH-LAB”)  chọn Next  . 64
  • 65. - Chọn With SQL Server authentication …  Login ID :  nhập vào SA (Đây là username admin của SQL Server)  Password :  để trống (Vì khi ta cài đặt Microsoft SQL Server để password của SA là rổng)  chọn Next  . - Change the default database to :  chọn “juggybank” (tên của database ta vừa tạo lúc ban đầu)  chọn Next  . 65
  • 66. - Chọn Finish  . - Chọn Test Data Source …  . 66
  • 67. - Chọn OK  . - Chọn OK  . 67
  • 68. - Chọn OK  . 68
  • 69. - Đến đây ta chuẩn bị xong phần source Web Application ASP (bị lỗi SQL Injection) cho hệ thống victim để phục vụ bài thực hành LAB dưới đây . 1.2. Máy Attack : - Phần này tôi xin giới thiệu một số công cụ được các hacker sử dụng phổ biến khi tấn công vào máy chủ Web Server bị dính lỗi SQL Injection . - Xin lưu ý vì số lượng công cụ hỗ trợ khai thác lỗi SQL Injection hiện nay trên Internet được phổ biến khá rộng rãi và nhiều chủng loại, nhưng đối với bài thực hành LAB dưới đây tôi chỉ giới thiệu vài công cụ điển hình .Còn ngoài ra các bạn có thể tham khảo trên Internet hoặc tại các diễn đàn về bảo mật . 1.2.1. Scan System Web Server – Quét cổng dịch vụ máy chủ Web : - Trong phần scan này tôi giới thiệu 3 công cụ dễ sử dụng nhất là Angry IP Scanner ver 2.21, Super Scan ver 3.0 và SQL Scan ver 1.00 . • Angry IP Scanner 2.21 : Đây là công cụ dùng để quét 1 dãi (rang ip) IP trên toàn hệ thống mạng . • Super Scan 3.0 : Đây là công cụ quét toàn bộ dãi IP và các port đang được open của các IP đó trên toàn bộ hệ thống mạng . 69
  • 70. • SQL Scan 1.00 : Đây cũng là công cụ quét toàn bộ dãi IP và port thì do ta chỉ định (ví dụ: 1433 – 1434 port SQL server) trên toàn hệ thống mạng . 70
  • 71. 1.2.2. Exploit – Khai thác lổ hổng : - Trong phần này tôi giới thiệu cho các bạn 2 công cụ Exploit căn bản nhất của lỗi SQL Injection như sau : SQLExec ver 1.0, Shadow Database Scan ver 1.0.0.63, THCsql ver 0.1, Netcat, forceSQL và SQLdict ver 2.1 . - Vì đây là những công cụ căn bản nhất để Exploit nên các bạn cần tìm hiểu thêm về chúng thông qua Internet và các diễn đàn về bảo mật . - Và lưu ý có một số công cụ sử dụng câu lệnh để khai thác lổ hổng và không support cho GUI . • SQLExec ver1.0 : Đây là công cụ khai thác lỗ hổng của SQL Injection, khai thác trực tiếp vào xp_cmdshell . 71
  • 72. • Shadow Database Scan ver 1.0.0.63 : Đây là công cụ quét thăm dò các lổi bảo mật của ứng dụng Web và hệ quản trị cơ sở dữ liệu như MSSQL Server, MySQL, Oracle, DB2… • THCsql ver 0.1 : Đây cũng là công cụ khai thác lỗ hổng của SQL Injection nhưng không tấn công trực tiếp vào xp_cmdshell . 72
  • 73. • Netcat : Đây là một công cụ dùng để kết nối với cổng sau (backdoor) trên máy chủ Web bị lỗi . • forceSQL : Đây là công cụ dùng để crack password username SA (System Administrator) của Microsoft SQL Server .Và chỉ hỗ trợ bằng câu lệnh . 73
  • 74. • SQLdict ver 2.1 : Đây là công cụ dùng để crack password username SA của hệ quản trị cơ sở dữ liệu Microsoft SQL Server .Và được hỗ trợ sử dụng bằng giao diện . 74
  • 75. 2. Phần thực hành LAB : • Nội dung : - SQL Injection là gì ? - Attack SQL Servers – Tấn công trực tiếp vào SQL Server . - Sử dụng các kỹ thuật SQL Injection để xâm nhập trái phép vào hệ thống . - Sử dụng công cụ khai thác và tìm kiếm lổ hổng của SQL Server . - Tài liệu tham khảo . - Tóm tắt kết quả . 2.1. SQL Injection là gì ? - Khi triển khai hoặc xây dựng các ứng dụng Web trong môi trường internet, rất nhiều nhà quản trị (Administrator) hoặc các chính sách của các công ty vẫn chủ quan cho rằng việc đảm bảo an toàn, bảo mật cho toàn bộ hệ thống máy chủ nhằm giảm thiểu xuống mức thấp nhất khả năng bị tấn công từ các hacker chỉ đơn giản là tập trung vào các vấn đề to lớn như hệ điều hành, hệ quản trị cơ sở dữ liệu, webserver sẻ được cho chạy ứng dụng…mà họ (người quản trị và chính sách của các công ty) quên mất rằng ngay những ứng dụng chạy trên đó cũng tiềm ẩn rất nhiều lổ hổng bảo mật .Một trong số các lổ hổng bảo mật đó là lỗi SQL Injection, tại Việt Nam hiện nay đã qua rồi cái thời mà người quản trị Website, Web Server chỉ làm những công việc như diệt virus, malware, w0rm…, cập nhập các bản vá lỗi từ các hãng phần mềm hệ thống mà bỏ qua việc quan tâm đến lỗi của các ứng dụng Web .Đây chính là nguyên nhân tại sao trong thời gian vừa qua không ít các Website của Việt Nam bị tấn công và đa số là đều dựa vào lỗi SQL Injection .Vậy SQL Injection là gì ? - SQL Injection là một kỹ thuật cho phép các hacker tấn công và lợi dụng lổ 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ỗi của hệ quản trị cơ sở dữ liệu để truyền vào (Injection) và thực thi các câu lệnh SQL bất hợp pháp (vấn đề này do người phát triển ứng dụng vô tình hoặc sơ suất trong quá trình phát triền ứng dụng không lường trước được) .Hậu quả của việc này rất tai hại vì nó cho phép các hacker có thể thao tác xóa, hiệu chỉnh , thêm mới …do có toàn quyền trên cơ sở dữ liệu của ứng dụng, nguy hiểm hơn là server mà ứng dụng đó đang chạy .Loại lỗi này thường xuyên xảy ra trên các ứng dụng web có sử dụng dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như Microsoft SQL Server, MySQL, Oracle, DB2 … 2.2. Attack SQL Servers – Tấn công trực tiếp vào SQL Server : 75
  • 76. - Attack SQL Server có thể hiểu sau khi các hacker đã quét thăm dò hệ thống máy chủ Web và có được thông tin về máy chủ Web như hệ điều hành, Web Server, hệ quản trị cơ sở dữ liệu …và các thông tin về các port đang được open trên Web Server .Và lúc này có thể do vài lý do hoặc cũng có thể do sở thích mà các hacker không tấn công vào các ứng dụng Web, mà họ lại sử dụng các Bug được Publish trên các diễn đàn về bảo mật, tấn công trực tiếp vào máy chủ Web đang bị lỗi SQL Injection để có được nhiều thông tin hơn hoặc có được quyền quản trị máy chủ Web đang bị lỗi SQL Injection trên . - Vì vậy ta cần hiểu ở đây, khi máy chủ Web chạy thêm bất cứ một dịch vụ nào tất nhiên sẽ open một port nào đó thì đây chính là nguy cơ tiềm ẩn bị tấn công từ các hacker . - Từ ví dụ dưới đây ta có thể thấy sự nguy hiểm luôn luôn tiềm ẩn từ các dịch vụ đang được chạy trên máy chủ Web .Ví dụ dưới đây là sự tấn công giữa một máy Attackid (Windows XP SP2) và máy chủ Web (Windows 2000 Server) đang chạy dịch vụ hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000 Standard . - Hacker sẽ thăm dò sơ qua về Website (ví dụ : http://athena.com.vn/Sql/client.htm ) . 76
  • 77. - Hacker sẽ thử kiểm tra xem Website này có sử dụng hệ quản trị cở sở dữ liệu không ? 77
  • 78. - OK  như vậy Website này hiện đang có 1 lỗi SQL Injection trong file login.asp tại line 5 . 78
  • 79. - Hacker lúc này tiếp tục kiểm tra IP của Website này . - OK  hacker đã có IP của Website và tiếp tục quét port SQL Server của Website (port 1433 - 1434), để đảm bảo rằng port này đang ở trạng thái open trên Web Server . 79
  • 80. - OK  như vậy đến lúc này hacker đã có quá đầy đủ thông tin về Web Server đang bị lỗi SQL Injection . - Đến đây có thể do nhu cầu tấn công vào ứng dụng Web không còn thu hút hacker, họ bắt đầu chuyển qua hành động tấn công trực tiếp vào port của SQL Server đang ở trạng thái open .Và sử dụng công cụ SQLExec ver 1.0 để tấn công vào máy chủ Web Server bị lỗi SQL Injection . 80
  • 81. - Hacker thực hiện việc tấn công trực tiếp vào port SQL đang open trên Web Server bị lỗi SQL Injection . Với câu lệnh SQLExec <hostname> - Hacker thực hiện việc tạo 1 user mới trên máy chủ Web Server và tiếp tục đưa user đó vào nhóm Administrators . 81
  • 82. - Đến đây Attackid đã có toàn quyền quản trị trên máy chủ Web Server bằng username vừa tạo ra xong, thông qua lổ hổng của hệ quản trị cơ sở dữ liệu tại port 1433 – 1434 . 82
  • 83. - Đây chính là sự nguy hiểm khi người quản trị cài đặt thêm bất kỳ một dịch vụ nào mà chưa rõ về nó, ở đây trong bài thực hành LAB này là Microsoft SQL Server 2000 Standard . 2.3. Sử dụng các kỹ thuật SQL Injection để xâm nhập trái phép vào hệ thống : Có bốn dạng tấn công thông thường được các hacker sử dụng như sau : vượt qua kiểm tra lúc đăng nhập (authentication bypass), sử dụng câu lệnh INSERT, sử dụng câu lệnh Stored – Procedurdes và sử dụng Shutting down . 2.3.1. Dạng tấn công vượt qua kiểm tra đăng nhập – authentication bypass : - Với dạng tấn công này, hacker có thể dễ dàng vượt qua cá trang đăng nhập nhờ vào lỗi khi ứng dụng Web sử dụng các câu lệnh SQL truy vấn, thao tác trên cơ sở dữ liệu của ứng dụng Web . - Xét trên một ví dụ điển hình, thông thường để cho phép người sử dụng truy cập vào các trang web được bảo mật, hệ thống ứng dụng Web thông thường xây dựng một trang đăng nhập để yêu cầu người sử dụng nhập thông tin về username và password .Sau khi người sử dụng nhập thông tin vào, hệ thống sẻ kiểm tra username và password có hợp lệ để có thể quyết định cho phép hay từ chối thực hiện tiếp . - Trong trường hợp này, người phát triển ứng dụng sử dụng hai trang, một trang HTML để hiển thị form nhập liệu và một trang ASP dùng để xử lý thông tin nhập từ phía người sử dụng . 83
  • 84. - Thoạt nhìn, đoạn mã trong trang “login.asp” dường như không chứa bất cứ một lổ hổng bảo mật nào .Người sử dụng không thể đăng 84
  • 85. nhập hệ thống khi không có username và password hợp lệ .Tuy nhiên, đoạn mã này thực sự sự không an toàn và là tiền đề cho một lỗi SQL Injection .Đặc biệt, chổ sơ hở là chổ dữ liệu nhập (truyền) vào từ người sử dụng lại được dùng xây dựng, thực thi trục tiếp câu lệnh SQL .Chính điều này cho phép hacker có thể điều khiển câu truy vấn sẽ được thực hiện . Ví dụ : nếu người sử dụng nhập chuỗi sau vào trong cả 2 ô nhập dữ liệu username / password của trang “client.htm” là : ‘ OR 1=1 -- .Lúc này câu truy vấn sẻ được gọi lên và thực thi yêu cầu vùa được gửi tới: - Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web và sẻ trả về tất cả các table ghi của USERINFO và đoạn mã tiếp theo xử lý người sử dụng đăng nhập bất hợp pháp này như là một người sử dụng hợp lệ . - Ví dụ về bypass : • Đăng nhập sai username / password . 85
  • 86. • Web Server từ chối đăng nhập . 86
  • 87. • Đăng nhập bằng chuỗi ‘ OR 1=1 -- . 87
  • 88. • Web Server chấp nhận đăng nhập trái phép trên . 88
  • 89. 2.3.2. Dạng tấn công sử dụng câu lệnh INSERT : - Hình thức tấn công kiểu này sẽ giúp cho hacker sử dụng các câu lệnh SQL truy vấn tương tác trực tiếp lên cơ sở dữ liệu của ứng dụng Web thông qua các lỗi do người phát triển ứng dụng vô tình mắc phải . - Ta có thể xem xét trên một ví dụ điển hình, hacker có thể đưa thêm thông username / password vào cơ sở dữ liệu của dụng Web bằng câu INSERT một cách bình thường .Trong khi trước đó cơ sở dữ liệu của ứng dụng Web chưa hề có thông tin về username / password mà hacker vứa tạo ra . - Trong trường hợp này, ta sẽ sử dụng 2 trang .Một trang HTML để hiển thị form nhập dữ liệu và một trang ASP dùng để xử lý thông tin nhập từ phía người sử dụng . Ví dụ : nếu hacker nhập một chuỗi sau vào trong ô nhập dữ liệu username của trang “client2.htm” là : ‘;INSERT INTO USERINFO VALUES(‘ATTACK’,’P@SSW0RD’);-- .Lúc này câu truy vấn sẻ được gọi lên và thực thi yêu cầu vừa được gửi tới: 89
  • 90. - Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web và sẻ được đưa thêm các thông tin mà hacker vừa truyền vào đến table ghi của USERINFO và lúc này tất nhiên hacker đã tự tạo cho mình được username / password trong cơ sở dữ liệu của ứng dụng Web .Lúc này hacker đương nhiên hợp pháp đăng nhập vào hệ thống bằng username của mình như một người hợp lệ . - Ví dụ về INSERT : • Sử dụng câu lệnh “’;INSERT INTO USERINFO VALUES(‘ATTACK’,’P@SSW0RD’);--” . 90
  • 91. • Ứng dụng Web từ chối đăng nhập vì sai username / password . 91
  • 92. • Lúc này thực hiện đăng nhập bằng username : ATTACK và password: P@SSW0RD . 92
  • 93. • Ứng dụng Web chấp nhận yêu cầu đăng nhập trên vì username / password có trong cơ sở dữ liệu của ứng dụng Web . 93
  • 94. • Và đây là cơ sở dữ liệu của table USERINFO trước và sau khi bị hacker sử dụng câu lệnh INSERT . 94
  • 95. 95
  • 96. 2.3.3. Dạng tấn công sử dụng câu lệnh Stored – Procedures : - Dạng tấn công bằng Stored – Procedures gây tác hại lớn hơn nhiều so với hai dạng tấn công trên nếu ứng dụng được thực thi với quyền quản trị hệ thống cơ sở dữ liệu “SA” (System Administrator) . - Một ví dụ điển hình, nếu hacker truyền vào câu lệnh như sau có thể tạo thêm, thay đổi toàn bộ giao diện của cả một Website thông qua Stored – Procedures : “’;EXEC MASTER..XP_CMDSHELL “ECHO YOU – ARE – HACKED !!!> C:HEYMAN.TXT”;--” . - Trong trường hợp này, ta vẫn sẽ sử dụng 2 trang .Một trang HTML để hiển thị form nhập dữ liệu và một trang ASP dùng để xử lý thông tin nhập từ phía người sử dụng . Ví dụ : nếu hacker nhập một chuỗi sau vào trong ô nhập dữ liệu username của trang “client2.htm” là : ’;EXEC MASTER..XP_CMDSHELL “ECHO YOU – ARE – HACKED !!!> C:HEYMAN.TXT”;-- .Lúc này câu truy vấn sẻ được gọi lên và thực thi yêu cầu vừa được gửi tới trực tiếp lên XP_CMDSHELL của toàn bộ hệ thống của máy chủ Web chứ không riêng gì ứng dụng Web . 96
  • 97. - Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web và sẻ được thực thi trực tiếp vào XP_CMDSHELL của toàn bộ hệ thống máy chủ Web có chứa ứng dụng Web bị lỗi SQL Injection này .Lúc này hacker đương nhiên hợp pháp được quyền tương tác lên máy chủ Web thông qua ứng dụng Web bị lỗi SQL này một cách hợp lệ . - Ví dụ về Stored – Procedures : • Sử dụng giao diện của ứng dụng Web bị lỗi SQL Injection . 97
  • 98. • Hacker sử dụng câu lệnh “’;EXEC MASTER..XP_CMDSHELL “ECHO YOU – ARE – HACKED !!!> C:HEYMAN.TXT”;--” .Đưa vào ô nhập username và gửi yêu cầu tới ứng dụng Web . 98
  • 99. • Ứng dụng Web sẽ từ chối vì username này không hợp lệ . 99
  • 100. • Và đây là file “HEYMAN.TXT” được tạo ra trong ổ C: của máy chủ Web . 100
  • 101. 2.3.4. Dạng tấn công sử dụng Shutting down : - Đây là dạng tân công mà khi các hacker không còn cách nào khác để xâm nhập trái phép vào hệ thống máy chủ Web thông qua ứng dụng Web bị lỗi . - Lúc này hacker sẽ truyền vào ô nhập username một đoạn như sau : ‘;SHUTDOWN WITH NOWAIT; -- .Để yêu cầu tắt toàn bộ hệ thống máy chủ Web . - Trong trường hợp này, ta vẫn sẽ sử dụng 2 trang .Một trang HTML để hiển thị form nhập dữ liệu và một trang ASP dùng để xử lý thông tin nhập từ phía người sử dụng . Ví dụ : nếu hacker nhập một chuỗi sau vào trong ô nhập dữ liệu username của trang “client2.htm” là : ’;SHUTDOWN WITH NOWAIT;-- .Lúc này câu truy vấn sẻ được gọi lên và thực thi yêu cầu vừa được gửi tới trực tiếp lên toàn bộ hệ thống của máy chủ Web chứ không riêng gì ứng dụng Web . 101
  • 102. - Và câu truy vấn này là hợp lệ với các điều kiện của ứng dụng Web và sẻ được thực thi trực tiếp vàohệ thống máy chủ Web . Lúc này hacker đương nhiên hợp pháp được quyền tương tác lên máy chủ Web như tắt hệ quản trị cơ sở dữ liệu Microsoft SQL Server trên máy chủ thông qua ứng dụng Web bị lỗi SQL này một cách hợp lệ . - Ví dụ về Shutting down : • Sử dụng giao diện của ứng dụng Web bị lỗi SQL Injection . 102
  • 103. • Hacker sử dụng câu lệnh “’; SHUTDOWN WITH NOWAIT;--” .Đưa vào ô nhập username và gửi yêu cầu tới ứng dụng Web . 103
  • 104. • Ứng dụng Web sẽ từ chối vì username này không hợp lệ . 104
  • 105. • Và đây là hệ quản trị cơ sở dữ liệu bị hacker shutdown . 105
  • 106. 2.4. Sử dụng công cụ khai thác và tìm kiếm lổ hổng của SQL Server : - Trong phần này tôi sẻ giới thiệu với các bạn một số công cụ cần thiết để khai thác, tìm kiếm các lổ hổng của Microsoft SQL Server . - Bên cạnh các công cụ trên, tôi cũng giới thiệu tới các bạn một số công cụ dùng để crack password của Microsoft SQL Server . Mục đích : - Để các bạn có khái niệm cơ bản về các công cụ khai thác và tìm kiếm lổ hổng được các hacker sử dụng . - Và có được cái nhìn từ phía hacker để phòng tránh những lỗi tương tự sẽ xảy ra với hệ thống của mình sau này . 2.4.1. Công cụ Shadow Database Scan ver 1.0.0.63 : - Giới thiệu với các bạn đây là công cụ quét, thăm dò và tìm kiếm các lổ hổng bảo mật của nhiều hệ quản trị cơ sở dữ liệu trong đó có Micosoft SQL Server . 106
  • 107. - Công cụ này sử dụng bằng giao diện nên rất thuận tiện cho người dùng . - Ta bắt đầu với Shadow Database Scan . - Tạo một phiên quét thăm dò  . 107
  • 108. - Chọn Complete Scan  Next  . 108
  • 109. - Chọn Add host  . - Điền thông số Website ta muốn thăm dò  . - Chọn Next  . 109
  • 110. - Chọn Scan  . 110
  • 111. 111
  • 112. - Chờ đợi thông số quét được trả về của chương trình  . - Đây là những lỗi mà chương trình quét thăm dò và phát hiện ra trên ứng dụng Web . 112
  • 113. - Quá trình quét thăm dò hoàn tất . 113
  • 114. 2.4.2. Công cụ THCsql ver 0.1 – Remote root Exploit : - Giới thiệu với các bạn đây là một công cụ dùng để Remote root của SQL Server, có thể hiểu đây là một công cụ dùng khai thác và tìm kiếm lổ hổng từ hệ thống SQL Server và kết nối tới SQL Sever đó bằng cổng sau (backdoor) . - Và lưu ý rằng công cụ này chỉ chạy trong môi truong DOS, nên các bạn khi muốn sử dụng công cụ phải chuyển vào môi trường DOS của Windows . - Ta bắt đầu với bước kiểm tra IP của SQL Server . 114
  • 115. - Sử dụng công cụ THCsql để khai thác lổ hổng của SQL Server bằng câu lệnh : “thcsql <hostname>” . - Như vậy ta đã có được cổng kết nối sau của SQL Server . 115
  • 116. - Ta sử dụng công cụ Netcat để kết nối tới Server và cũng lưu ý Netcat cũng chỉ chạy trên môi trường DOS nên muốn sử dụng bạn phải chuyển vào môi trường DOS của Windows . - Sử dụng câu lệnh sau để kết nối tới cổng sau (backdoor) của SQL Server : “nc address port” . 116
  • 117. - Và đến đây ta đã có toàn quyền trên SQL Server, kiểm tra thử IP của SQL Server . 117
  • 118. 2.4.3. Công cụ forceSQL – Crack password SA : - Giới thiệu với các bạn đây là công cụ dùng để crack password của SA (tài khoản quản trị cao nhất của SQL Server) . - Và cũng như công cụ trên vừa giới thiệu, công cụ này chỉ chạy trong môi trường DOS . - Ta bắt đầu với bước kiểm tra IP của SQL Server . - Sử dụng công cụ forceSQL để crack password SA của SQL Server bằng câu lệnh : forcesql <hostname> <username> -d . 118
  • 119. - Và đến đây ta đã có thông tin ve password của SA và trong ví dụ này password của SA là NULL (rổng) . 119
  • 120. 2.4.4. Công cụ SQLdict ver 2.1 – Crack password SA : - Cũng như hai công cụ trên, công cụ này dùng để crack password SA của SQL Server . - Nhưng đến đây thì công cụ này thuận tiện hơn hai công cụ trên là nó sử dụng bằng giao diện và rất thuân tiện cho người sử dụng . - Ta bắt đầu với bước kiểm tra IP của SQL Server . - Open chương trình crack password SQLdict 2.1 . 120
  • 121. - Nhập thông tin địa chỉ IP SQL Server, user SA của SQL Sever . 121
  • 122. - Open file thư viện password “word.txt” . 122
  • 123. - Ta bắt đầu crack password SA của SQL Server . 123
  • 124. - Đến đây ta đã có được password SA của SQL Server . 124
  • 125. 2.5. Tài liệu tham khảo : - O’Reilly SQL Hack . - SQL Injection by Kevin Spett . - SQL Hack by Airscanner . - Blind SQL Injection by Kevin Spett . 2.6. Tóm tắt kết quả : - Như vậy ta có thể tóm tắt kết quả thu được từ bài thực hành LAB như sau . - Một máy chủ Web Server luôn luôn tiềm ẩn nguy cơ bị tấn công thông qua các các ứng dụng Web bị lỗi SQL Injection .Từ ứng dụng Web bị lỗi SQL Injection, các hacker có thể có được toàn quyền trên máy chủ Web Server đang chạy ứng dụng Web bị lỗi này . - Một máy chủ Web Server luôn là nơi chứa đựng các nguy cơ bị tấn công từ các dịch vụ đang chạy trên nó, tại ví dụ này nguy cơ bị tấn công là từ dịch vụ Microsoft SQL Server . - Ngoài những phương pháp tấn công được các hacker sử dụng bằng tay, thì họ cũng có thể sử dụng các công cụ được giới thiệu ở trên làm công cụ hỗ trợ cho cuộc tấn công vào máy chủ Web đang chạy ứng dụng Web bị lỗi SQL Injection . 125