You could write all these effects into your hitbox.
And then upon actually assigning this hitbox to a weapon/enemy you could set the effects you want to true, or a value where 0 would mean the effect doesn't get applied.
You could then access members of the hitbox in the hurtbox by using signals.
You can connect to signals using the node inspector in the right of the editor.
If you do it right you create a get a method added to your hurtbox script called something like
func _on_HurtBox_area_entered(area): or
You can then acces your array via the
body parameter for example:
You could even handle all this outside the hurtbox and only have it as a simple collision detector.
If this is a but vague or much there is also a video online that thought me most of what you'd need to know to set something like this up, here is the link: