Pat chicken legs dry with a paper towel, then lay them on a tray or baking sheet.
Make the rub: In a small bowl, combine 1 Tbsp garlic powder, onion powder, 2 tsp smoked paprika, kosher salt and cayenne pepper (if using). Coat the drumsticks evenly in the rub and set aside while you make the sauce (or cover and refrigerate the seasoned chicken legs for up to 24 hours).
Make the sauce: In a mixing bowl, add the ketchup, brown sugar, Worcestershire sauce, vinegar, 1 tsp garlic powder, 1/2 tsp smoked paprika and tabasco sauce (if using). Stir until smooth. Remove 1/2 cup of the sauce to a small dish for serving, and set the remaining sauce aside for glazing the chicken.
Spray the chicken legs lightly with cooking spray, turning to spray both sides. Set aside.
Preheat the grill to medium-high heat (400F). Add the chicken legs to the grill and cook for about 2-3 minutes, until skin is browning. Turn each chicken leg and continue to cook, turning every 2-3 minutes until skin is browned and crispy all over, about 8-12 minutes total. Reduce the heat to medium low, close the lid and continue to grill, turning the chicken every few minutes, until chicken legs are fully cooked and have reached an internal temperature of 165F. Depending on the size of the chicken legs this should take an additional 5- 10 minutes. Brush each chicken leg with some of the barbecue sauce. Flip the legs, then brush the other side with sauce. Repeat the flipping and brushing a second time, so each chicken leg has been fully coated in sauce twice. Remove from the grill and allow to rest for 5-7 minutes before serving. Serve with the reserved sauce.