Session hijacking is the act of grabbing a URL used by the customer and going to it. By you going to that link, you'll be using the session of the customer and will be able to do whatever you like that a normal customer would be able to do, but you have the other customer's data (assuming they've entered it already).
Its very much like clicking on this link:
http://www.phpbuilder.com/board/newreply.php?s=&action=newreply&threadid=10265121
It should take you to a new reply page. If my session ID (assuming there was one) was up there and you managed to click the link before the session timed out, in theory you would be able to post a message as me.
That might put things in perspective.
As for credit card numbers, its been a golden rule of mine and a company I worked at to NEVER EVER NEVER save the credit card numbers ANYWHERE.
The process worked like this:
check out page (ask for CC number)
|
user clicks submit
|
- script accepts post request and validates card number for user errors
- if all ok, validate for tempering
- if all ok, send transaction info to CC processor
- if success, save results (transaction results, price, products, etc - but not CC number info) in table
|
Show user results/receipt page
If anything, save the last 4 digits of the CC number to validate the user used card X (handy with domain renewals and you forgot your user/pass combo).
If you need to rebill the customer on a monthly basis, most processors allow a "subscription" which automatically bills the customer each month.
This way, if your gear gets hacked, you don't have to worry about CC numbers getting stolen...