In realtà tutto il discorso della vulnerabilità dovevi affrontarlo mentre il sito era in sviluppo. Per tutte le vulnerabilità sql injection, se hai usato metodi homemade devi accertarti che tutti i dati siano stati validati in base al loro tipo prima di farci una query ed eseguirla, controllando che non ci sia modo di manipolare i dati in maniera da rompere i tuoi controlli etc... se un un framework, è probabile che tali vulnerabilità o non ci siano o non siano state ancora scoperte (leggi i changelog e bugfixing del framework in questione)

tutto ciò che possa portare ad XSS va controllato

programmi che facciano ciò in automatico non ne conosco.

Per stressare il server puoi provare tools anche open come http://httpd.apache.org/docs/2.0/programs/ab.html per vedere i tempi di risposta. Far crashare il server o apache è un pò complicato, anche perchè in genere non crasha, ci mette solo una vita a servirti (o non ti serve affatto). Quando raggiungi il limite dipende da una miriade di fattori, e diciamo che se il sito è nuovo di pacca, è fatto un minimo decentemente e non deve reggere dal primo secondo di vita milioni di richieste, stai tranquillo che regge. Diciamo che dopo che entrerà in produzione passerai il tempo a correggere bug, aggiungere features, ottimizzare le query, implementare caching a gogo etc etc... ma dipende da che deve fare il sito. Conta che per avere N>M (con M=numero massimo di richieste ajax che una pagina può generare in parallelo) richieste contemporanee il sito deve essere molto molto visitato.

ps: è facilissimo di contro far crashare apache sbagliandosi e caricando troppe richieste ajax contemporanee