25 Mar 2012 @ 10:47 AM 

I thought of sharing some general tips for when testing the upload functionality of a web application. It’s focused on security issues, because upload is one of the inputs into the system and it’s used by hackers quite often. Now of course every application it’s different and not all are applicable every time and everywhere, but it can give useful ideas.

Please add your comments with other tips and I will add it to the list.

Tip1: Php injection – use “Knull shell”

It’s a php script, you can get it here https://code.google.com/p/knull-shell or you can unzip it from here. The idea is to try to upload this script and check if you can execute it once it’s on the web app to hack.

Tip2: Upload large amount of content

If there is no validation to the file size or to the number of files to be uploaded and there is not captcha, you can fill the server that handles the web app much more easily. This can be problematic to a hack with continuous upload or just when dealing with a large amount or users.

Tip3: What happens after the upload

Once uploaded a file, you can see the new location of its storage. You can use that URL to guide you to find other stored files that normally you should not be authorized to see.

Tip4: Different type of injection using the filename

Use file names that can cause a malfunction. Even if the upload it’s ok with it, maybe after another processing action (renaming of the file) it can show problems. Example: “ ' or '1'='1' — ';.jpg

Tip5: Upload files with long names

Tip6: Upload files with special chars

Tip7: Upload files to test the boundaries of size limits

Tip8: Test the format validation

In some cases there is no validation for the file format validation. In other there is only a validation based on file extension. In other the uploaded files are analyzed.

Tip9: Upload the same file multiple times

What happens then? What happens to new file? What happens to old files?

Tip10: Test upload performance

Check the speed of the upload

Tip11: Upload files like “index.php" or “.htaccess”

Tip12: Try to upload if you are logged out or upload for a different user/role

Tip13: Use the Null Byte in the upload

Use it in file name “test.php%00.jpg” but also in the content or any variation that might seem relevant.

Posted By: Eusebiu Blindu
Last Edit: 13 Apr 2012 @ 04:58 PM

EmailPermalinkComments (2)
Tags
Categories: General
 03 Mar 2012 @ 11:51 AM 

This is a  walk-through on the presentation I had at  Czech Test.

I wanted to make a parallel between testing and solving puzzles.  Reason for this is because I think there should be more room for creative thinking in testing and also the analytic and logical thinking should have higher priority.

I started with a non-testing related puzzle.

The shown equation above is incorrect, but by changing the position of only one digit in can be improved and become correct (like in the example in the bottom of the slide). Click here to see the solution

Usually when someone says the word “puzzle” we think at something like this

But there are of course other types of popular puzzles

Introducing main theme “Testing is like solving puzzles

Then I tried to link the concepts of “testing” and “puzzles” by the definitions

Examples of “testing puzzles”:

I see testing puzzles split in two categories: micro-puzzles and macro-puzzles. Micro-puzzles and the simple situations , where you know the mission immediately (ex: test some input validation functionality). Macro-puzzles are the situations where you have to deal with an entire project and you have to take care of many components: time, coverage, risk, resources, information.

Starting with presenting the micro-puzzles

To create a better image you can try this exercise

for this application

The video demo for it:

Trying to solve that would give a better idea on the fusing situations between testing and solving puzzles.

Sometimes we ship the product after we test it, and we get a “crazy” customer that finds some unexpected state and demands explanations. In the next slide I have a screenshot of the application at http://testalways.com/1/ . You can try two puzzles here: 1) Reproduce the screenshot 2) Find the pattern

Some description about an important element in many puzzles: Patterns

This is actually an older application I posted 1 and a half years ago to show as example:

There were many answers to that puzzle back then. One way that was solved was using an excel file where all the data was put and analysed.

Other solution came with the help of using automated scripts to get the images for a large number of inputs

Going through macro-puzzles

Macro puzzles are the one where we have to deal with managing our testing process

I have used this application to represent the ideas of macro puzzles

Let’s say you have to test a web application that provides some statistical data and has an export functionality. You want to focus on the export from the file type and browser perspective.

If you would try to test each browser paired with each file, a representation in the hidden image application would look like that:

But you might not have the time to test all those combinations.  Another approach where you can say you tried each browser once and each file type once, is to pair each time one browser with one file type that has not been tested.

In this case it will look more like this

Or in some cases you find something suspicious and you insist in some areas, temporally neglecting other parts:

Other more general reviews:

Recapitulating the idea and re-making the points that testing is like solving puzzles and that we need more room for creative work and analytic thinking.

So those were the slides used. The main idea was to show testing more like a fun activity and full of creativity. In the same time it wants to give ideas to others to come up with something interesting, even if its not testing related

Posted By: Eusebiu Blindu
Last Edit: 03 Mar 2012 @ 11:51 AM

EmailPermalinkComments (0)
Tags
Categories: conferences

 Last 50 Posts
 Back
  • Users » 2
  • Posts/Pages » 136
  • Comments » 148
Change Theme...
  • VoidVoid
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight « Default

bug bounty

  • No categories

Bugs

  • No categories

Carnivals

  • No categories

challenge

  • No categories

Classic Tests

  • No categories

conferences

  • No categories

EWT

  • No categories