The word hack has two primary computer-related definitions. It often means breaking into a computer system to gain unauthorized access to its data. It may also refer to an inelegant but clever solution to a computing problem in a program's source code.
In the context of computer security, a hack is an unauthorized intrusion into a computer system. A hacker is someone who hacks to plant malware on another computer, steal information from a database, or even just vandalize a website. There are many types of hacks that a hacker may use to gain entry into a system.
One type of hack involves gaining access through a compromised user account. Once they identify a possible victim's account username, the hacker may try a brute-force attack that repeatedly attempts common passwords. They may use a packet sniffer to intercept traffic and capture unencrypted data, hoping to find a packet containing a password or other valuable data. They may also use a scanning tool to find open ports vulnerable to intrusion.
Hackers may also use social engineering hacks to gain access to a system. Social engineering hacks don't use as much technical skill as scanning ports and intercepting web traffic, but instead use psychological manipulation and other tricks. For example, a phishing attack attempts to mislead a victim into divulging their information through a fake email message.
A programming hack is a nonstandard, often-clunky solution to a computer programming problem. It may use undocumented methods to perform a function, or even exploit a bug present elsewhere in a program. These sorts of hacks, also known as "kludges," are often less work than a more robust solution to the problem but may introduce new bugs or unexpected behavior.