Most of today's smart grids are highly vulnerable to cascading failure attacks in which the failure of one or more critical components may trigger the sequential failure of other components, resulting in the eventual breakdown of the whole system. Existing works design different ranking methods for critical node or link identifications that fail to identify potential cascading failure attacks. In this work, we first consider the system from the attacker's point of view with a limited attack budget to study the smart grid vulnerability, referred to as Maximum-Impact through Critical-Line with Limited Budget (MICLLB) problem. We propose an efficient algorithm by considering the interdependency property of the system, called Greedy Based Partition Algorithm (GBPA) to solve the MICLLB problem. In addition, we design an algorithm, namely Homogeneous-Equality Based Defense Algorithm (HEBDA) to help reduce damages in case the system is suffering from the cascading failure attacks. Through rigorous theoretical analysis and experimentation, we demonstrate that the investigated problem is NP-complete problem and our proposed methods perform well within reasonable bounds of computational complexity.