Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Sichere ProgrammierungRefreshed repository pull requests page generally available(22.09.2026 um 03:25 Uhr)
Sichere ProgrammierungThe Joy of Learning the Basics Again(22.09.2026 um 03:28 Uhr)
Sichere ProgrammierungZero-Code OpenTelemetry Tracing for Dagster(22.09.2026 um 03:39 Uhr)
Linux Tipps & Hardening`prime-all`(22.09.2026 um 02:28 Uhr)
IT Security Toolsopensoho v0.15.2(22.09.2026 um 03:33 Uhr)
IT Security NachrichtenUS Proposes AI Incident Alert System in Talks With China, Bessent Says(22.09.2026 um 04:01 Uhr)
Sichere ProgrammierungRefreshed repository pull requests page generally available(22.09.2026 um 03:25 Uhr)
Sichere ProgrammierungThe Joy of Learning the Basics Again(22.09.2026 um 03:28 Uhr)
Sichere ProgrammierungZero-Code OpenTelemetry Tracing for Dagster(22.09.2026 um 03:39 Uhr)
Linux Tipps & Hardening`prime-all`(22.09.2026 um 02:28 Uhr)
IT Security Toolsopensoho v0.15.2(22.09.2026 um 03:33 Uhr)
IT Security NachrichtenUS Proposes AI Incident Alert System in Talks With China, Bessent Says(22.09.2026 um 04:01 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

DVWA Cheat Sheet (Low & Medium)

Damn Vulnerable Web ApplicationBrute Force: Low & MediumJust testing with this username & password to get the error message (we will need it)As you can see, we got this error message, So let's hop on Burp Suite and intercept the G…

0
↗ Quelle (infosecwriteups.com)
Reagiere als Erste:r — dein Feedback zählt!
Damn Vulnerable Web Application

Brute Force: Low & Medium

Just testing with this username & password to get the error message (we will need it)

As you can see, we got this error message, So let's hop on Burp Suite and intercept the GET Request

This is the GET Request

Send it to the Intruder, hit Clear to clear any saved parameter, select the password that you sent for mine it was ‘admin’ so select it and hit Add

The word after (password=) must be colored like this

Now let's go to the payloads section in the intruder and load our txt payload file (i used the top 100 words from rockyou.txt wordlist for simplicity)

Now we set the payload, How can we find if tha password is right ot not ?
So,let's go to settings in the intruder section to make our customization

add incorrect word to these words

Intruder use these words to define if the attack fails, so it have some famous error messages
In the First Image that i posted, there was word ‘incorrect’ in it
So, after we added ‘incorrect’ , if we got the right password of course we will not find the ‘incorrect’ word. NOW Let's start the attack

The Password is ‘password’

The password section is the only one that didn't find the ‘incorrect’ word

Low Level

Brute Force: Medium
In medium level we can make the same steps as i did in low level but i’ll go through another tool just for a change, we'll use wfuzz tool on kali linux

This is the Intercept, as you can see the password must be ‘FUZZ’ , but why?

to tell wfuzz tool that the password is the one that we want to brute force it

this is the code that i used for the attack


wfuzz -c -z file,/home/prankster/top_100_Rock_You.txt -b 'security=medium; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf' 'http://192.168.1.4/dvwa/vulnerabilities/brute/?username=admin&password=FUZZ&Login=Login'

Now let’s find the correct password

Line ‘4’ is different, am i right !

All of these the response is 200 (OK) , have 86 lines, but the words number for Line 4 is different ! , also the characters are different ! that means that other passwords were wrong because they tell us the same incorrect sentence each time execpt ‘password’ which is the password for user admin

Medium Level

Command Execution: Low

You can find that there is page for pinging that takes ip address as input BUT, do you think it can take the ip address only ?

Let's add our commands now

What if you typed the ip address and then ls command ? , let’s find out

127.0.0.1;ls

simicolon ; is the separator between commands , you can use whatever you want (&&) or (&) or (|)

After pinging, he read the ls command also, so now we can do whatever command we want

127.0.0.1;ls;whoami;uname -a

after pinging, we can find there's 3 files (help, index.php, source), and the current username (www-data) , and some system information using (uname -a) command.

Command Execution: Medium

The concept of command execution is the same, you just type the desired command and then put the malicious command that you want,
the only change is the separator between the commands like
( ; ) or (&) or (&&) or ( | ) So, Let's see which of these is working

127.0.0.1 & ls
127.0.0.1 | uname -a

So, pipe (|) , and (&) separators are the working separators in medium level

Cross-Site Request Forgery (CSRF): Low

this page for changing password for user admin, so if we tried to change the password to ‘test123’ it will change in the url as it's shown down

URL: http://192.168.1.4/dvwa/vulnerabilities/csrf/?password_new=test123&password_conf=test123&Change=Change#

As you can see the password new and the confirmation of it is in the URL ‘test123’ are now the new password

if we changed the URL to http://192.168.1.4/dvwa/vulnerabilities/csrf/?password_new=Hello&password_conf=Hello&Change=Change#

And open this new link, the password will change directly to ‘Hello’

if you logged out and tried to login with ‘test123’ password, it will give you Login Failed
if you tried ‘Hello’ instead, you'll be logged in successfully

so you can use this malicious link with some phishing techniques and so on

Cross-Site Request Forgery (CSRF): Medium

first, we need to intercept the GET packet for password changing

Let's intercept this packet
The intercepted packet in Burp Suite

Why we intercepted now ? , Because the Referer in the next packet will be hidden, so we will add it manually but with a little bit change

Referer: 127.0.0.1 is added manually

once we added the Referer manually , we can forward the packet and the password will change directly

Password Changed Successfully

now you can login with the new changed password ‘csrfmedium

File Inclusion : Low & Medium

In this situation we just need to manipulate the URL in the website

Low Level Checked
We got access to ‘/etc/passwd’
Also we got the Linux version

File Inclusion : Medium

The same way as we did on low level is working on medium level, But let's try another files to confirm

Medium Level Checked
Logs of authentication events
Lists the groups that users belong to

SQL Injection : Low

In sql injection section we have to put the user id

That's all users we've got

Let's try some Injections💉

@’ or ‘1’=’1

@ is just any sign and the ‘ after it means that anything after this will be outside of the ‘user id’ scope, and the statement after the or condition is a tautology (always True) hince it always true, it will print all users in it

‘UNION SELECT user, password FROM users#

The single quote closes the string that was opened by the SQL query

UNION to make two SELECT queries into a single result set , The Selection is obvious (user, password)

Everything after # is treated as a comment and ignored by the SQL engine.

SQL Injection : Medium

The concept is the same, you just have to remove comments like single quote or put more quotes , but it's the same concept

1 or 1=1
1 UNION SELECT user, password FROM users

SQL Injection (Blind) : Low

these queries are working perfectly

‘UNION SELECT user, password FROM users#
$’ or ‘1’=’1

But in Blind case, sqlmap is a perfect solution

First , you need to hit Submit in DVWA and intercept this packet using Burp Suite

This is the intercepted ‘Submit’ Packet

now we will go to sqlmap on linux and execute this command

sqlmap -u "http://192.168.1.4/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit" --cookie="security=low; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf" --dbs
"Make Sure to customize your cookie and ip address"

Make sure to type the URL right, and the cookie from your Burp Suite Intercept is also right

That's all available databases

lets explore avaliable tables for DVWA database with this command

sqlmap -u "http://192.168.1.4/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit" --cookie="security=low; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf" -D dvwa --tables
That’s the available tables for ‘dvwa’ database

Now Lets explore more about ‘users’ table in DVWA database with this command

sqlmap -u "http://192.168.1.4/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit" --cookie="security=low; PHPSESSID=17ef46f3cec5a583f4bf12da8c0a4daf" -D dvwa -T users --dump
users table

after this i decided to crack the the users password using the default wordliast in sqlmap. So all of them are cracked except the admin password
Because the admin password is ‘csrfmedium’ since the last csrf attack i didn't change it , so it's difficult to crack, but the rest are all cracked

All cracked passwords

SQL Injection (Blind) : Medium

These queries still working perfectly, unfortunately SQLMAP is not working properly in this medium level of blind sql injection

1 or 1=1
1 UNION SELECT user, password FROM users

File Upload: Low

we just want to upload a simple web shell, so i used this simple php web shell LINK , and now let's upload it

Now let's access it from the URL, remove the # at the end of URL

and paste this path instead ‘../../hackable/uploads/index.php’

once you got this website, you can execute whatever you want

ls;echo ”********************************************************”;cat /etc/passwd

File Upload: Medium

In this level, the site checks whether the uploaded file is image or not so the last trick will give us an error.

So we will hop on burp suite and change the type of it to image

first we need to choose the php file, and turn the intercept on for BurpSuite

and hit Submit on DVWA, to intercept this submittion packet

this will give me an error if there's no intercept, but now i intercepted this request on burp suite

Lets change the ‘Content-Type’ from ‘application/x-php’ to ‘image/jpeg

Alright, Let's Hit ‘Forward’ and sent the request to the DVWA

NICE! file is successfully uploaded

let's remove the ‘#’ from the URL and past the path that he gave us ‘../../hackable/uploads/index.php’ , once you get this page, congratulations

XSS Reflected: Low

In reflected xss the malicious script is reflected off the web server and executed immediately and it's not stored on the web server

Once You submit this xss payload , it'll pop-up a message says Reflected XSS


<script>alert('Reflected XSS');</script>
Just Like That

XSS Reflected: Medium

the previous payload is not working in this phase, so let's try another payload.

i just crafted a specified payload that makes reflected xss and take my logo print it next to hello inside the DVWA

<img src="http://127.0.0.1/Prankster_Photo.jpg" onload="alert('Reflected XSS')" style="width:100px; height:100px;">

i just uploaded my logo on http server and resized the image to be
100px X 100px , i did all of this inside the XSS Reflected payload

Payload is working perfectly
And The Prankster logo is also working

Let's try another reflected xss payload that uses a click me button to perform reflected xss attack everytime you press it

<a href="#" onclick="alert('Reflected XSS')">Click Me</a>
Click Me Button is Ready for Execution

Every time you hit ‘Click Me’ button, will perform the attack

Just like that

XSS Stored: Low

The malicious script is stored on the server and it will run automatically without any buttons or anything, every time you visit the XSS Stored section in DVWA , this xss code will execute

<script>alert('Stored XSS');</script>

Every time you visit the XSS Stored section in DVWA, you'll get this pop-up

XSS Stored: Medium
to be honest, the same payload is still working on medium level and i can't remove anything LOL!!
must be button for ‘clear guestbook’ but i can't find it so, the XSS is still working perfectly

Proof of concept

I've tried to make another stored xss attack , but there's already a stores xss up and running. I also asked ChatGPT in this case and he answered this :

“If you already have an XSS payload running on the website, it’s unlikely that it would prevent another XSS attack from working.”

So let's try another way to make sure we passed medium level, so let's reset the database to enter the xss payload again on medium level

First, we need to reset to enter the xss again

now lets maximize the name section to put the payload in the name section

set maxlength to 100 instead of 10

Let's try this payload in the name section, this payload will give you the cookie for the user

<script>alert(document.cookie)</script>
That's the Cookie

Finally, Thanks for reading my blog , and fell free to make these attacks the way you want, it’s not a rule you can customize whatever you want to achieve your Goals.

Contact Me:
Discord: Prankster#6546

DVWA Cheat Sheet (Low & Medium) was originally published in InfoSec Write-ups on Medium, where people are continuing the conversation by highlighting and responding to this story.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten DVWA Cheat Sheet (Low & Medium)

Thematisch verwandte Begriffe: DVWA, Cheat, Sheet, Medium · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-61647 | NotebookLM MCP is an MCP server and HTTP service for interacting with Go…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick