• 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!

  • Coding,  Testing

    e-API Dashboard Document

    Introduce

    The document that mentioned on eAPI Dashboard details and guideline, this is the reality API with the common methods, it will support and help testers to work and practice on the APIs.

    These APIs are publicly and support for the testing purposes only. Do not submit the real and sensitive information.

    If you have any questions, please feel free to drop me a message via [email protected], I appreciate your feedback, contributing and ideas.

    • Homepage: https://sangbui.com/api/index.php
    • API Endpoint: https://sangbui.com/api/v1/employees

    1. Get all employees data

    This API will retrieving all employees data from the table and return information that included name, salary and age.

    URL https://sangbui.com/api/v1/employees
    Method GET
    URL Params <none>
    Header Content-Type: application/json

    Authorization: Basic d2ViX2FwcDpjaGFuZ2VpdA==

    Data Params <none>
    Success Response Code: 200 OK

    Content:

    [

        {

            “id”: “<id>”,

            “employee_name”: “<name>”,

            “employee_salary”: “<salary>”,

            “employee_age”: “<age>”

        },

    {

            “id”: “<id>”,

            “employee_name”: “<name>”,

            “employee_salary”: “<salary>”,

            “employee_age”: “<age>”

        }

    ]

    Error Response Code: 404 Not Found
    Sample Call <none>
    Notes <none>

  • Testing

    Cách viết một bug report tốt

    Report bug là công việc thường xuyên và liên tục của một người làm test, nhưng đã bao giờ bạn nghĩ mình có thể làm gì để một bug report trở nên hoàn chỉnh, ngắn gọn cũng như thể hiện sự chuyên nghiệp và rõ ràng trong từng report được gởi ra cho Dev?

    Bài này mình chia sẻ những kinh nghiệm của bản thân trong việc viết một bug report hy vọng sẽ giúp ích cho các bạn.

    Một mẫu report bug tham khảo:

  • Testing

    Mối liên hệ giữa priority và severity trong quản lý bug

    Short: Severity & Priority không có mối liên hệ gì cả.
    —-
    Long: 
    Severity: Chỉ mức độ ảnh hưởng sẽ gây nên cho hệ thống (hoặc người dùng) khi có lỗi xảy ra. Các mức cơ bản:
    – Critical
    – Major
    – Moderate
    – Low (or Minor)

    Priority: Định nghĩa thứ tự sẽ xử lý / fix lỗi đó. Lỗi có độ ưu tiên cao hơn sẽ được sửa trước. Các mức cơ bản:
    – Priority 1 – Critical
    – Priority 2 – High
    – Priority 3 – Medium
    – Priority 4 – Low

    Có bạn nghĩ hai cái này có sự liên quan nhau, ví dụ lỗi có ảnh hưởng cao sẽ nên fix trước hoặc lỗi ảnh hưởng thấp sẽ có ưu tiên thấp nhưng không phải vậy. Mình sẽ có 4 ví dụ để cho thấy nó không liên quan.

  • Blog

    Vượt qua căng thẳng công việc

    Dạo gần đây mình có thời gian rảnh nhiều, gặp nhiều đứa em và nghe tâm sự, đa số là có những căng thẳng, khó khăn trong công việc, học tập và quản lý thời gian riêng. Sẵn cũng đang rảnh nên viết ra một số chia sẻ về công việc và cách bản thân mình cảm thấy thoải mái, không căng thẳng và quan trọng là thích thú những cái đang làm.

    1. Xác định trí lực và thể lực bản thân

    Cái này khá quan trọng, mình biết khá nhiều bạn rất tham công việc và học rất nhiều thứ cùng một lúc, có bạn đang học năm hai thôi nhưng đi học thêm tiếng Anh, tiếng Nhật, testing… học nhiều là tốt nhưng hiệu quả và đạt được thành quả gì là một chuyện khác nữa.
    Có những người họ có trí lực tốt, có thể tiếp thu được nhiều môn cùng một lúc, có người thì yếu hơn, nếu tiếp thu cái mới nhiều quá sẽ bị quá tải và không tập trung, không vào thêm được.

    Thể lực cũng tương tự, có người họ có thể lực tốt, học tập hay làm việc 9-10 tiếng mỗi ngày thấy bình thường, thậm chí có người làm nhiều hơn. Nhưng có người làm xong 8 tiếng hay học hai buổi một ngày là đuối rồi, thở thôi cũng mệt chứ đừng nói là tỉnh táo để tiếp thu thêm kiến thức hay làm thêm hai ba tiếng vào buổi tối.

    Nên muốn làm thêm, học thêm phải xác định rõ trí lực và thể lực mình đáp ứng bao nhiêu, đừng cố quá mà hỏng hết.