SlideShare a Scribd company logo
©2009 Justin C. Klein Keane
PHP Code Auditing
Session 3 – Tools of the Trade & Crafting
Malicious Input
Justin C. Klein Keane
jukeane@sas.upenn.edu
©2009 Justin C. Klein Keane
Setting Up Environment

Install VMWare workstation, or player
− Fusion on the Mac

Download the target host

Unzip the host files then start the host in
VMWare
©2009 Justin C. Klein Keane
Get VMWare Image Running

If prompted, say you moved the image
©2009 Justin C. Klein Keane
CentOS Image Booting

Once image boots log in with root/password
©2009 Justin C. Klein Keane
Find the IP Address

Get the IP address of the virtual machine using
# /sbin/ifconfig eth0
©2009 Justin C. Klein Keane
Ensure Apache is Running
©2009 Justin C. Klein Keane
Upload the Exercise
©2009 Justin C. Klein Keane
Extract the Exercise
©2009 Justin C. Klein Keane
Install the Database
©2009 Justin C. Klein Keane
Check the Application
©2009 Justin C. Klein Keane
Troubleshooting

If you get a blank screen, check the web server
and MySQL server:
− # service httpd status
− # service mysqld status

If you need to start services use:
− # /etc/rc.d/init.d/httpd restart
− # /etc/rc.d/init.d/mysqld restart
©2009 Justin C. Klein Keane
Troubleshooting Cont.

Check the log files:
− # tail /var/log/httpd/error_log
©2009 Justin C. Klein Keane
Install Eclipse PDT

Download PDT all in one from
http://www.eclipse.org/pdt/

Alternatively install Eclipse from
http://www.eclipse.org/downloads/
− Be sure to download “Eclipse IDE for Java
Developers”
©2009 Justin C. Klein Keane
Install PDT if Necessary

Use instructions at
− http://wiki.eclipse.org/PDT/Installation

Some platforms, such as Fedora, may have
packages for PHP development, these may be
more stable than a manual install of PDT
©2009 Justin C. Klein Keane
Install RSE

Install the Remote System Explorer tools

Help -> Software Updates

Click the “Add Site” button

Enter the URL
− http://download.eclipse.org/dsdp/tm/download
s/

Select Remote System Explorer Core, Remote
System Explorer End-User Runtime, Remote
System Explorer Extender SDK, and RSE SSH
Service
©2009 Justin C. Klein Keane
Install the RSE Components

Click “Install”
©2009 Justin C. Klein Keane
Open Eclipse

Open Eclipse

Default “perspective” is dull and doesn't suit our
purposes

Click Window -> Show View -> Remote System

In the new window right click and select “new
connection”
©2009 Justin C. Klein Keane
Add New Connection

Select “SSH Only”, click Next
©2009 Justin C. Klein Keane
Connection Details

Fill in VMWare host information, click Finish
©2009 Justin C. Klein Keane
Connect to Remote Host

Click the down arrow for the host, then “Sftp
Files” then “Root” and enter credentials
©2009 Justin C. Klein Keane
View Source
©2009 Justin C. Klein Keane
Look for Potential SQL Injection
©2009 Justin C. Klein Keane
Testing the Injection

First we'll try the injection using manual
methods

Next we'll use some tools to help us out

Sometimes manual testing may be impossible
©2009 Justin C. Klein Keane
Manual Testing
©2009 Justin C. Klein Keane
Using Tamper Data

To start Firefox Tamper Data plugin select
− Tools -> Tamper Data

Click “Start Tamper” in the upper left

Fill in your test values again and submit

When prompted click “Tamper”
©2009 Justin C. Klein Keane
That's Interesting
©2009 Justin C. Klein Keane
Tamper

Fill in new values for Post Parameters

Note that you can also tamper with Cookies
and Referer Data

Click “OK” when you're happy with your values
©2009 Justin C. Klein Keane
That's More Like It
©2009 Justin C. Klein Keane
Checking Cookies

You can also view cookies using the Web
Developer Plugin
− select Cookies -> View Cookie Information
©2009 Justin C. Klein Keane
Using Web Developer
©2009 Justin C. Klein Keane
View Source

View -> Source in Firefox

Look for comments, JavaScript and the like

Sometimes source will reveal information you
may have missed
©2009 Justin C. Klein Keane
JavaScript in Source
©2009 Justin C. Klein Keane
Paros

Download Paros from
http://www.parosproxy.org

Paros is Java based, so if Eclipse can run on
your machine, so can Paros

Paros is a proxy, so it captures requests from
your web browser to a server and responses
from the server back to your browser

You can use it to alter your requests quite
easily
©2009 Justin C. Klein Keane
Start Up Paros
©2009 Justin C. Klein Keane
Configure Firefox

You need to configure Firefox to use Paros as a
proxy
− Choose Edit -> Preferences, then Advanced
-> Network -> Settings
©2009 Justin C. Klein Keane
Configure Settings
©2009 Justin C. Klein Keane
Create Request

Once Firefox is configured to utilize Paros
browse through the site normally

Note how Paros records all your interactions

Try submitting the login form

Note that Paros records GET and POST
requests
©2009 Justin C. Klein Keane
Paros in Action
©2009 Justin C. Klein Keane
Paros Records Details
©2009 Justin C. Klein Keane
Alter Requests

To alter a request click on it in the bottom
window

Next right click and select “Resend”

This opens a new window where you can alter
any of the send requests

Change any data and click the “Send” button
©2009 Justin C. Klein Keane
Paros Resend
©2009 Justin C. Klein Keane
Response is Raw
©2009 Justin C. Klein Keane
Bypassing the Login

In our manual code analysis we found a SQL
injection vulnerability in the login form

A JavaScript check prevents easy manual
testing

We could disable JavaScript or use Paros or
Tamper Data to alter the data we're submitting
for the login form

First let's examine the query
©2009 Justin C. Klein Keane
Our Target
$sql = "select user_id from user
where user_username = '" .
$_POST['username'] . "'
AND user_password = md5('" .
$_POST['password'] . "')";
©2009 Justin C. Klein Keane
Target SQL
select user_id from user
where
user_username = 'somename'
and
user_password = md5('somepass');
©2009 Justin C. Klein Keane
Possible Permutation
select user_id from user
where
user_username = 'somename'
or 1='1'
and
user_password = md5('somepass');

What is the proper input to create this
statement?
©2009 Justin C. Klein Keane
Testing Your SQL
©2009 Justin C. Klein Keane
Bypassing Login
with SQL Injection
©2009 Justin C. Klein Keane
We're In!
©2009 Justin C. Klein Keane
Chained Exploits

Note that the exploitation of the authentication
leads to access to new, potentially exploitable
functionality

Authentication leads to cookie granting

Admin functions are often “trusted”
©2009 Justin C. Klein Keane
Steps to Remember

Look for vulnerabilities
− In the source code
− In the functional front end

Test your exploits in the “friendliest”
environment possible

Use tools to recreate attacks in the live
environment.
©2009 Justin C. Klein Keane
For Next Time
-Install Paros Proxy
-Install Firefox and the Tamper Data and Web
Developer plug ins
-Download and install the sample SQL injection
application on your VM
-Identify at least 4 SQL injection vulnerabilities
-Develop exploits for each vulnerability
-Develop fixes for each vulnerability

More Related Content

What's hot (14)

PPT
How to begin with Amazon EC2?
Cuelogic Technologies Pvt. Ltd.
 
PDF
Bluetooth Over-The-Air Firmware Update
Ramin Firoozye
 
PDF
Converting you website to https
Peter Salerno
 
PDF
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa
 
PPTX
HTTPS and HTTP/2
MatthewWalker9
 
PDF
SV iOS Meetup Slides: YmsCoreBluetooth and Deep Core Bluetooth
Charles Y. Choi
 
DOC
Create Applicationwith IIS 7
Sandeep Verma
 
PPTX
How to Install Magento on Google Cloud Engine (GCE)
Cloudways
 
PDF
Account creation lab guide
openstackcisco
 
PPT
Open mic ibm connections and ibm verse on premise integration 1
sreeJk
 
PDF
Jenkins hand in hand
netdbncku
 
PPTX
Sexy, Powerful, Exciting
Robert Senktas
 
PDF
Developers, Be a Bada$$ with WP-CLI
WP Engine
 
PDF
ReactJS Workflows
Cem Arguvanlı
 
How to begin with Amazon EC2?
Cuelogic Technologies Pvt. Ltd.
 
Bluetooth Over-The-Air Firmware Update
Ramin Firoozye
 
Converting you website to https
Peter Salerno
 
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa
 
HTTPS and HTTP/2
MatthewWalker9
 
SV iOS Meetup Slides: YmsCoreBluetooth and Deep Core Bluetooth
Charles Y. Choi
 
Create Applicationwith IIS 7
Sandeep Verma
 
How to Install Magento on Google Cloud Engine (GCE)
Cloudways
 
Account creation lab guide
openstackcisco
 
Open mic ibm connections and ibm verse on premise integration 1
sreeJk
 
Jenkins hand in hand
netdbncku
 
Sexy, Powerful, Exciting
Robert Senktas
 
Developers, Be a Bada$$ with WP-CLI
WP Engine
 
ReactJS Workflows
Cem Arguvanlı
 

Similar to Php ppt (20)

PPTX
OWASP San Diego Training Presentation
owaspsd
 
PPTX
Hacking WebApps for fun and profit : how to approach a target?
Yassine Aboukir
 
PPTX
Application and Website Security -- Fundamental Edition
Daniel Owens
 
PPTX
08- pen-testing Web applications attacks.pptx
wassimahmad9
 
KEY
Introduction To Navicat MySql GUI
chadrobertson75
 
PDF
Hackbattle 2013 Walkthrough (Nasty Salon V2)
Munir Njiru
 
PDF
Web Security - Introduction v.1.3
Oles Seheda
 
PDF
Web Security - Introduction
SQALab
 
PDF
CNIT 129S: Ch 4: Mapping the Application
Sam Bowne
 
PDF
4 Mapping the Application
Sam Bowne
 
PDF
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
Hackito Ergo Sum
 
PDF
The top 10 security issues in web applications
Devnology
 
PPT
Denis Baranov: Root via XSS
qqlan
 
PPT
Root via XSS
Positive Hack Days
 
PPT
Root via XSS
Positive Hack Days
 
PDF
SOHOpelessly Broken
The Security of Things Forum
 
PPTX
Dirty Little Secrets They Didn't Teach You In Pentest Class v2
Rob Fuller
 
PPTX
Dirty Little Secrets They Didn't Teach You In Pentest Class v2
Chris Gates
 
PPTX
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Eric Vanderburg
 
PPT
Penetration Testing Basics
Rick Wanner
 
OWASP San Diego Training Presentation
owaspsd
 
Hacking WebApps for fun and profit : how to approach a target?
Yassine Aboukir
 
Application and Website Security -- Fundamental Edition
Daniel Owens
 
08- pen-testing Web applications attacks.pptx
wassimahmad9
 
Introduction To Navicat MySql GUI
chadrobertson75
 
Hackbattle 2013 Walkthrough (Nasty Salon V2)
Munir Njiru
 
Web Security - Introduction v.1.3
Oles Seheda
 
Web Security - Introduction
SQALab
 
CNIT 129S: Ch 4: Mapping the Application
Sam Bowne
 
4 Mapping the Application
Sam Bowne
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
Hackito Ergo Sum
 
The top 10 security issues in web applications
Devnology
 
Denis Baranov: Root via XSS
qqlan
 
Root via XSS
Positive Hack Days
 
Root via XSS
Positive Hack Days
 
SOHOpelessly Broken
The Security of Things Forum
 
Dirty Little Secrets They Didn't Teach You In Pentest Class v2
Rob Fuller
 
Dirty Little Secrets They Didn't Teach You In Pentest Class v2
Chris Gates
 
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
Eric Vanderburg
 
Penetration Testing Basics
Rick Wanner
 
Ad

More from ankitankesh (6)

PPT
Ac supply system
ankitankesh
 
PPT
Ac supply system
ankitankesh
 
PPT
Php code-auditing
ankitankesh
 
PPT
Php code-auditing3
ankitankesh
 
TXT
Limesurvey survey Reports
ankitankesh
 
PPT
Php code-auditing3
ankitankesh
 
Ac supply system
ankitankesh
 
Ac supply system
ankitankesh
 
Php code-auditing
ankitankesh
 
Php code-auditing3
ankitankesh
 
Limesurvey survey Reports
ankitankesh
 
Php code-auditing3
ankitankesh
 
Ad

Recently uploaded (20)

PDF
Digital water marking system project report
Kamal Acharya
 
PPTX
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
PDF
Bachelor of information technology syll
SudarsanAssistantPro
 
PDF
NTPC PATRATU Summer internship report.pdf
hemant03701
 
PDF
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
PDF
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
PDF
Electrical Machines and Their Protection.pdf
Nabajyoti Banik
 
PDF
20ES1152 Programming for Problem Solving Lab Manual VRSEC.pdf
Ashutosh Satapathy
 
PPTX
Biosensors, BioDevices, Biomediccal.pptx
AsimovRiyaz
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
PDF
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
PPTX
OCS353 DATA SCIENCE FUNDAMENTALS- Unit 1 Introduction to Data Science
A R SIVANESH M.E., (Ph.D)
 
PDF
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
PPTX
Water Resources Engineering (CVE 728)--Slide 4.pptx
mohammedado3
 
PPT
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
PPTX
MODULE 03 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
PPTX
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
原版一样(EC Lille毕业证书)法国里尔中央理工学院毕业证补办
Taqyea
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
Digital water marking system project report
Kamal Acharya
 
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
Bachelor of information technology syll
SudarsanAssistantPro
 
NTPC PATRATU Summer internship report.pdf
hemant03701
 
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
Electrical Machines and Their Protection.pdf
Nabajyoti Banik
 
20ES1152 Programming for Problem Solving Lab Manual VRSEC.pdf
Ashutosh Satapathy
 
Biosensors, BioDevices, Biomediccal.pptx
AsimovRiyaz
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
OCS353 DATA SCIENCE FUNDAMENTALS- Unit 1 Introduction to Data Science
A R SIVANESH M.E., (Ph.D)
 
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
Water Resources Engineering (CVE 728)--Slide 4.pptx
mohammedado3
 
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
MODULE 03 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
原版一样(EC Lille毕业证书)法国里尔中央理工学院毕业证补办
Taqyea
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 

Php ppt

  • 1. ©2009 Justin C. Klein Keane PHP Code Auditing Session 3 – Tools of the Trade & Crafting Malicious Input Justin C. Klein Keane [email protected]
  • 2. ©2009 Justin C. Klein Keane Setting Up Environment  Install VMWare workstation, or player − Fusion on the Mac  Download the target host  Unzip the host files then start the host in VMWare
  • 3. ©2009 Justin C. Klein Keane Get VMWare Image Running  If prompted, say you moved the image
  • 4. ©2009 Justin C. Klein Keane CentOS Image Booting  Once image boots log in with root/password
  • 5. ©2009 Justin C. Klein Keane Find the IP Address  Get the IP address of the virtual machine using # /sbin/ifconfig eth0
  • 6. ©2009 Justin C. Klein Keane Ensure Apache is Running
  • 7. ©2009 Justin C. Klein Keane Upload the Exercise
  • 8. ©2009 Justin C. Klein Keane Extract the Exercise
  • 9. ©2009 Justin C. Klein Keane Install the Database
  • 10. ©2009 Justin C. Klein Keane Check the Application
  • 11. ©2009 Justin C. Klein Keane Troubleshooting  If you get a blank screen, check the web server and MySQL server: − # service httpd status − # service mysqld status  If you need to start services use: − # /etc/rc.d/init.d/httpd restart − # /etc/rc.d/init.d/mysqld restart
  • 12. ©2009 Justin C. Klein Keane Troubleshooting Cont.  Check the log files: − # tail /var/log/httpd/error_log
  • 13. ©2009 Justin C. Klein Keane Install Eclipse PDT  Download PDT all in one from http://www.eclipse.org/pdt/  Alternatively install Eclipse from http://www.eclipse.org/downloads/ − Be sure to download “Eclipse IDE for Java Developers”
  • 14. ©2009 Justin C. Klein Keane Install PDT if Necessary  Use instructions at − http://wiki.eclipse.org/PDT/Installation  Some platforms, such as Fedora, may have packages for PHP development, these may be more stable than a manual install of PDT
  • 15. ©2009 Justin C. Klein Keane Install RSE  Install the Remote System Explorer tools  Help -> Software Updates  Click the “Add Site” button  Enter the URL − http://download.eclipse.org/dsdp/tm/download s/  Select Remote System Explorer Core, Remote System Explorer End-User Runtime, Remote System Explorer Extender SDK, and RSE SSH Service
  • 16. ©2009 Justin C. Klein Keane Install the RSE Components  Click “Install”
  • 17. ©2009 Justin C. Klein Keane Open Eclipse  Open Eclipse  Default “perspective” is dull and doesn't suit our purposes  Click Window -> Show View -> Remote System  In the new window right click and select “new connection”
  • 18. ©2009 Justin C. Klein Keane Add New Connection  Select “SSH Only”, click Next
  • 19. ©2009 Justin C. Klein Keane Connection Details  Fill in VMWare host information, click Finish
  • 20. ©2009 Justin C. Klein Keane Connect to Remote Host  Click the down arrow for the host, then “Sftp Files” then “Root” and enter credentials
  • 21. ©2009 Justin C. Klein Keane View Source
  • 22. ©2009 Justin C. Klein Keane Look for Potential SQL Injection
  • 23. ©2009 Justin C. Klein Keane Testing the Injection  First we'll try the injection using manual methods  Next we'll use some tools to help us out  Sometimes manual testing may be impossible
  • 24. ©2009 Justin C. Klein Keane Manual Testing
  • 25. ©2009 Justin C. Klein Keane Using Tamper Data  To start Firefox Tamper Data plugin select − Tools -> Tamper Data  Click “Start Tamper” in the upper left  Fill in your test values again and submit  When prompted click “Tamper”
  • 26. ©2009 Justin C. Klein Keane That's Interesting
  • 27. ©2009 Justin C. Klein Keane Tamper  Fill in new values for Post Parameters  Note that you can also tamper with Cookies and Referer Data  Click “OK” when you're happy with your values
  • 28. ©2009 Justin C. Klein Keane That's More Like It
  • 29. ©2009 Justin C. Klein Keane Checking Cookies  You can also view cookies using the Web Developer Plugin − select Cookies -> View Cookie Information
  • 30. ©2009 Justin C. Klein Keane Using Web Developer
  • 31. ©2009 Justin C. Klein Keane View Source  View -> Source in Firefox  Look for comments, JavaScript and the like  Sometimes source will reveal information you may have missed
  • 32. ©2009 Justin C. Klein Keane JavaScript in Source
  • 33. ©2009 Justin C. Klein Keane Paros  Download Paros from http://www.parosproxy.org  Paros is Java based, so if Eclipse can run on your machine, so can Paros  Paros is a proxy, so it captures requests from your web browser to a server and responses from the server back to your browser  You can use it to alter your requests quite easily
  • 34. ©2009 Justin C. Klein Keane Start Up Paros
  • 35. ©2009 Justin C. Klein Keane Configure Firefox  You need to configure Firefox to use Paros as a proxy − Choose Edit -> Preferences, then Advanced -> Network -> Settings
  • 36. ©2009 Justin C. Klein Keane Configure Settings
  • 37. ©2009 Justin C. Klein Keane Create Request  Once Firefox is configured to utilize Paros browse through the site normally  Note how Paros records all your interactions  Try submitting the login form  Note that Paros records GET and POST requests
  • 38. ©2009 Justin C. Klein Keane Paros in Action
  • 39. ©2009 Justin C. Klein Keane Paros Records Details
  • 40. ©2009 Justin C. Klein Keane Alter Requests  To alter a request click on it in the bottom window  Next right click and select “Resend”  This opens a new window where you can alter any of the send requests  Change any data and click the “Send” button
  • 41. ©2009 Justin C. Klein Keane Paros Resend
  • 42. ©2009 Justin C. Klein Keane Response is Raw
  • 43. ©2009 Justin C. Klein Keane Bypassing the Login  In our manual code analysis we found a SQL injection vulnerability in the login form  A JavaScript check prevents easy manual testing  We could disable JavaScript or use Paros or Tamper Data to alter the data we're submitting for the login form  First let's examine the query
  • 44. ©2009 Justin C. Klein Keane Our Target $sql = "select user_id from user where user_username = '" . $_POST['username'] . "' AND user_password = md5('" . $_POST['password'] . "')";
  • 45. ©2009 Justin C. Klein Keane Target SQL select user_id from user where user_username = 'somename' and user_password = md5('somepass');
  • 46. ©2009 Justin C. Klein Keane Possible Permutation select user_id from user where user_username = 'somename' or 1='1' and user_password = md5('somepass');  What is the proper input to create this statement?
  • 47. ©2009 Justin C. Klein Keane Testing Your SQL
  • 48. ©2009 Justin C. Klein Keane Bypassing Login with SQL Injection
  • 49. ©2009 Justin C. Klein Keane We're In!
  • 50. ©2009 Justin C. Klein Keane Chained Exploits  Note that the exploitation of the authentication leads to access to new, potentially exploitable functionality  Authentication leads to cookie granting  Admin functions are often “trusted”
  • 51. ©2009 Justin C. Klein Keane Steps to Remember  Look for vulnerabilities − In the source code − In the functional front end  Test your exploits in the “friendliest” environment possible  Use tools to recreate attacks in the live environment.
  • 52. ©2009 Justin C. Klein Keane For Next Time -Install Paros Proxy -Install Firefox and the Tamper Data and Web Developer plug ins -Download and install the sample SQL injection application on your VM -Identify at least 4 SQL injection vulnerabilities -Develop exploits for each vulnerability -Develop fixes for each vulnerability