Есть такая очень досадная вещь, когда при заливке шелла через уязвимость php inj (eval, preg_replace, и т.д..) шелл не работает, просто белая страница, и при этом шелл с99 заливается без проблем.
Такая вещь на куче сайтов, если не на каждом втором, из за чего это происходит я к сожалению так и не выяснил, включал в шелле экранирование ошибок и т.д... всё равно, никаких ошибок на экран не выводит (скорее из за @ почти во всех функциях =)))
А заливаю я его так, кодирую в base_64 и через fputs(fopen()) расшифровывая кладу.
Оба шелла запакованны обычным алгоритмом со сжатием, при этом с с99 проблем никогда не возникало, а WSO приходится заливать через с99, и вот тогда он кладётся нормально.