SlideShare a Scribd company logo
Joomla Web Application Development Vulnerabilities



What is Joomla

Joomla web development application is a free and open source CMS (Content
management system) used to publish content on the web. Joomla written in PHP,
uses object oriented programming techniques and software design patterns, stores
data in MySQL database and includes a model view controller web application
framework.
Joomla features includes page caching, RSS feeds, printable versions of pages, news
flashes, blogs, polls, search and support international languages.



Model-View-Controller
Model-View-Controller (MVC) is a software design pattern organizing the code in such
a way that the business logic and data presentation are separate.




Model
Model is the part of the component that summarizes the application data by
managing and manipulating the data in a meaningful way. It contains methods to
add, remove and update information in the database.
View
View is the part of the component that renders the data from the model suitable for
interact. The view retrieves the data from the model and feeds the data into the
template which is presented to the user.

Controller
Controller is responsible for responding to the user action (page request). It
determines what request is made by the user and responds properly by activating
the model to manipulate the data appropriately and passing the model into view.


Cross Site Scripting (XSS)
XSS flaws occurs when an application gets the user supplied data, send to the web
browser without validating or encoding the content. It allows the attackers to
execute the script in victim browser hijacking user sessions, deface web sites, and
introducing worms, etc


Injection Flaws
It’s a SQL injection, common in web applications. Injection happens when the user
supplied data is sent to the interpreter as part of command or query.
   Solutions

       •   Write SQL safe queries

       •   Write SQL-safe LIKE string comparison queries
       •   Using the token

       •   Making the filename safe

       •   Making the directory path safe

       •   Making the path safe
       •   Safely retrieving request data

       •   Getting the value from array


Malicious File Execution
       Code vulnerable to remote file inclusion (RFI) lets the hackers to include
hostile code and data, resulting in devastating attacks. Malicious file execution
attacks affects PHP, XML and any framework which accepts filenames or files from
the user.

       Solutions
       It has to be prevented in the design stage. If this stage is already completed,
       then extra precaution needs to be taken.
Insecure Direct Object Reference
It occurs when developers depicts any reference to the internal implementation
object such as file, directory, database record, or key, as a URL or form parameter.
Hackers influence those references to access the data without authorization.

       Solutions
       Use indirect reference maps. Avoid exposing private data to users. If direct
       data is to be used, ensure with a validation that the user is authorized to view
       what they are authorized to view.

Cross Site Request Forgery (CSRF)
The CSRF attack happens by means of sending pre-authenticated request to a
vulnerable web application from the user browser, which then performs hostile action
for the benefit of the hackers.

       Solutions
       Insert a random string named token into each POST form and each GET query
       string, enabling to modify something in the Joomla system. Joomla
       Framework provides protection to the target site.

Information Leakage and Improper Error Handling
Sometimes, applications leak information about their configuration, internal workings
and privacy due to different issues. Here hackers use this point to steal sensitive
data or to attack seriously.
       Solutions
                   •   Stack traces
                   •   SQL errors

Broken Authentication and Session Management
Often Account details and session tokens are not properly protected and the
attackers steal passwords, keys, or authentication tokens to know other users’
identities.

       Solutions
       To prevent these types of vulnerabilities, first ensure that SSL is used for all
       authenticated parts of the application. Also, verify all credentials are stored in
       a hashed form. To prevent these consider the following:

          •   Use native session management mechanism. Don’t write own session
              handlers.
          •   Use single authentication mechanism.

          •   Don’t allow to login to from an unencrypted page.

          •   Once the user validates, provide them a new session cookie and
              invalidate the previous session cookie.
          •   Make sure that every page of the application as logout link.
•   Verify the user’s old password before changing the new password.

           •   Don’t send credentials (including the user name) through insecure
               channels.

           •   Don’t expose session ids, such as the session token, in the URL.

Insecure Cryptographic Storage
Applications hardly use cryptographic functions to protect data and credentials.
Hackers use data to conduct identity theft and other crimes such as credit card
fraud.

       Solutions
       If the data is sensitive and encrypted
                   •   Credit Cards
                   •   User Names
                   •   Passwords
                   •   User data
       Make sure that the data stored is not easy to decrypt. Don’t use weak
       algorithms. Use asymmetric key encryption to store the private keys carefully.

Insecure Communications
Web Applications fails to encrypt network traffic when it is crucial to protect sensitive
communications.

       Solutions
       Use SSL on any authenticated connection or on any sensitive data that is
       being passed. Different ways involved configuring SSL for web applications
       properly, by understanding and analyzing the purpose properly.

Failure to Restrict URL Access
Some application protects important functionality by preventing the display of URLs
to unauthorized users. But, hackers use this point to access and perform
unauthorized operations by accessing the URLs directly.

       Solutions
       JoomiHide, it’s a Joomla Plugin that restrict the article to registered /
       unregistered users only. Just add the "reg" or "unreg" string into the joomla
       text/content. Then the text with the "reg" tags will be displayed to the
       registered users and the text with "unreg" tags will be displayed to the guests
       only. JUGA, noixACL is the best component that allows what is to be offered
       to users on both your front end and administrator control panel.

More Related Content

What's hot

Application Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh UmmerApplication Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh Ummer
OWASP-Qatar Chapter
 
Step by step guide for web application security testing
Step by step guide for web application security testingStep by step guide for web application security testing
Step by step guide for web application security testing
Avyaan, Web Security Company in India
 
Assessment methodology and approach
Assessment methodology and approachAssessment methodology and approach
Assessment methodology and approach
Blueinfy Solutions
 
Automation In Android & iOS Application Review
Automation In Android & iOS 	Application Review�Automation In Android & iOS 	Application Review�
Automation In Android & iOS Application Review
Blueinfy Solutions
 
Web application attacks
Web application attacksWeb application attacks
Web application attacks
hruth
 
Owasp first5 presentation
Owasp first5 presentationOwasp first5 presentation
Owasp first5 presentation
Ashwini Paranjpe
 
Secure Code Warrior - Local storage
Secure Code Warrior - Local storageSecure Code Warrior - Local storage
Secure Code Warrior - Local storage
Secure Code Warrior
 
Secure Code Warrior - Least privilege
Secure Code Warrior - Least privilegeSecure Code Warrior - Least privilege
Secure Code Warrior - Least privilege
Secure Code Warrior
 
OWASP Khartoum - Top 10 A6 - 8th meeting - Security Misconfiguration
OWASP Khartoum - Top 10 A6 - 8th meeting - Security MisconfigurationOWASP Khartoum - Top 10 A6 - 8th meeting - Security Misconfiguration
OWASP Khartoum - Top 10 A6 - 8th meeting - Security Misconfiguration
OWASP Khartoum
 
Dell Password Manager Architecture - Components
Dell Password Manager Architecture - ComponentsDell Password Manager Architecture - Components
Dell Password Manager Architecture - Components
Aidy Tificate
 
Website Hacking and Preventive Measures
Website Hacking and Preventive MeasuresWebsite Hacking and Preventive Measures
Website Hacking and Preventive Measures
Shubham Takode
 
Owasp Top 10 A1: Injection
Owasp Top 10 A1: InjectionOwasp Top 10 A1: Injection
Owasp Top 10 A1: Injection
Michael Hendrickx
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )
Jay Nagar
 
Web Security
Web SecurityWeb Security
Web Security
Rita Mehra
 
Web app presentation
Web app presentationWeb app presentation
Web app presentation
zahid6
 
Secure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file uploadSecure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file upload
Secure Code Warrior
 
Owasp web security
Owasp web securityOwasp web security
Owasp web security
Pankaj Kumar Sharma
 
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
 
Secure Code Warrior - Issues with origins
Secure Code Warrior - Issues with originsSecure Code Warrior - Issues with origins
Secure Code Warrior - Issues with origins
Secure Code Warrior
 
Share Point Server Security with Joel Oleson
Share Point Server Security with Joel OlesonShare Point Server Security with Joel Oleson
Share Point Server Security with Joel Oleson
Joel Oleson
 

What's hot (20)

Application Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh UmmerApplication Security TRENDS – Lessons Learnt- Firosh Ummer
Application Security TRENDS – Lessons Learnt- Firosh Ummer
 
Step by step guide for web application security testing
Step by step guide for web application security testingStep by step guide for web application security testing
Step by step guide for web application security testing
 
Assessment methodology and approach
Assessment methodology and approachAssessment methodology and approach
Assessment methodology and approach
 
Automation In Android & iOS Application Review
Automation In Android & iOS 	Application Review�Automation In Android & iOS 	Application Review�
Automation In Android & iOS Application Review
 
Web application attacks
Web application attacksWeb application attacks
Web application attacks
 
Owasp first5 presentation
Owasp first5 presentationOwasp first5 presentation
Owasp first5 presentation
 
Secure Code Warrior - Local storage
Secure Code Warrior - Local storageSecure Code Warrior - Local storage
Secure Code Warrior - Local storage
 
Secure Code Warrior - Least privilege
Secure Code Warrior - Least privilegeSecure Code Warrior - Least privilege
Secure Code Warrior - Least privilege
 
OWASP Khartoum - Top 10 A6 - 8th meeting - Security Misconfiguration
OWASP Khartoum - Top 10 A6 - 8th meeting - Security MisconfigurationOWASP Khartoum - Top 10 A6 - 8th meeting - Security Misconfiguration
OWASP Khartoum - Top 10 A6 - 8th meeting - Security Misconfiguration
 
Dell Password Manager Architecture - Components
Dell Password Manager Architecture - ComponentsDell Password Manager Architecture - Components
Dell Password Manager Architecture - Components
 
Website Hacking and Preventive Measures
Website Hacking and Preventive MeasuresWebsite Hacking and Preventive Measures
Website Hacking and Preventive Measures
 
Owasp Top 10 A1: Injection
Owasp Top 10 A1: InjectionOwasp Top 10 A1: Injection
Owasp Top 10 A1: Injection
 
Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )Website hacking and prevention (All Tools,Topics & Technique )
Website hacking and prevention (All Tools,Topics & Technique )
 
Web Security
Web SecurityWeb Security
Web Security
 
Web app presentation
Web app presentationWeb app presentation
Web app presentation
 
Secure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file uploadSecure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file upload
 
Owasp web security
Owasp web securityOwasp web security
Owasp web security
 
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
 
Secure Code Warrior - Issues with origins
Secure Code Warrior - Issues with originsSecure Code Warrior - Issues with origins
Secure Code Warrior - Issues with origins
 
Share Point Server Security with Joel Oleson
Share Point Server Security with Joel OlesonShare Point Server Security with Joel Oleson
Share Point Server Security with Joel Oleson
 

Similar to Joomla web application development vulnerabilities

2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
bilcorry
 
Web application security (eng)
Web application security (eng)Web application security (eng)
Web application security (eng)
Anatoliy Okhotnikov
 
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
Mr. Mohammed Aldoub  - A case study of django web applications that are secur...Mr. Mohammed Aldoub  - A case study of django web applications that are secur...
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
nooralmousa
 
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
 
Web and Mobile Application Security
Web and Mobile Application SecurityWeb and Mobile Application Security
Web and Mobile Application Security
Prateek Jain
 
OWASP, Application Security
OWASP, Application Security OWASP, Application Security
OWASP, Application Security
Dilip Sharma
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
Security Innovation
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
Hina Rawal
 
C01461422
C01461422C01461422
C01461422
IOSR Journals
 
React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!
Shelly Megan
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
SamsonMuoki
 
Hacking web applications
Hacking web applicationsHacking web applications
Hacking web applications
phanleson
 
Web security uploadv1
Web security uploadv1Web security uploadv1
Web security uploadv1
Setia Juli Irzal Ismail
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
John Ombagi
 
Django (Web Applications that are Secure by Default)
Django �(Web Applications that are Secure by Default�)Django �(Web Applications that are Secure by Default�)
Django (Web Applications that are Secure by Default)
Kishor Kumar
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
Zakaria SMAHI
 
Secure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdfSecure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdf
nanangAris1
 
Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01
Richard Sullivan
 
Security Testing
Security TestingSecurity Testing
Security Testing
ISsoft
 
Application Security - Your Success Depends on it
Application Security - Your Success Depends on itApplication Security - Your Success Depends on it
Application Security - Your Success Depends on it
WSO2
 

Similar to Joomla web application development vulnerabilities (20)

2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
 
Web application security (eng)
Web application security (eng)Web application security (eng)
Web application security (eng)
 
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
Mr. Mohammed Aldoub  - A case study of django web applications that are secur...Mr. Mohammed Aldoub  - A case study of django web applications that are secur...
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
 
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
 
Web and Mobile Application Security
Web and Mobile Application SecurityWeb and Mobile Application Security
Web and Mobile Application Security
 
OWASP, Application Security
OWASP, Application Security OWASP, Application Security
OWASP, Application Security
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
 
C01461422
C01461422C01461422
C01461422
 
React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!React commonest security flaws and remedial measures!
React commonest security flaws and remedial measures!
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
 
Hacking web applications
Hacking web applicationsHacking web applications
Hacking web applications
 
Web security uploadv1
Web security uploadv1Web security uploadv1
Web security uploadv1
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
 
Django (Web Applications that are Secure by Default)
Django �(Web Applications that are Secure by Default�)Django �(Web Applications that are Secure by Default�)
Django (Web Applications that are Secure by Default)
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
 
Secure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdfSecure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdf
 
Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01
 
Security Testing
Security TestingSecurity Testing
Security Testing
 
Application Security - Your Success Depends on it
Application Security - Your Success Depends on itApplication Security - Your Success Depends on it
Application Security - Your Success Depends on it
 

More from BlazeDream Technologies Pvt Ltd

Conversion optimization - Turn your visitors into customers
Conversion optimization - Turn your visitors into customers Conversion optimization - Turn your visitors into customers
Conversion optimization - Turn your visitors into customers
BlazeDream Technologies Pvt Ltd
 
Processes of website application development
Processes of website application developmentProcesses of website application development
Processes of website application development
BlazeDream Technologies Pvt Ltd
 
Auto redirect, what is it and how it can be
Auto redirect, what is it and how it can beAuto redirect, what is it and how it can be
Auto redirect, what is it and how it can be
BlazeDream Technologies Pvt Ltd
 
Site optimization and maintenance
Site optimization and maintenanceSite optimization and maintenance
Site optimization and maintenance
BlazeDream Technologies Pvt Ltd
 
Joomla customization
Joomla customizationJoomla customization
Joomla customization
BlazeDream Technologies Pvt Ltd
 
Joomla customization
Joomla customizationJoomla customization
Joomla customization
BlazeDream Technologies Pvt Ltd
 
C:\fakepath\content management website
C:\fakepath\content management websiteC:\fakepath\content management website
C:\fakepath\content management website
BlazeDream Technologies Pvt Ltd
 

More from BlazeDream Technologies Pvt Ltd (7)

Conversion optimization - Turn your visitors into customers
Conversion optimization - Turn your visitors into customers Conversion optimization - Turn your visitors into customers
Conversion optimization - Turn your visitors into customers
 
Processes of website application development
Processes of website application developmentProcesses of website application development
Processes of website application development
 
Auto redirect, what is it and how it can be
Auto redirect, what is it and how it can beAuto redirect, what is it and how it can be
Auto redirect, what is it and how it can be
 
Site optimization and maintenance
Site optimization and maintenanceSite optimization and maintenance
Site optimization and maintenance
 
Joomla customization
Joomla customizationJoomla customization
Joomla customization
 
Joomla customization
Joomla customizationJoomla customization
Joomla customization
 
C:\fakepath\content management website
C:\fakepath\content management websiteC:\fakepath\content management website
C:\fakepath\content management website
 

Joomla web application development vulnerabilities

  • 1. Joomla Web Application Development Vulnerabilities What is Joomla Joomla web development application is a free and open source CMS (Content management system) used to publish content on the web. Joomla written in PHP, uses object oriented programming techniques and software design patterns, stores data in MySQL database and includes a model view controller web application framework. Joomla features includes page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search and support international languages. Model-View-Controller Model-View-Controller (MVC) is a software design pattern organizing the code in such a way that the business logic and data presentation are separate. Model Model is the part of the component that summarizes the application data by managing and manipulating the data in a meaningful way. It contains methods to add, remove and update information in the database.
  • 2. View View is the part of the component that renders the data from the model suitable for interact. The view retrieves the data from the model and feeds the data into the template which is presented to the user. Controller Controller is responsible for responding to the user action (page request). It determines what request is made by the user and responds properly by activating the model to manipulate the data appropriately and passing the model into view. Cross Site Scripting (XSS) XSS flaws occurs when an application gets the user supplied data, send to the web browser without validating or encoding the content. It allows the attackers to execute the script in victim browser hijacking user sessions, deface web sites, and introducing worms, etc Injection Flaws It’s a SQL injection, common in web applications. Injection happens when the user supplied data is sent to the interpreter as part of command or query. Solutions • Write SQL safe queries • Write SQL-safe LIKE string comparison queries • Using the token • Making the filename safe • Making the directory path safe • Making the path safe • Safely retrieving request data • Getting the value from array Malicious File Execution Code vulnerable to remote file inclusion (RFI) lets the hackers to include hostile code and data, resulting in devastating attacks. Malicious file execution attacks affects PHP, XML and any framework which accepts filenames or files from the user. Solutions It has to be prevented in the design stage. If this stage is already completed, then extra precaution needs to be taken. Insecure Direct Object Reference
  • 3. It occurs when developers depicts any reference to the internal implementation object such as file, directory, database record, or key, as a URL or form parameter. Hackers influence those references to access the data without authorization. Solutions Use indirect reference maps. Avoid exposing private data to users. If direct data is to be used, ensure with a validation that the user is authorized to view what they are authorized to view. Cross Site Request Forgery (CSRF) The CSRF attack happens by means of sending pre-authenticated request to a vulnerable web application from the user browser, which then performs hostile action for the benefit of the hackers. Solutions Insert a random string named token into each POST form and each GET query string, enabling to modify something in the Joomla system. Joomla Framework provides protection to the target site. Information Leakage and Improper Error Handling Sometimes, applications leak information about their configuration, internal workings and privacy due to different issues. Here hackers use this point to steal sensitive data or to attack seriously. Solutions • Stack traces • SQL errors Broken Authentication and Session Management Often Account details and session tokens are not properly protected and the attackers steal passwords, keys, or authentication tokens to know other users’ identities. Solutions To prevent these types of vulnerabilities, first ensure that SSL is used for all authenticated parts of the application. Also, verify all credentials are stored in a hashed form. To prevent these consider the following: • Use native session management mechanism. Don’t write own session handlers. • Use single authentication mechanism. • Don’t allow to login to from an unencrypted page. • Once the user validates, provide them a new session cookie and invalidate the previous session cookie. • Make sure that every page of the application as logout link.
  • 4. Verify the user’s old password before changing the new password. • Don’t send credentials (including the user name) through insecure channels. • Don’t expose session ids, such as the session token, in the URL. Insecure Cryptographic Storage Applications hardly use cryptographic functions to protect data and credentials. Hackers use data to conduct identity theft and other crimes such as credit card fraud. Solutions If the data is sensitive and encrypted • Credit Cards • User Names • Passwords • User data Make sure that the data stored is not easy to decrypt. Don’t use weak algorithms. Use asymmetric key encryption to store the private keys carefully. Insecure Communications Web Applications fails to encrypt network traffic when it is crucial to protect sensitive communications. Solutions Use SSL on any authenticated connection or on any sensitive data that is being passed. Different ways involved configuring SSL for web applications properly, by understanding and analyzing the purpose properly. Failure to Restrict URL Access Some application protects important functionality by preventing the display of URLs to unauthorized users. But, hackers use this point to access and perform unauthorized operations by accessing the URLs directly. Solutions JoomiHide, it’s a Joomla Plugin that restrict the article to registered / unregistered users only. Just add the "reg" or "unreg" string into the joomla text/content. Then the text with the "reg" tags will be displayed to the registered users and the text with "unreg" tags will be displayed to the guests only. JUGA, noixACL is the best component that allows what is to be offered to users on both your front end and administrator control panel.