Bài 1: XSS

Discussion in 'Lý thuyết' started by root, Jan 10, 2014.

  1. root

    root Active Member

    Joined:
    Dec 31, 2012
    Messages:
    1,163
    Likes Received:
    18
    Trophy Points:
    38
    I. Giới thiệu
    • XSS là viết tắt của từ Cross-site scripting là kỹ thuật chèn mã client site như HTML,JAVA Script... để ăn cắp thông tin như cookie,username, password...
    • Phương pháp này chủ yếu tấn công lên người dùng, không nhằm vào máy chủ.
    II. Các hình thức của XSS
    - XSS có 2 loại:
    1. Stored XSS
    • Do hacker chèn mã độc(thường là Java Script) vào website qua các comment, reply, post bài viết... Các mã độc này thường lưu lại trong Database nên được gọi là Stored.
    • Khi các thành viên, admin... truy cập vào web này thì sẽ bị dính mã độc và bị đánh cắp các thông tin như : cookie
    [​IMG]
    2. Reflected XSS
    • Khác với Stored XSS thì Reflected không lưu mã độc trên webserver.
    • Dựa vào việc webserver không filter tốt các hacker có thể gửi 1 link chứa mã độc đến client để client click vào và thực thi mã độc
    [​IMG]

    • Một ví dụ điển hình của Reflected-XSS là kết quả trả về của module search:
      [​IMG]
      Ta thấy từ khóa tìm kiếm mà ta nhập vào ô textbox được hiển thị lại trên trình duyệt. Lợi dụng việc không kiểm soát giá trị này, Hacker thể chèn thêm đoạn mã gây hại vào. Đường link sẽ có dạng:
      HTML:
      http://www.example.com/search.php?q=<script>alert(“XSS”)</script>
    III. kiểm tra lỗi XSS
    1. Sử dụng Tool

    • Sử dụng các chương trình quét lỗ hổng web như: Web Vulnerability Scanner để quét lỗi XSS
    2. Thử bằng code
    - ta có 5 bước cần thực hiện

    • Bước 1: Search web lỗi bằng các từ khóa
    • Bước 2: Xác định vị trí mà site bị lỗi XSS như: Search, error message, web form... bất cứ chỗ nào mà người dùng có thể nhập liệu vào
    • Bước 3: Xác minh site có bị lỗi không bằng các thông tin mà site đó trả về. VD: nhập chuỗi XSS vào search mà thông tin nó hiện ra như "không tìm thấy XSS...", " tài khoản XSS không tồn tại...", "đăng nhập với tk XSS ko thành công..."... thì nguy cơ bị dính XSS là rất cao
    • Bước 4: Thực hiện chèn code vào chỗ bị lỗi để exploit.
    Chúng ta có thể chèn các code sau
    [TABLE="class: outer_border, width: 700"]


    • <script>alert('CSS Vulnerable')</script>
    • <i*g csstest=javascript:alert('CSS Vulnerable')>
    • &{alert('CSS Vulnerable') };
    • <script>window.open( “http://www.google.com/” )</script>
    • <META HTTP-EQUIV="refresh" CONTENT="0;url=javaascript:alert('XSS');">
    • <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>

    [/TABLE]
    - Ở đây nếu web dính lỗi XSS nó có thể xuất ra 1 popup ngoài màn hình để thông báo lỗi.
    - Tuy nhiên, 1 số website mặc dù dính lỗi XSS nhưng ko xuất lỗi ra. Lúc này chúng ta cần View-source web đó ra để xem có lỗi không. Chẳng hạn ta thấy "< script>alert('XSS)< /script> " trong source thì website đó bị dính lỗi rất cao

    • Bước 5: Lấy các thông tin từ nạn nhận và lên kịch bản tấn công
     
  2. StarWar

    StarWar New Member

    Joined:
    Dec 8, 2013
    Messages:
    28
    Likes Received:
    0
    Trophy Points:
    0
    Bài viết rất hay!!
     
    Last edited: Jan 13, 2014

Share This Page