SlideShare a Scribd company logo
Web Penetration
Testing
What is a Website
How to hack a Website?
DNS server
Facebook.com
195.44.2.1
Html
Website
● Computer with OS and some servers.
● Apache, MySQL ...etc
● Contains web application.
● PHP, Python ...etc
● Web application is executed here and
not on the client’s machine
195.44.2.1
What is a Website
● An application installed on a computer . → web application pentesting
● Computer uses an OS + other applications → server side attacks.
● Managed by humans → client side attacks.
How to hack a Website?
Information Gathering
● IP address.
● Domain name info.
● Technologies used.
● Other websites on the same server.
● DNS records.
● Unlisted files, sub-domains, directories.
1. Whois Lookup - Find info about the owner of the target.
→ http://whois.domaintools.com/
2. Netcraft Site Report - Shows technologies used on the target.
→ http://toolbar.netcraft.com/site_report?url=
3. Robtex DNS lookup - Shows comprehensive info about the target website.
→ https://www.robtex.com/
Information Gathering
● One server can serve a number of websites.
● Gaining access to one can help gaining access to others.
To find websites on the same server:
1. Use Robtex DNS lookup under “names pointing to same IP”.
2. Using bing.com, search for ip: [target ip]
Information Gathering
Websites on the same server
Information Gathering
● Subdomain.target.com
● Ex: beta.facebook.com
Knock can be used to find subdomains of target
1. Download it > git clone https://github.com/guelfoweb/knock.git
2. Navigate to knock.py. > ce knock/knock.py
3. Run it > python knock.py [target]
Subdomains
Information Gathering
● Find files & directories in target website
● A tool called drib.
> dirb [target] [wordlist] [options]
For more info run
> man dirb
Files + Directories
Exploitation
● Simples type of vulnerabilities.
● Allow users to upload executable files such as php.
Upload a php shell or backdoor, ex: weevly
1. Generate backdoor > weevly generate [passord] [file name]
2. Upload generated file.
3. Connect to it > weevly [url to file] [password]
4. Find out how to use weevly > help
File Upload Vulns
Exploitation
● Allows an attacker to execute OS commands.
● Windows or linux commands.
● Can be used to get a reverse shell.
● Or upload any file using wget command.
● Code execution commands attached in the resources.
Code Execution Vulns
Exploitation
● Allows an attacker read ANY file on the same server.
● Access files outside www directory.
Local File Inclusion
Exploitation
● Similar to local file inclusion.
● But allows an attacker read ANY file from ANY server.
● Execute php files from other servers on the current server.
● Store php files on other servers as .txt
Remote File Inclusion
Mitigation
1. File Upload Vulns - Only allow safe files to be uploaded.
2. Code Execution Vulns:
● Don’t use dangerous functions.
● Filter use input before execution.
3. File inclusion:
● Disable allow_url_fopen & allow_url_include.
● Use static file inclusion.
Exploitation - SQL Injection
● Most websites use a database to store data.
● Most data stored in it (usernames, passwords ..etc)
● Web application reads, updates and inserts data in the database.
● Interaction with DB done using SQL.
What SQL ?
Exploitation - SQL Injection
1. They are everywhere.
2. Give access to the database → sensitive data.
3. Can be used to read local files outside www root.
4. Can be used to log in as admin and further exploit the system.
5. Can be used to upload files.
Why are they so dangerous
Exploitation - SQL Injection
● Try to break the page.
● Using ‘and’, ‘order by’ or “ ‘ ”.
● Test text boxes and url parameters on the form
http://target.com/page.php?something=something
Discovering SQLi
Exploitation - SQL Injection
● Tool designed to exploit sql injections.
● Works with many db types, mysql, mssql ...etc.
● Can be used to perform everything we learned and more!
> sqlmap --help
> sqlmap -u [target url]
SQLmap
Preventing SQLi
● Filters can be bypassed.
● Use black list of commands? Still can be bypassed
● Use whitelist? Same issue
→ Use parameterized statements, separate data from sql code.
Exploitation - XSS Vulns
● Allow an attacker to inject javascript code into the page.
● Code is executed when the page loads.
● Code is executed on the client machine not the server.
Three main types:
1. Persistent/Stored XSS
2. Reflected XSS
3. DOM based XSS
XSS - Cross Site Scripting vulns
Exploitation - XSS Vulns
● Try to inject javasript code into the pages.
● Test text boxes and url parameters on the form
http://target.com/page.php?something=something
Discovering XSS
Exploitation - XSS Vulns
● None persistent, not stored.
● Only work if the target visits a specially crafted URL
● EX
http://target.com/page.php?something=<script>alert(“XSS”)</script>
Reflected XSS
Exploitation - XSS Vulns
● Persistent, stored on the page or DB.
● The injected code is executed everytime the page is loaded.
Stored XSS
Exploitation - XSS Vulns
● Run any javascript code.
● Beef framework can be used to hook targets.
● Inject Beef hook in vulnerable pages.
● Execute code from beef.
Exploiting XSS
Preventing XSS Vulns
● Minimize the usage of user input on html.
● Escape any untrusted input before inserting it
into the page.
Char Result
& → &amp;
< → &lt;
> → &gt;
" → &quot;
' → &#x27;
/ → &#x2F;
→https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
Zed Attack Proxy ZAP
● Automatically find vulnerabilities in web applications.
● Free and easy to use.
● Can also be used for manual testing.

More Related Content

Similar to Web Application Penetration Testing.pdf (20)

PPTX
Hacking WebApps for fun and profit : how to approach a target?
Yassine Aboukir
 
PDF
Hacking sites for fun and profit
David Stockton
 
PDF
CNIT 129S: 10: Attacking Back-End Components
Sam Bowne
 
PDF
Hacking sites for fun and profit
David Stockton
 
PDF
Denis Baranov - Root via XSS
DefconRussia
 
PDF
Hacking sites for fun and profit
David Stockton
 
PPT
Web Application Security
Chris Hillman
 
PPTX
Hack using firefox
Reza Nurfachmi
 
ODP
How secure is your code?
Mikee Franklin
 
PPTX
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
Magno Logan
 
ODP
Web Security
Chatree Kunjai
 
PPTX
Secure Coding
Shubham Sharma
 
PPTX
Prevent hacking
Viswanath Polaki
 
PPT
Denis Baranov: Root via XSS
qqlan
 
PPT
Root via XSS
Positive Hack Days
 
PPT
Root via XSS
Positive Hack Days
 
PDF
Minor Mistakes In Web Portals
msobiegraj
 
PPTX
[FTP|SQL|Cache] Injections
David Barroso
 
PDF
Web Security 101
Brent Shaffer
 
Hacking WebApps for fun and profit : how to approach a target?
Yassine Aboukir
 
Hacking sites for fun and profit
David Stockton
 
CNIT 129S: 10: Attacking Back-End Components
Sam Bowne
 
Hacking sites for fun and profit
David Stockton
 
Denis Baranov - Root via XSS
DefconRussia
 
Hacking sites for fun and profit
David Stockton
 
Web Application Security
Chris Hillman
 
Hack using firefox
Reza Nurfachmi
 
How secure is your code?
Mikee Franklin
 
Mutillidae and the OWASP Top 10 by Adrian Crenshaw aka Irongeek
Magno Logan
 
Web Security
Chatree Kunjai
 
Secure Coding
Shubham Sharma
 
Prevent hacking
Viswanath Polaki
 
Denis Baranov: Root via XSS
qqlan
 
Root via XSS
Positive Hack Days
 
Root via XSS
Positive Hack Days
 
Minor Mistakes In Web Portals
msobiegraj
 
[FTP|SQL|Cache] Injections
David Barroso
 
Web Security 101
Brent Shaffer
 

Recently uploaded (20)

PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
PDF
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PDF
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PPTX
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
PPTX
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PDF
community health nursing question paper 2.pdf
Prince kumar
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PDF
CHILD RIGHTS AND PROTECTION QUESTION BANK
Dr Raja Mohammed T
 
PPTX
BANDHA (BANDAGES) PPT.pptx ayurveda shalya tantra
rakhan78619
 
PDF
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
PDF
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
PDF
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
PPTX
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
community health nursing question paper 2.pdf
Prince kumar
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
CHILD RIGHTS AND PROTECTION QUESTION BANK
Dr Raja Mohammed T
 
BANDHA (BANDAGES) PPT.pptx ayurveda shalya tantra
rakhan78619
 
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
Ad

Web Application Penetration Testing.pdf

  • 2. What is a Website How to hack a Website? DNS server Facebook.com 195.44.2.1 Html Website ● Computer with OS and some servers. ● Apache, MySQL ...etc ● Contains web application. ● PHP, Python ...etc ● Web application is executed here and not on the client’s machine 195.44.2.1
  • 3. What is a Website ● An application installed on a computer . → web application pentesting ● Computer uses an OS + other applications → server side attacks. ● Managed by humans → client side attacks. How to hack a Website?
  • 4. Information Gathering ● IP address. ● Domain name info. ● Technologies used. ● Other websites on the same server. ● DNS records. ● Unlisted files, sub-domains, directories.
  • 5. 1. Whois Lookup - Find info about the owner of the target. → http://whois.domaintools.com/ 2. Netcraft Site Report - Shows technologies used on the target. → http://toolbar.netcraft.com/site_report?url= 3. Robtex DNS lookup - Shows comprehensive info about the target website. → https://www.robtex.com/ Information Gathering
  • 6. ● One server can serve a number of websites. ● Gaining access to one can help gaining access to others. To find websites on the same server: 1. Use Robtex DNS lookup under “names pointing to same IP”. 2. Using bing.com, search for ip: [target ip] Information Gathering Websites on the same server
  • 7. Information Gathering ● Subdomain.target.com ● Ex: beta.facebook.com Knock can be used to find subdomains of target 1. Download it > git clone https://github.com/guelfoweb/knock.git 2. Navigate to knock.py. > ce knock/knock.py 3. Run it > python knock.py [target] Subdomains
  • 8. Information Gathering ● Find files & directories in target website ● A tool called drib. > dirb [target] [wordlist] [options] For more info run > man dirb Files + Directories
  • 9. Exploitation ● Simples type of vulnerabilities. ● Allow users to upload executable files such as php. Upload a php shell or backdoor, ex: weevly 1. Generate backdoor > weevly generate [passord] [file name] 2. Upload generated file. 3. Connect to it > weevly [url to file] [password] 4. Find out how to use weevly > help File Upload Vulns
  • 10. Exploitation ● Allows an attacker to execute OS commands. ● Windows or linux commands. ● Can be used to get a reverse shell. ● Or upload any file using wget command. ● Code execution commands attached in the resources. Code Execution Vulns
  • 11. Exploitation ● Allows an attacker read ANY file on the same server. ● Access files outside www directory. Local File Inclusion
  • 12. Exploitation ● Similar to local file inclusion. ● But allows an attacker read ANY file from ANY server. ● Execute php files from other servers on the current server. ● Store php files on other servers as .txt Remote File Inclusion
  • 13. Mitigation 1. File Upload Vulns - Only allow safe files to be uploaded. 2. Code Execution Vulns: ● Don’t use dangerous functions. ● Filter use input before execution. 3. File inclusion: ● Disable allow_url_fopen & allow_url_include. ● Use static file inclusion.
  • 14. Exploitation - SQL Injection ● Most websites use a database to store data. ● Most data stored in it (usernames, passwords ..etc) ● Web application reads, updates and inserts data in the database. ● Interaction with DB done using SQL. What SQL ?
  • 15. Exploitation - SQL Injection 1. They are everywhere. 2. Give access to the database → sensitive data. 3. Can be used to read local files outside www root. 4. Can be used to log in as admin and further exploit the system. 5. Can be used to upload files. Why are they so dangerous
  • 16. Exploitation - SQL Injection ● Try to break the page. ● Using ‘and’, ‘order by’ or “ ‘ ”. ● Test text boxes and url parameters on the form http://target.com/page.php?something=something Discovering SQLi
  • 17. Exploitation - SQL Injection ● Tool designed to exploit sql injections. ● Works with many db types, mysql, mssql ...etc. ● Can be used to perform everything we learned and more! > sqlmap --help > sqlmap -u [target url] SQLmap
  • 18. Preventing SQLi ● Filters can be bypassed. ● Use black list of commands? Still can be bypassed ● Use whitelist? Same issue → Use parameterized statements, separate data from sql code.
  • 19. Exploitation - XSS Vulns ● Allow an attacker to inject javascript code into the page. ● Code is executed when the page loads. ● Code is executed on the client machine not the server. Three main types: 1. Persistent/Stored XSS 2. Reflected XSS 3. DOM based XSS XSS - Cross Site Scripting vulns
  • 20. Exploitation - XSS Vulns ● Try to inject javasript code into the pages. ● Test text boxes and url parameters on the form http://target.com/page.php?something=something Discovering XSS
  • 21. Exploitation - XSS Vulns ● None persistent, not stored. ● Only work if the target visits a specially crafted URL ● EX http://target.com/page.php?something=<script>alert(“XSS”)</script> Reflected XSS
  • 22. Exploitation - XSS Vulns ● Persistent, stored on the page or DB. ● The injected code is executed everytime the page is loaded. Stored XSS
  • 23. Exploitation - XSS Vulns ● Run any javascript code. ● Beef framework can be used to hook targets. ● Inject Beef hook in vulnerable pages. ● Execute code from beef. Exploiting XSS
  • 24. Preventing XSS Vulns ● Minimize the usage of user input on html. ● Escape any untrusted input before inserting it into the page. Char Result & → &amp; < → &lt; > → &gt; " → &quot; ' → &#x27; / → &#x2F; →https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
  • 25. Zed Attack Proxy ZAP ● Automatically find vulnerabilities in web applications. ● Free and easy to use. ● Can also be used for manual testing.