Understanding general weaknesses and SQL injection enablers