I'm slowly learning to use The Gimp to edit photos. One of the main uses is to adjust color and contrast where the camera didn't do a good job initially. In some cases, the "auto white balance" is enough, but usually better results can be had with just a few more clicks--This is especially true when there is an area that is much brighter than the rest, that is not part of the subject.
Here is a picture I found on a blog I read regularly (used with permission, click to enlarge):
His camera was set wrong, giving all the pictures a blue tint.
Open the picture in The GIMP. Click Colors, then Levels--you will wind up with the menu shown to the left. The controls shown here in the oval are the ones you want-- "pick black point" "pick grey point" and "pick white point". Hovering will show which is which. Click on the "pick white point". The next point you click on the image will become the new "whitest" value--Most of the time you want the whitest area of the subject that is NOT a bright reflection or direct light source. You can try different spots to see what the results are, but keep in mind that this isn't the finished result.
For the white point, I used the white van in the background.
Repeat the process with black, selecting the deepest black you want to show distinctly--not necessarily the deepest in the picture.
Finally, select the grey point--in this case, I used the dirt on one of the motorcycle tires. Make sure you click OK before you do anything else, otherwise the picture will revert to the original version.