SlideShare a Scribd company logo
Hacking Web Apps
Brent White
Security Consultant
At Solutionary
Twitter: @brentwdesign
Can you set your password to "password"?
Disclosure Statement
The content within this
presentation represents the
opinions and thoughts of the
presenter and in no way
represent the thoughts or
opinions of Solutionary, NTT,
NTT Com Security, or any of
NTT’s subsidiaries.
=== Kick Off ===
A few things must happen before
the assessment starts:
• Kick-off call
• Rules of engagement doc
– When
– Limits
– Scope
– Point of contacts
=== Evidence Gathering ===
A report is
expected at the
end of the
assessment.
• The more
evidence you
collect, the
easier this
makes your life.
=== Evidence Gathering ===
KeepNote is my first choice.
– Available for Linux, Windows and Mac.
– Paste screenshots, Create embedded pages
and folders.
I'll group things based on vulnerability:
– Folder named "Default Server Pages" and
each page will be the host & port.
– Color-code the folder based on risk-rating.
(personal preference)
– Easy exporting of the KeepNote notebook as
.html files & easy copy/paste into your
program of choice while report writing.
– Dradis is another popular choice in Kali.
=== Evidence Gathering ===
By IP: By Vuln
=== Evidence Gathering ===
Document:
– HTTP Request and Response for each
vulnerability
– Any unscheduled downtime or issues
– Changes in test data
• Creation of additional accounts,
passwords, or client-provided data
• Intentional or inadvertent modification
of any static data resource
– Log all monetary transactions
• For a refund 
=== Evidence Gathering ===
Do not share screenshots or data
of a great "hack” online.
=== Evidence Gathering ===
Get relevant, legible screenshots
of the vulnerability.
=== Evidence Gathering ===
• Call out the specific issue during the write-up,
so the client can see exactly what was sent.
– If a screenshot, outline the vulnerability.
– If text, highlight the vulnerability.
=== Evidence Gathering ===
List all known
affected
pages and
Parameters for a
vulnerability.
=== Evidence Gathering ===
• Have a methodology and
checklist to go by during
each assessment.
– OWASP has a good
methodology and
checklist.
– Helps to keep you
on track
=== Discovery / OSINT ===
• Search engines, Pastebin,
ShodanHQ, Recon-NG, etc., for
anything related to the
application.
– This is a manual and time-consuming
process, but not one to be ignored!
– Email archives, logins, dev help
forums
– Any leaked credentials, known
previous hacks?
– Sites like urlvoid.com to check for
known active malware/threats for the
domain
=== Discovery / OSINT ===
I have found DB-type, schemas and
test credentials through old
development help forums that were
STILL valid!
=== Discovery / OSINT ===
=== Automated Scanning ===
"Why do you
run automated
tools?
You're
supposed to be
a hacker."
=== Automated Scanning ===
• HUGE time-saver with
assessments!
– Wide range of tests, quickly
– Finds “low-hanging fruit”
• A vuln scan is
NOT a penetration
assessment!
=== Automated Scanning ===
...and to those who say it is:
=== Automated Scanning ===
• Even though scanners help,
their findings must still be
verified.
• Don’t just rely on the scanner, but
use it in addition to manual
testing.
=== Automated Scanning ===
• Nessus
– Looks at the host and web app.
Covers everything from SSL/TLS
layer, content discovery, basic
CGI vulns and more.
• IBM App Scan
– More web app focused for things
such as SQL/LDAP injections, CSRF
and XSS, etc...
=== Automated Scanning ===
• BurpSuite Pro
– Built-in "Active" scanner, content
spider and content discovery brute-
forcer tools.
• Nikto
– Great for finding default pages,
known vulnerable scripts, CGI
testing and more
– Also built in to Nessus, but can add
a great deal of time to the scan
– I prefer to use this separately,
outside of Nessus. It gives me more
control.
=== Automated Scanning ===
– Identifies known WP vulnerabilities
– Enumerates themes, plug-ins and usernames
– Also other content-management system
scanners out there for Joomla, Drupal and
more.
=== Automated Scanning ===
=== Automated Scanning ===
• There are many more pre-
installed options in Kali.
– Find them in drop-down menu bar:
Kali Linux > Web Applications > Web
Vulnerability Scanners
• Other scanners available:
– Saint
– Nexpose
=== Automated Scanning ===
• PRO TIPS:
– You want to verify the settings of
the automated scanner. Don't just
blindly click "scan" after entering
a URL.
– Make sure that you're not using
something that's checking for
Denial-of-Service (DoS) unless
specifically requested by the
client.
– Number of threads/connections at a
time? Don't flood the host.
=== Automated Scanning ===
• PRO TIPS:
– Add any pages/functions the client
has asked you to avoid. (Password
reset page, sign-up page, "Contact"
form, etc...)
– Might need to specify a "Page not
found" or Error 404 page to help
weed out false-positives for file
discovery.
– Configure the log-in process and
credentials for authenticated scans.
– You must take the time to verify the
results and remove false-positives!!
=== Automated Scanning ===
Then when you’re ready...
=== Manual Testing ===
Automated Scanner results:
– Document the vulnerabilities that
are legitimate. Can you take it
further than the scanner?
• For example, if the scanner suspects
SQL injection, see if you can exploit
that with something like SQLMap.
=== Manual Testing ===
Explore the application through
a proxy program like BurpSuite
Pro.
– Manually explore the app while the
"Spider" and "Content Discovery"
tools are running.
– OWASP's "DirBuster" is a brute
force tool to find files and
directories.
=== Manual Testing ===
• Review the server response to
help verify what the server is
running (IIS, Apache)
• Look for parameters to fuzz
– How do they handle characters and
commands outside of the normal
actions?
• Parameters can be directly in
the URL. They are also found in
HTTP POST requests
=== Manual Testing ===
• Try Cross-site Scripting (XSS)
payloads, Cross-site Request Forgery
(CSRF), SQL/LDAP injection, Local
File Inclusion (LFI) and Remote File
Inclusion (RFI)
– BurpSuite Pro has lists available that
you can load for file discovery, XSS,
SQLi, usernames and more. There are also
several places to download your own
lists, or make your own.
– "Xenotix" by OWASP is a XSS tester.
– Save the POST or GET request and execute
with SQLMap to search for SQL injection
=== Manual Testing ===
• Is sensitive info being passed
through the URL in a GET request?
– Usernames, Passwords, Session ID, etc...
• Look for valuable comments in the
source code of the HTTP Responses
– I've found internal IPs, database names,
usernames, "hidden" admin URLs, database
calls in JavaScript and more!
– This is certainly a manual process and
is time-consuming. However, a thorough
and consistent review will pay off.
=== Manual Testing ===
To prevent “death by
PowerPoint”:
=== Manual Testing ===
• Authentication - can it by
bypassed or broken?
– Can you access URLs and functions as
an unauthenticated user that you
could while logged in?
– Can you re-use the session token
after logging off? Is there a "log
off" feature?
– Can you have multiple sessions as
the same user at the same time?
– What are the password requirements?
– Can you re-use a previous password?
=== Manual Testing ===
• Look at the host, not just the
web app
– Identify the web server platform.
Apache, IIS?
• If it's an old/outdated install, look for
exploits
– Is there an admin portal available?
• cPanel, Apache Tomcat Manager, etc...
– Are there test and default
credentials available?
– Search for backup, default and
obsolete files.
– Is directory browsing enabled? What
about directory rights?
=== Manual Testing ===
• Look at the host, not just the
web app
– Look for dangerous HTTP methods
• ie...PUT, COPY, DELETE, TRACE
– Are they vulnerable to directory
traversal, Shellshock, Heartbleed,
etc...?
– Use Nmap to see what ports/services
are open to the public. Is it just
80 & 443? Or, are their other things
available too? Check them out.
=== Manual Testing ===
• Look at the host, not just the
web app
– Look at SSL/TLS settings for known
and weak cipher vulnerabilities and
expired or untrusted certificates.
• Use SSLScan in Kali or
"TestSSLServer.jar". Qualys SSL Labs is a
good online resource too but there could
be a potential privacy issue.
– SSL Enforcement - Can you access
HTTPS areas by HTTP?
=== Manual Testing ===
• Check out the methodology from
OWASP as well as several
checklists that are available
to ensure that you're covering
all aspects.
• Practice in a lab!
• Then....
=== Manual Testing ===
Go hack some websites!
Hacking Web Apps
Brent White
Security Consultant
Twitter: @brentwdesign
www.solutionary.com

More Related Content

What's hot

DVWA BruCON Workshop
DVWA BruCON WorkshopDVWA BruCON Workshop
DVWA BruCON Workshop
testuser1223
 
Drupal security
Drupal securityDrupal security
Drupal security
Jozef Toth
 
DevSec Defense
DevSec DefenseDevSec Defense
DevSec Defense
Daniel Bohannon
 
Silent web app testing by example - BerlinSides 2011
Silent web app testing by example - BerlinSides 2011Silent web app testing by example - BerlinSides 2011
Silent web app testing by example - BerlinSides 2011
Abraham Aranguren
 
WordPress Security and Best Practices
WordPress Security and Best PracticesWordPress Security and Best Practices
WordPress Security and Best Practices
Robert Vidal
 
Top Ten Web Application Defenses v12
Top Ten Web Application Defenses v12Top Ten Web Application Defenses v12
Top Ten Web Application Defenses v12
Jim Manico
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by Default
Mohammed ALDOUB
 
Hack Proof Your Drupal Site
Hack Proof Your Drupal SiteHack Proof Your Drupal Site
Hack Proof Your Drupal Site
Naveen Valecha
 
Cyber ppt
Cyber pptCyber ppt
Cyber ppt
karthik menon
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying Techniques
Leo Loobeek
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Michael Pirnat
 
Development Security Framework based on Owasp Esapi for JSF2.0
Development Security Framework based on Owasp Esapi for JSF2.0Development Security Framework based on Owasp Esapi for JSF2.0
Development Security Framework based on Owasp Esapi for JSF2.0Rakesh Kachhadiya
 
Two scoops of Django - Security Best Practices
Two scoops of Django - Security Best PracticesTwo scoops of Django - Security Best Practices
Two scoops of Django - Security Best Practices
Spin Lai
 
Top Ten Proactive Web Security Controls v5
Top Ten Proactive Web Security Controls v5Top Ten Proactive Web Security Controls v5
Top Ten Proactive Web Security Controls v5
Jim Manico
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
Securing Drupal 7: Do not get Hacked or Spammed to death!
Securing Drupal 7: Do not get Hacked or Spammed to death!Securing Drupal 7: Do not get Hacked or Spammed to death!
Securing Drupal 7: Do not get Hacked or Spammed to death!
Adelle Frank
 
Cross Site Scripting (XSS) Defense with Java
Cross Site Scripting (XSS) Defense with JavaCross Site Scripting (XSS) Defense with Java
Cross Site Scripting (XSS) Defense with Java
Jim Manico
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterpriseTaylor Lovett
 
Top Ten Java Defense for Web Applications v2
Top Ten Java Defense for Web Applications v2Top Ten Java Defense for Web Applications v2
Top Ten Java Defense for Web Applications v2
Jim Manico
 
Android pentesting the hackers-meetup
Android pentesting the hackers-meetupAndroid pentesting the hackers-meetup
Android pentesting the hackers-meetup
kunwaratul hax0r
 

What's hot (20)

DVWA BruCON Workshop
DVWA BruCON WorkshopDVWA BruCON Workshop
DVWA BruCON Workshop
 
Drupal security
Drupal securityDrupal security
Drupal security
 
DevSec Defense
DevSec DefenseDevSec Defense
DevSec Defense
 
Silent web app testing by example - BerlinSides 2011
Silent web app testing by example - BerlinSides 2011Silent web app testing by example - BerlinSides 2011
Silent web app testing by example - BerlinSides 2011
 
WordPress Security and Best Practices
WordPress Security and Best PracticesWordPress Security and Best Practices
WordPress Security and Best Practices
 
Top Ten Web Application Defenses v12
Top Ten Web Application Defenses v12Top Ten Web Application Defenses v12
Top Ten Web Application Defenses v12
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by Default
 
Hack Proof Your Drupal Site
Hack Proof Your Drupal SiteHack Proof Your Drupal Site
Hack Proof Your Drupal Site
 
Cyber ppt
Cyber pptCyber ppt
Cyber ppt
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying Techniques
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
 
Development Security Framework based on Owasp Esapi for JSF2.0
Development Security Framework based on Owasp Esapi for JSF2.0Development Security Framework based on Owasp Esapi for JSF2.0
Development Security Framework based on Owasp Esapi for JSF2.0
 
Two scoops of Django - Security Best Practices
Two scoops of Django - Security Best PracticesTwo scoops of Django - Security Best Practices
Two scoops of Django - Security Best Practices
 
Top Ten Proactive Web Security Controls v5
Top Ten Proactive Web Security Controls v5Top Ten Proactive Web Security Controls v5
Top Ten Proactive Web Security Controls v5
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Securing Drupal 7: Do not get Hacked or Spammed to death!
Securing Drupal 7: Do not get Hacked or Spammed to death!Securing Drupal 7: Do not get Hacked or Spammed to death!
Securing Drupal 7: Do not get Hacked or Spammed to death!
 
Cross Site Scripting (XSS) Defense with Java
Cross Site Scripting (XSS) Defense with JavaCross Site Scripting (XSS) Defense with Java
Cross Site Scripting (XSS) Defense with Java
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterprise
 
Top Ten Java Defense for Web Applications v2
Top Ten Java Defense for Web Applications v2Top Ten Java Defense for Web Applications v2
Top Ten Java Defense for Web Applications v2
 
Android pentesting the hackers-meetup
Android pentesting the hackers-meetupAndroid pentesting the hackers-meetup
Android pentesting the hackers-meetup
 

Viewers also liked

Axoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesAxoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing Services
Bulent Buyukkahraman
 
Tishathompsonfashiondesigns
TishathompsonfashiondesignsTishathompsonfashiondesigns
Tishathompsonfashiondesigns
guest0347cb6
 
Web Application Security 101 - 04 Testing Methodology
Web Application Security 101 - 04 Testing MethodologyWeb Application Security 101 - 04 Testing Methodology
Web Application Security 101 - 04 Testing Methodology
Websecurify
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
Sudhanshu Chauhan
 
Everybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs tooEverybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs too
Nahidul Kibria
 
Web Application Penetration Testing
Web Application Penetration TestingWeb Application Penetration Testing
Web Application Penetration Testing
Muhammad Adeel Rajput
 
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
Denim Group
 
TriplePlay-WebAppPenTestingTools
TriplePlay-WebAppPenTestingToolsTriplePlay-WebAppPenTestingTools
TriplePlay-WebAppPenTestingToolsYury Chemerkin
 
«How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga «How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga
0xdec0de
 
Post Exploitation Using Meterpreter
Post Exploitation Using MeterpreterPost Exploitation Using Meterpreter
Post Exploitation Using MeterpreterShubham Mittal
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseNetSPI
 
Web application penetration testing
Web application penetration testingWeb application penetration testing
Web application penetration testingImaginea
 
Basic of Ethical Hacking and Penetration Testing - 1st Module
Basic of Ethical Hacking and Penetration Testing - 1st ModuleBasic of Ethical Hacking and Penetration Testing - 1st Module
Basic of Ethical Hacking and Penetration Testing - 1st Module
ankit sarode
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
Anurag Srivastava
 
Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016
bugcrowd
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
Nahidul Kibria
 
Web Application Penetration Testing Introduction
Web Application Penetration Testing IntroductionWeb Application Penetration Testing Introduction
Web Application Penetration Testing Introductiongbud7
 
Tools for Open Source Intelligence (OSINT)
Tools for Open Source Intelligence (OSINT)Tools for Open Source Intelligence (OSINT)
Tools for Open Source Intelligence (OSINT)
Sudhanshu Chauhan
 

Viewers also liked (18)

Axoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesAxoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing Services
 
Tishathompsonfashiondesigns
TishathompsonfashiondesignsTishathompsonfashiondesigns
Tishathompsonfashiondesigns
 
Web Application Security 101 - 04 Testing Methodology
Web Application Security 101 - 04 Testing MethodologyWeb Application Security 101 - 04 Testing Methodology
Web Application Security 101 - 04 Testing Methodology
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
 
Everybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs tooEverybody loves html5,h4ck3rs too
Everybody loves html5,h4ck3rs too
 
Web Application Penetration Testing
Web Application Penetration TestingWeb Application Penetration Testing
Web Application Penetration Testing
 
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
 
TriplePlay-WebAppPenTestingTools
TriplePlay-WebAppPenTestingToolsTriplePlay-WebAppPenTestingTools
TriplePlay-WebAppPenTestingTools
 
«How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga «How to start in web application penetration testing» by Maxim Dzhalamaga
«How to start in web application penetration testing» by Maxim Dzhalamaga
 
Post Exploitation Using Meterpreter
Post Exploitation Using MeterpreterPost Exploitation Using Meterpreter
Post Exploitation Using Meterpreter
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
Web application penetration testing
Web application penetration testingWeb application penetration testing
Web application penetration testing
 
Basic of Ethical Hacking and Penetration Testing - 1st Module
Basic of Ethical Hacking and Penetration Testing - 1st ModuleBasic of Ethical Hacking and Penetration Testing - 1st Module
Basic of Ethical Hacking and Penetration Testing - 1st Module
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
 
Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
 
Web Application Penetration Testing Introduction
Web Application Penetration Testing IntroductionWeb Application Penetration Testing Introduction
Web Application Penetration Testing Introduction
 
Tools for Open Source Intelligence (OSINT)
Tools for Open Source Intelligence (OSINT)Tools for Open Source Intelligence (OSINT)
Tools for Open Source Intelligence (OSINT)
 

Similar to DEF CON 23 - Hacking Web Apps @brentwdesign

Hacking Web Apps by Brent White
Hacking Web Apps by Brent WhiteHacking Web Apps by Brent White
Hacking Web Apps by Brent White
EC-Council
 
DEF CON 23 - BRENT - white hacking web apps wp
DEF CON 23 - BRENT - white hacking web apps wpDEF CON 23 - BRENT - white hacking web apps wp
DEF CON 23 - BRENT - white hacking web apps wp
Felipe Prado
 
Lares from LOW to PWNED
Lares from LOW to PWNEDLares from LOW to PWNED
Lares from LOW to PWNED
Chris Gates
 
My tryst with sourcecode review
My tryst with sourcecode reviewMy tryst with sourcecode review
My tryst with sourcecode review
Anant Shrivastava
 
Ekoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's MethodologyEkoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's Methodology
bugcrowd
 
Why internal pen tests are still fun
Why internal pen tests are still funWhy internal pen tests are still fun
Why internal pen tests are still funpyschedelicsupernova
 
The Web Application Hackers Toolchain
The Web Application Hackers ToolchainThe Web Application Hackers Toolchain
The Web Application Hackers Toolchain
jasonhaddix
 
Security guidelines
Security guidelinesSecurity guidelines
Security guidelines
karthz
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
Gianluca Varisco
 
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
Neo word press meetup   ehermits - how to keep your blog from being hacked 2012Neo word press meetup   ehermits - how to keep your blog from being hacked 2012
Neo word press meetup ehermits - how to keep your blog from being hacked 2012Brian Layman
 
The Hacking Game - Think Like a Hacker Meetup 12072023.pptx
The Hacking Game - Think Like a Hacker Meetup 12072023.pptxThe Hacking Game - Think Like a Hacker Meetup 12072023.pptx
The Hacking Game - Think Like a Hacker Meetup 12072023.pptx
lior mazor
 
You need a PROcess to catch running processes and their modules_v2.0
You need a PROcess to catch running processes and their modules_v2.0You need a PROcess to catch running processes and their modules_v2.0
You need a PROcess to catch running processes and their modules_v2.0
Michael Gough
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
edm00se
 
we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Pythonwe45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Python
Abhay Bhargav
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
Mandi Walls
 
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
Chris Gates
 
Pentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated TestingPentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated Testing
Andrew McNicol
 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Clark Everetts
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
Achievers Tech
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
wajrcs
 

Similar to DEF CON 23 - Hacking Web Apps @brentwdesign (20)

Hacking Web Apps by Brent White
Hacking Web Apps by Brent WhiteHacking Web Apps by Brent White
Hacking Web Apps by Brent White
 
DEF CON 23 - BRENT - white hacking web apps wp
DEF CON 23 - BRENT - white hacking web apps wpDEF CON 23 - BRENT - white hacking web apps wp
DEF CON 23 - BRENT - white hacking web apps wp
 
Lares from LOW to PWNED
Lares from LOW to PWNEDLares from LOW to PWNED
Lares from LOW to PWNED
 
My tryst with sourcecode review
My tryst with sourcecode reviewMy tryst with sourcecode review
My tryst with sourcecode review
 
Ekoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's MethodologyEkoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's Methodology
 
Why internal pen tests are still fun
Why internal pen tests are still funWhy internal pen tests are still fun
Why internal pen tests are still fun
 
The Web Application Hackers Toolchain
The Web Application Hackers ToolchainThe Web Application Hackers Toolchain
The Web Application Hackers Toolchain
 
Security guidelines
Security guidelinesSecurity guidelines
Security guidelines
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
 
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
Neo word press meetup   ehermits - how to keep your blog from being hacked 2012Neo word press meetup   ehermits - how to keep your blog from being hacked 2012
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
 
The Hacking Game - Think Like a Hacker Meetup 12072023.pptx
The Hacking Game - Think Like a Hacker Meetup 12072023.pptxThe Hacking Game - Think Like a Hacker Meetup 12072023.pptx
The Hacking Game - Think Like a Hacker Meetup 12072023.pptx
 
You need a PROcess to catch running processes and their modules_v2.0
You need a PROcess to catch running processes and their modules_v2.0You need a PROcess to catch running processes and their modules_v2.0
You need a PROcess to catch running processes and their modules_v2.0
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Pythonwe45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Python
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
 
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
 
Pentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated TestingPentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated Testing
 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 

DEF CON 23 - Hacking Web Apps @brentwdesign

  • 1. Hacking Web Apps Brent White Security Consultant At Solutionary Twitter: @brentwdesign Can you set your password to "password"?
  • 2. Disclosure Statement The content within this presentation represents the opinions and thoughts of the presenter and in no way represent the thoughts or opinions of Solutionary, NTT, NTT Com Security, or any of NTT’s subsidiaries.
  • 3. === Kick Off === A few things must happen before the assessment starts: • Kick-off call • Rules of engagement doc – When – Limits – Scope – Point of contacts
  • 4. === Evidence Gathering === A report is expected at the end of the assessment. • The more evidence you collect, the easier this makes your life.
  • 5. === Evidence Gathering === KeepNote is my first choice. – Available for Linux, Windows and Mac. – Paste screenshots, Create embedded pages and folders. I'll group things based on vulnerability: – Folder named "Default Server Pages" and each page will be the host & port. – Color-code the folder based on risk-rating. (personal preference) – Easy exporting of the KeepNote notebook as .html files & easy copy/paste into your program of choice while report writing. – Dradis is another popular choice in Kali.
  • 6. === Evidence Gathering === By IP: By Vuln
  • 7. === Evidence Gathering === Document: – HTTP Request and Response for each vulnerability – Any unscheduled downtime or issues – Changes in test data • Creation of additional accounts, passwords, or client-provided data • Intentional or inadvertent modification of any static data resource – Log all monetary transactions • For a refund 
  • 8. === Evidence Gathering === Do not share screenshots or data of a great "hack” online.
  • 9. === Evidence Gathering === Get relevant, legible screenshots of the vulnerability.
  • 10. === Evidence Gathering === • Call out the specific issue during the write-up, so the client can see exactly what was sent. – If a screenshot, outline the vulnerability. – If text, highlight the vulnerability.
  • 11. === Evidence Gathering === List all known affected pages and Parameters for a vulnerability.
  • 12. === Evidence Gathering === • Have a methodology and checklist to go by during each assessment. – OWASP has a good methodology and checklist. – Helps to keep you on track
  • 13. === Discovery / OSINT === • Search engines, Pastebin, ShodanHQ, Recon-NG, etc., for anything related to the application. – This is a manual and time-consuming process, but not one to be ignored! – Email archives, logins, dev help forums – Any leaked credentials, known previous hacks? – Sites like urlvoid.com to check for known active malware/threats for the domain
  • 14. === Discovery / OSINT === I have found DB-type, schemas and test credentials through old development help forums that were STILL valid!
  • 15. === Discovery / OSINT ===
  • 16. === Automated Scanning === "Why do you run automated tools? You're supposed to be a hacker."
  • 17. === Automated Scanning === • HUGE time-saver with assessments! – Wide range of tests, quickly – Finds “low-hanging fruit” • A vuln scan is NOT a penetration assessment!
  • 18. === Automated Scanning === ...and to those who say it is:
  • 19. === Automated Scanning === • Even though scanners help, their findings must still be verified. • Don’t just rely on the scanner, but use it in addition to manual testing.
  • 20. === Automated Scanning === • Nessus – Looks at the host and web app. Covers everything from SSL/TLS layer, content discovery, basic CGI vulns and more. • IBM App Scan – More web app focused for things such as SQL/LDAP injections, CSRF and XSS, etc...
  • 21. === Automated Scanning === • BurpSuite Pro – Built-in "Active" scanner, content spider and content discovery brute- forcer tools. • Nikto – Great for finding default pages, known vulnerable scripts, CGI testing and more – Also built in to Nessus, but can add a great deal of time to the scan – I prefer to use this separately, outside of Nessus. It gives me more control.
  • 22. === Automated Scanning === – Identifies known WP vulnerabilities – Enumerates themes, plug-ins and usernames – Also other content-management system scanners out there for Joomla, Drupal and more.
  • 24. === Automated Scanning === • There are many more pre- installed options in Kali. – Find them in drop-down menu bar: Kali Linux > Web Applications > Web Vulnerability Scanners • Other scanners available: – Saint – Nexpose
  • 25. === Automated Scanning === • PRO TIPS: – You want to verify the settings of the automated scanner. Don't just blindly click "scan" after entering a URL. – Make sure that you're not using something that's checking for Denial-of-Service (DoS) unless specifically requested by the client. – Number of threads/connections at a time? Don't flood the host.
  • 26. === Automated Scanning === • PRO TIPS: – Add any pages/functions the client has asked you to avoid. (Password reset page, sign-up page, "Contact" form, etc...) – Might need to specify a "Page not found" or Error 404 page to help weed out false-positives for file discovery. – Configure the log-in process and credentials for authenticated scans. – You must take the time to verify the results and remove false-positives!!
  • 27. === Automated Scanning === Then when you’re ready...
  • 28. === Manual Testing === Automated Scanner results: – Document the vulnerabilities that are legitimate. Can you take it further than the scanner? • For example, if the scanner suspects SQL injection, see if you can exploit that with something like SQLMap.
  • 29. === Manual Testing === Explore the application through a proxy program like BurpSuite Pro. – Manually explore the app while the "Spider" and "Content Discovery" tools are running. – OWASP's "DirBuster" is a brute force tool to find files and directories.
  • 30. === Manual Testing === • Review the server response to help verify what the server is running (IIS, Apache) • Look for parameters to fuzz – How do they handle characters and commands outside of the normal actions? • Parameters can be directly in the URL. They are also found in HTTP POST requests
  • 31. === Manual Testing === • Try Cross-site Scripting (XSS) payloads, Cross-site Request Forgery (CSRF), SQL/LDAP injection, Local File Inclusion (LFI) and Remote File Inclusion (RFI) – BurpSuite Pro has lists available that you can load for file discovery, XSS, SQLi, usernames and more. There are also several places to download your own lists, or make your own. – "Xenotix" by OWASP is a XSS tester. – Save the POST or GET request and execute with SQLMap to search for SQL injection
  • 32. === Manual Testing === • Is sensitive info being passed through the URL in a GET request? – Usernames, Passwords, Session ID, etc... • Look for valuable comments in the source code of the HTTP Responses – I've found internal IPs, database names, usernames, "hidden" admin URLs, database calls in JavaScript and more! – This is certainly a manual process and is time-consuming. However, a thorough and consistent review will pay off.
  • 33. === Manual Testing === To prevent “death by PowerPoint”:
  • 34. === Manual Testing === • Authentication - can it by bypassed or broken? – Can you access URLs and functions as an unauthenticated user that you could while logged in? – Can you re-use the session token after logging off? Is there a "log off" feature? – Can you have multiple sessions as the same user at the same time? – What are the password requirements? – Can you re-use a previous password?
  • 35. === Manual Testing === • Look at the host, not just the web app – Identify the web server platform. Apache, IIS? • If it's an old/outdated install, look for exploits – Is there an admin portal available? • cPanel, Apache Tomcat Manager, etc... – Are there test and default credentials available? – Search for backup, default and obsolete files. – Is directory browsing enabled? What about directory rights?
  • 36. === Manual Testing === • Look at the host, not just the web app – Look for dangerous HTTP methods • ie...PUT, COPY, DELETE, TRACE – Are they vulnerable to directory traversal, Shellshock, Heartbleed, etc...? – Use Nmap to see what ports/services are open to the public. Is it just 80 & 443? Or, are their other things available too? Check them out.
  • 37. === Manual Testing === • Look at the host, not just the web app – Look at SSL/TLS settings for known and weak cipher vulnerabilities and expired or untrusted certificates. • Use SSLScan in Kali or "TestSSLServer.jar". Qualys SSL Labs is a good online resource too but there could be a potential privacy issue. – SSL Enforcement - Can you access HTTPS areas by HTTP?
  • 38. === Manual Testing === • Check out the methodology from OWASP as well as several checklists that are available to ensure that you're covering all aspects. • Practice in a lab! • Then....
  • 39. === Manual Testing === Go hack some websites!
  • 40. Hacking Web Apps Brent White Security Consultant Twitter: @brentwdesign www.solutionary.com

Editor's Notes

  1. Before you can start tearing into a web application for a customer, there are a few things that need to happen. There are rules and goals that need to be established for the assessment that happen during the scoping and kick-off discussions. Since scoping and contracts make me sleepy, I will omit the details. The kick-off call is where the rubber starts hitting the road, and exists to bridge the gap between the legal contract and the final report using the Rules of Engagement document, also known as the RoE. The RoE answers the questions of who, when and what and identifies the boundaries between what is and is not allowed during the actual assessment. After the contents of this document have been agreed upon, you are good to go on executing the assessment.
  2. At the end of every assessment, a report is expected. The more evidence you collect and the better it’s organized can really help shorten the time it takes to write the report. Before I start anything, I set up documents to keep evidence, notes and progress.
  3. DON’T LIMIT TO A CHECKLIST! It’s just a thing to keep you on track.
  4. There are many different areas of a web application that need to be looked at in order to conduct a thorough penetration assessment.