• Security

    Testing for Cross site scripting with XSStrike

     

    1.    Introduction

    XSStrike is a good tool to help you find the cross site scripting (XSS) on the web application, it’s really simple and easy to use.

    Some main features:

    • Powerful fuzzing engine
    • Context breaking technology
    • Intelligent payload generation
    • GET & POST method support
    • Cookie Support
    • WAF Fingerprinting
    • Hand crafted payloads for filter and WAF evasion
    • Hidden parameter discovery
    • Accurate results via levenshtein distance algorithm

    2.    Setup

    Follow the below steps to setup:

    • Clone the Git repos: git clone https://github.com/UltimateHackers/XSStrike
    • Moving to the code folder: cd XSStrike
    • Install required package: sudo pip install -r requirements.txt
    • Open xsstrike: python xsstrike

    3.    Testing with the GET Request

    After open xsstrike, input URL with the GET method (There is a parameter name at the URL)

    Example: https://www.test-domain.com/search?q=test

    The list of XSS payloads will inject at the “test” parameter.

    4.    More Example & Screenshot

    Example URL: http://testphp.vulnweb.com/listproducts.php?cat=1

    5.    Testing with the POST Method

    URL with the POST method: http://testphp.vulnweb.com/guestbook.php

    There is no parameter name at the POST method, after we have entered the URL, it will show a new option:

    [?] Enter POST data: name=anonymous+user&text=test&submit=add+message

    We can see and get the POST Data by following steps:

    • Open the form: http://testphp.vulnweb.com/guestbook.php
    • Input any value at the textbox and click submit
    • Right click on the page, select “Inspect Element” > “Network”
    • Right click on the POST request, select “Copy” > “Copy as cURL”

    The cURL value should be as below:

    curl ‘http://testphp.vulnweb.com/guestbook.php’ -H ‘Host: testphp.vulnweb.com’ -H ‘User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:58.0) Gecko/20100101 Firefox/58.0’ -H ‘Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’ -H ‘Accept-Language: en-US,en;q=0.5’ –compressed -H ‘Referer: http://testphp.vulnweb.com/guestbook.php’ -H ‘Content-Type: application/x-www-form-urlencoded’ -H ‘Connection: keep-alive’ -H ‘Upgrade-Insecure-Requests: 1’ –data ‘name=anonymous+user&text=test&submit=add+message

    So you will able to get this data value and paste it to the tool.

    As the above result, there is a payload with 100% efficiency was found: <svg/onload=(confirm)()>

    We can verify by copy this payload, paste it to the textbox and click submit button, it should display the alert popup as below screenshot.

    It’s simple but really helpful to scan and check for XSS issues with the GET and POST method.

    Please do not hesitate to let me know if you have any questions or concerns, I’m happy to help!

  • Security

    XSS collection for testing

    This is a list of strings that can be used for XSS testing and bypass filter.

     

  • Security

    XSS vulnerable at Lozi.vn

    Vừa rồi tôi có đọc một bài viết trên Tuổi trẻ với nội dung Lozi.vn nhận đầu tư triệu đô nên cũng tò mò muốn xem trang web của họ thế nào, nhưng có vẻ Lozi cũng chưa quan tâm nhiều đến bảo mật web, họ không dùng bất kỳ bộ lọc dữ liệu nào để ngăn chặn XSS.
    Như chúng ta đã biết thì lỗi XSS có thể khai thác để lấy cookies từ đó đánh cắp tài khoản người dùng, fake login page, đánh lừa người dùng cài đặt các phần mềm độc hại (viruses, spyware, etc), clickjacking attack…

    Đây là các bước tôi làm để phát hiện ra lỗi, hy vọng sẽ giúp các bạn tester có thể hiểu thêm và kiểm tra lỗi XSS cho sản phẩm của về mình sau.

    1. Đầu tiên tôi vào trang Lozi: http://lozi.vn/
    2. Gõ “testing” vào khung tìm kiếm để kiểm tra thử URL parameter là gì. Kết quả URL hiện như sau:

    3. Chèn code để thực thi một popup “Attacked”.

    Site đã bị dính lỗi do Lozi đã không dùng bộ lọc (XSS Filters) nào để hạn chế việc thực thi các mã độc.

    Lozi_XSS

    * Tôi đã report đến Lozi lỗi này, hy vọng họ sẽ fix sớm.
    * Bài viết chỉ mang tính tham khảo về kiểm thử XSS, bạn phải tự chịu trách nhiệm nếu dùng vào mục đích xấu.
    ——
    Update: Lozi.vn đã fix lỗi này sau khi nhận được thông báo.

  • Security

    Bypass XSS filters at Tiki

    Sau khi nhận được email thông báo lỗi XSS của tôi, Tiki có sửa lỗi nhưng hiện tại lỗi XSS trên Tiki vẫn có thể vượt qua bộ lọc để khai thác tiếp. Đây là chi tiết cách tôi đã Bypass XSS filters trên Tiki.

    Địa chỉ khai khác lỗi XSS cũ:

    Nếu như theo bài trước, tôi có thể khai thác XSS thông qua địa chỉ như bên trên thì giờ không còn khai thác được nữa. Qua quan sát tôi thấy ngoài sử dụng URL dạng “.html?scr=” thì trên trang web còn dùng thêm một dạng nữa là “.html?ref=” ở đường dẫn sản phẩm nên tôi đã thử khai thác tiếp xem sao.

    Demo với sản phẩm này:

    Tôi thử chèn code để test XSS theo định dạng thông thường là:

    .html?ref=< script >alert(‘Checking’)< /script >

    Thử chạy địa chỉ trên thì không thấy hiện popup, tôi nghĩ họ có dùng code để lọc các mã độc (XSS filters) nên đã Bypass filters đó bằng cách thêm hai ký tự Closing tag “> để thành dạng:

    “><script>alert(‘Checking’)</script>

    Vậy đường dẫn khai thác đầy đủ sẽ là:

    Kết quả đã Bypass thành công và khai thác được lỗi.

    Tiki-XSS


    Update: Tiki.vn đã fix lỗi này sau khi nhận được thông báo.

  • Security

    Cross-site Scripting at Tiki.vn

    Chào các bạn,

    Hôm nay mình sẽ demo về một lỗ hổng đang có trên trang Tiki.vn có thể cho phép hacker chiếm lấy tài khoản người dùng thông qua lỗi XSS. Hôm trước mình có lên web Tiki để xem sản phẩm, là tester nên cũng có chút bệnh nghề nghiệp nên sẵn tiện mình kiểm tra sơ qua xem trang web có lỗi gì không, kết quả là phát hiện ra một lỗi khá thú vị về XSS này.
    Tất cả những bước demo bên dưới mình đều làm trên một tài khoản do mình tạo ra và không lấy tài khoản của người dùng khác. Mình sẽ không chịu bất kỳ trách nhiệm nào nếu bạn dùng bài demo này vào mục đích xấu.

    Các bước thực hiện:

    1. Kiểm tra lỗi XSS trên trang web.
    – Đầu tiên mình sẽ vào trang Tiki.vn và tìm đến một sản phẩm nào đó trên web để kiểm tra.
    – Đây là link của sản phẩm:

    – Để check lỗi XSS mình sẽ thêm lệnh: < script >alert(‘checking’)< /script > vào phía sau ?src= và chạy trên trình duyệt. Nếu có hiện popup với nội dung là “checking” thì trang web dính lỗi XSS. Đầy đủ URL kiểm tra sẽ như sau:

    Có hiện thông báo, vậy là web có lỗi rồi, chúng ta qua bước tiếp theo.

    2. Chèn mã đánh cắp cookies.
    Hacker họ sẽ chèn một đoạn mã để lấy cookies thay vì chỉ hiện một popup với nội dung checking như bước 1, code đó sẽ có dạng như sau:

    File ckies.php là file để đánh cắp cookies, nó sẽ lưu tất cả thông tin về cookies người dùng vào một file .txt được định sẵn, từ đó hacker có thể xem và đánh cắp thông tin. Để sử dụng code này cũng làm tương tự là chèn nó phía sau ?src=.

    Nhưng nếu dán đoạn này lên trình duyệt nó sẽ không chạy được. Lúc này hacker sẽ làm thêm một bước là chuyển mã dòng <script> để nó có thể thực thi được trên trình duyệt. Chúng ta qua bước tiếp theo để xem họ sẽ làm như thế nào nhé.

    3. Encode URL và gởi cho victim.
    – Để encode sang dạng url có thể dùng trang http://asciitohex.com
    – Code gốc trước khi chuyển:

    – Code sau khi đã encoded:

    – Full URL:  Vậy là đã chuyển mã xong, tiếp theo hacker sẽ nối link web và đoạn mã này lại thành một đường dẫn đầy đủ có dạng như sau:

    Vậy là họ đã có 1 link để đánh cắp cookies với domain là Tiki.vn.
    Họ sẽ gởi link này đến người cần lấy tài khoản, nếu người dùng đang đăng nhập và click vào thì sẽ bị mất cookies. Nguy hiểm của lỗi này là khi nhìn vào URL bên trên, người dùng sẽ không nghĩ là có mã độc vì domain chính vẫn đang là của Tiki.vn.

    Bây giờ mình sẽ làm nạn nhân bằng cách đăng nhập vào tài khoản và tự nhập vào link trên để cookies bị ghi lại trong file log.txt của hacker.
    Sau khi mình vào link trên thì nó tự đồng chuyển về trang chủ, mình hoàn toàn không biết rằng cookies đã bị ghi lại. Vậy chúng ta sẽ đi tiếp để xem hacker họ làm gì với thông tin đã lấy được nhé.

    4. Kiểm tra file log và sửa cookies.
    – Hacker sẽ kiểm tra file Logfile.txt, Đây là các thông tin cookies của mình vừa bị ghi lại.

    – Cách hacker lấy tài khoản là họ sẽ dùng thông tin cookies của bạn và sử dụng một addons trên trình duyệt để add thông tin đó vào, lúc đó trình duyệt sẽ nghĩ là bạn đang đăng nhập. Có khá nhiều chương trình chỉnh sửa cookies ví dụ: Cookies Manager+ hoặc EditThisCookie.

    5. Đăng nhập thông qua cookies.
    – Hacker sẽ đăng nhập thông qua thông tin trong file log và không cần biết username, password của bạn. Mình sẽ dùng một trình duyệt khác (chưa login) để demo việc này.

    xss-tiki-2(Thay thế TKSESSID hiện có)

    xss-tiki-3

    (Đăng nhập thành công)

    Vậy là đã đăng nhập thành công bằng cookies (đánh cắp) mà không cần nhập user, password. Video các bước thực hiện:

    Qua demo này mình muốn chia sẻ về sự nguy hiểm của lỗi XSS cũng như việc test lỗi bảo mật là rất cầ thiết để bảo vệ khách hàng của mình trước việc bị mất tài khoản. Mình đã report lỗi này đến Tiki, hy vọng họ sẽ fix sớm.

    Nếu có thắc mắc hay muốn trao đổi thêm về lỗi XSS các bạn có thể liên hệ mình theo thông tin liên hệ trên blog. Cảm ơn các bạn đã xem.
    —–
    Update: Tiki.vn đã fix lỗi này sau khi nhận được thông báo.