A comprehensive tutorial on cross-site scripting