Attacking A MySQL Database
Attacking A MySQL Database
Objectives
In this lab, you will view a PCAP file from a previous attack against a SQL database.
Part 1: Open Wireshark and load the PCAP file.
Part 2: View the SQL Injection Attack.
Part 3: The SQL Injection Attack continues…
Part 4: The SQL Injection Attack provides system information.
Part 5: The SQL Injection Attack and Table Information
Part 6: The SQL Injection Attack Concludes.
Background / Scenario
SQL injection attacks allow malicious hackers to type SQL statements in a web site and receive a response
from the database. This allows attackers to tamper with current data in the database, spoof identities, and
miscellaneous mischief.
A PCAP file has been created for you to view a previous attack against a SQL database. In this lab, you will
view the SQL database attacks and answer the questions.
Required Resources
CyberOps Workstation virtual machine
Instructions
You will use Wireshark, a common network packet analyzer, to analyze network traffic. After starting
Wireshark, you will open a previously saved network capture and view a step by step SQL injection attack
against a SQL database.
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 1 of 8 www.netacad.com
Lab - Attacking a mySQL Database
e. The PCAP file opens within Wireshark and displays the captured network traffic. This capture file extends
over an 8-minute (441 second) period, the duration of this SQL injection attack.
Question:
What are the two IP addresses involved in this SQL injection attack based on the information displayed?
Type your answers here.
10.0.2.4 and 10.0.2.15
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 2 of 8 www.netacad.com
Lab - Attacking a mySQL Database
The source traffic is shown in red. The source has sent a GET request to host 10.0.2.15. In blue, the
destination device is responding back to the source.
b. In the Find field, enter 1=1. Click Find Next.
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 3 of 8 www.netacad.com
Lab - Attacking a mySQL Database
c. The attacker has entered a query (1=1) into a UserID search box on the target 10.0.2.15 to see if the
application is vulnerable to SQL injection. Instead of the application responding with a login failure
message, it responded with a record from a database. The attacker has verified they can input an SQL
command and the database will respond. The search string 1=1 creates an SQL statement that will be
always true. In the example, it does not matter what is entered into the field, it will always be true.
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 4 of 8 www.netacad.com
Lab - Attacking a mySQL Database
c. The attacker has entered a query (1’ or 1=1 union select database(), user()#) into a UserID search box on
the target 10.0.2.15. Instead of the application responding with a login failure message, it responded with
the following information:
The database name is dvwa and the database user is root@localhost. There are also multiple user
accounts being displayed.
d. Close the Follow HTTP Stream window.
e. Click Clear display filter to display the entire Wireshark conversation.
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 5 of 8 www.netacad.com
Lab - Attacking a mySQL Database
c. The attacker has entered a query (1’ or 1=1 union select null, version ()#) into a UserID search box on the
target 10.0.2.15 to locate the version identifier. Notice how the version identifier is at the end of the output
right before the </pre>.</div> closing HTML code.
Question:
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 6 of 8 www.netacad.com
Lab - Attacking a mySQL Database
c. The attacker has entered a query (1’or 1=1 union select null, table_name from
information_schema.tables#) into a UserID search box on the target 10.0.2.15 to view all the tables in the
database. This provides a huge output of many tables, as the attacker specified “null” without any further
specifications.
Question:
What would the modified command of (1' OR 1=1 UNION SELECT null, column_name FROM
INFORMATION_SCHEMA.columns WHERE table_name='users') do for the attacker?
Type your answers here.
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 7 of 8 www.netacad.com
Lab - Attacking a mySQL Database
The attacker has entered a query (1’or 1=1 union select user, password from users#) into a UserID
search box on the target 10.0.2.15 to pull usernames and password hashes!
Question:
Reflection Questions
1. What is the risk of having platforms use the SQL langauge?
Type your answers here.
2. Browse the internet and perform a search on “prevent SQL injection attacks”. What are 2 methods or steps
that can be taken to prevent SQL injection attacks?
Type your answers here.
End of document
2018 - 2022 Cisco and/or its affiliates. All rights reserved. Cisco Public Page 8 of 8 www.netacad.com