6 responses to “Testing a Software using a “Blank” File”

  1. richa

    Very intelligent observation.

  2. Inder P Singh

    Thanks for explaining the technique of File Fuzzing!

    A few tests that come to my mind immediately include:
    1. Read and update the user (author) information.
    2. Read the application (Excel) information.
    3. Read and update the document information (number and names of sheets, fonts and blank data).
    4. Open the file in a different operating system (different version and different language/ locale)
    5. Archive the file and read the above information.

    Thanks,
    Inder P Singh

  3. Rahul Verma

    Hi Inder,

    Thanks for sharing your thoughts.

    One essential aspect of file fuzzing is playing with assumptions. We need to break down the binary data into TLV (Type-Length-Value) records. For each one of them, we need to come up with test cases and then an automation set-up for executing the tests.

    Regards,
    Rahul

  4. Rahul Teja

    Hi Rahul,

    The article is really nice and was interesting enough to read till the end. I however have a question here. Why this is important to test this particular aspect. If a s/w has a file which is important for it to run, and he tampers it’s template/format it’s ought to change so how exactly it is important to test such cases.

    I understand that corruption of any single file can cause any s/w to stop working but point here is, can we fool proof a file from getting corrupted with the help of testing.

    Please guide me if I’m not understanding the core of the issue here.

    Thanks,
    Rahul

  5. Rahul Verma

    Hi Rahul,

    The impact would depend on the kind of software and whether the file can be user-supplied/forced in some way via other mechanisms, thereby making it a valid entry point.

    If it is a server software, for example, that takes a user supplied file to process, but with a corrupt file, it hangs/crashes, it is the case of DoS Denial of Service, rendering it non-functional for legitimate users.

    If it is a local application, making it crash is not that serious ( although needs to be handled ), but if the corruption is carefully crafted to, say, cause a buffer overflow that is exploitable, then it can be serious. E.g. with exploitation, a shell could be spawned from the local system which listens at a port. So, the remote attacker can execute arbitrary commands.

    If the above happens for a server machine, you can imagine the seriousness.

    What if the attack is focused at the anti-malware software. The DoS itself would lead to a non-functional security system, rendering your system, now prone to attack from other malware. What if this file is sent as an attachment in an email, which gets scanned by an anti-malware solution on an email server and caused DoS? It means, then on no malware would be detected and cleaned on the email server from the emails.

    I hope I answered your question.

  6. Rahul Teja

    Thanks Rahul. That really answers my questions, the one which I asked and the ones which I just thought of. :)

Leave a Reply

Copyright © Testing Perspective,