This paper studies the vulnerability of flow networks against adversarial attacks. In particular, consider a power system (or, any system carrying a physical flow) consisting of $N$ transmission lines with initial loads $L_1, \ldots , L_N$ and capacities $C_1, \ldots, C_N$, respectively; the capacity $C_i$ defines the maximum flow allowed on line $i$. Under an equal load redistribution model, where load of failed lines is redistributed equally among all remaining lines, we study the {\em optimization} problem of finding the best $k$ lines to attack so as to minimize the number of {\em alive} lines at the steady-state (i.e., when cascades stop). This is done to reveal the worst-case attack vulnerability of the system as well as to reveal its most vulnerable lines. We derive optimal attack strategies in several special cases of load-capacity distributions that are practically relevant. We then consider a modified optimization problem where the adversary is also constrained by the {\em total} load (in addition to the number) of the initial attack set, and prove that this problem is NP-Hard. Finally, we develop heuristic algorithms for selecting the attack set for both the original and modified problems. Through extensive simulations, we show that these heuristics outperform benchmark algorithms under a wide range of settings.