SlideShare a Scribd company logo
Cross-Site Scripting
Attacks
on Current Web
Applications
Introduction
 An attacker gets control of the user’s browser

in order to execute a malicious script within
the context of trust of the web application’s site.
 As a result, and if the embedded code is successfully

executed, the attacker might then be able to access,
passively or actively, to any sensitive browser
resource associated to the web application (e.g.,
cookies, session IDs, etc.)
THREATS!!!
 Everything from account

hijacking, changing of
user settings, cookie theft/poisoning, or false
advertising is possible.

 Steal cookies which can then be used to impersonate

customer and have access to their data and privileges.
This is also known as Session Hijacking.
 Redirect the user to another website of their

choosing. Maybe one that may be quite offensive, or one
that attempts to install malware onto users computer;
 Display alternate content on your own website.
History of Attacks
 October 2001, -----Hotmail ---- Remote attacker was

allowed to steal .NET Passport identifiers of
Hotmail’s users by collecting their cookies.

 October 2005, ------ MySpace, utilized by the worm

Samy to propagate itself across MySpace’s user
profiles.

 November 2006,Orkut, was vulnerable to cookie

stealing by simply posting the stealing script into the
attacker’s profile.
Secure coding | XSS Attacks on current Web Applications
Non-Persistent XSS Attack
 User input is reflected immediately

on the page by server-side scripts
without proper sanitization.
 To exploit, the attacker has to

provide the victim with a modified
URL, passing the code to be
inserted as a parameter.
 This attack is done by encoding

data in the URL, thus disguising
the injected code from the user.
Secure coding | XSS Attacks on current Web Applications
Persistent XSS Attacks
Persistent XSS Attacks
 When the data entered by the user are stored

on the server for a certain length of time, the
attack is called "persistent".
 All of the website's users have access to the page

where the harmful code was introduced.
 Commonly found in:

Contact/Feedback
pages, Log viewers, Exception handlers, Chat
applications/Forums, etc.
Secure coding | XSS Attacks on current Web Applications
BACHAA V !!!
Actual Demonstration
No Protection
Data Validation
 Application accepts correct data.
 User data must be validated to ensure it is of the

corrected type, and discarded if it doesn’t pass the
validation process.
 Allow a limited set of special characters.
Preg Match
 Performs a regular expression match.
Output Escaping
 Protects integrity of displayed/output data,
 Should escape the data when presenting it to the

user.
 Prevents the browser from applying any unintended

meaning to any special sequence of characters that
may be found.
htmlspecialchars
Secure coding | XSS Attacks on current Web Applications
Data Sanitization
 Manipulating the data to make sure it is safe.

 Removing any unwanted bits from the data and

normalizing it to the correct form.
Secure coding | XSS Attacks on current Web Applications
Secure coding | XSS Attacks on current Web Applications
htmlentities
 Converts all applicable characters to HTML entities.
 Default value for this argument is ISO-8859-1 in

versions of PHP prior to 5.4.0, and UTF-8 from PHP
5.4.0 onwards.
 ** http://coderstoolbox.net/
Usage of ENT_IGNORE
Available flags constants
ID

Description

ENT_COMPAT

Will convert double-quotes and leave
single-quotes alone.

ENT_QUOTES

Will convert both double and single
quotes.

ENT_NOQUOTES

Will leave both double and single quotes
unconverted.
ID

Flags

FILTER_SANITIZE_EM
AIL

FILTER_SANITIZE_EN
CODED

Remove all characters
except letters, digits
and !#$%&'*+/=?^_`{|}~@.[].

FILTER_FLAG_STRIP_LOW
,
FILTER_FLAG_STRIP_HIG
H,
FILTER_FLAG_ENCODE_L
OW,
FILTER_FLAG_ENCODE_HI
GH

URL-encode string,
optionally strip or
encode special
characters.

Apply addslashes().

FILTER_SANITIZE_MAGIC
_QUOTES
FILTER_SANITIZE_NUMB
ER_FLOAT

Description

FILTER_FLAG_ALLOW_FR
ACTION,
FILTER_FLAG_ALLOW_TH

Remove all characters
except digits, +- and
optionally .,eE.
ID

Flags

FILTER_SANITIZE
_NUMBER_INT

Description

Remove all characters
except digits, plus and
minus sign.

FILTER_SANITIZE
_SPECIAL_CHARS

FILTER_FLAG_STRIP_LOW,
FILTER_FLAG_STRIP_HIGH,
FILTER_FLAG_ENCODE_HIGH

HTMLescape '"<>& and
characters with ASCII
value less than 32,
optionally strip or
encode other special
characters.

FILTER_SANITIZE
_STRING

FILTER_FLAG_NO_ENCODE_Q
UOTES,
FILTER_FLAG_STRIP_LOW,
FILTER_FLAG_STRIP_HIGH,
FILTER_FLAG_ENCODE_LOW,
FILTER_FLAG_ENCODE_HIGH,
FILTER_FLAG_ENCODE_AMP

Strip tags, optionally
strip or encode special
characters.

FILTER_SANITIZE
_STRIPPED

Alias of "string" filter.
ID

Flags

FILTER_SANITIZE_UR
L

Description

Remove all characters
except letters, digits
and $_.+!*'(),{}|^~[]`<>
#%";/?:@&=.

FILTER_UNSAFE_RA
W

FILTER_FLAG_STRIP_LOW Do nothing, optionally
,
strip or encode special
FILTER_FLAG_STRIP_HIG characters.
H,
FILTER_FLAG_ENCODE_L
OW,
FILTER_FLAG_ENCODE_HI
GH,
FILTER_FLAG_ENCODE_A
MP

FILTER_SANITIZE_FU
LL_SPECIAL_CHARS

FILTER_FLAG_NO_ENCOD
E_QUOTES,

Equivalent to
callinghtmlspecialchar
s() withENT_QUOT
ES set. Encoding
quotes can be disabled
Mod Security(Web Application
Firewall)
 Protects against attacks that target websites.
 csrf_protection
 session_hijacking
 comment_spam
 authentication_tracking
 protocol_violations
 sql_injection_attacks
 xss_attacks
 brute_force, and many more
Secure coding | XSS Attacks on current Web Applications
Default
Information Disclosure
Original Contact Information
Original Code
How to change Contact info
 Go to :
• binariesapacheerror
• Open contact.html.var
Modified Code

Change contact information
Disable Apache Signature and/or Apache
Banner
 ADD in httpd.config of apache to remove apache

version disclosure


ServerTokens ProductOnly

 ServerTokens takes 1 argument, 'Prod', 'Major',

'Minor', 'Min', 'OS', or 'Full'""
Before

After
 ADD/replace/change in php.ini to remove php

version disclosure
 expose_php = Off
 display_errors=Off
 register_globals = Off
Secure coding | XSS Attacks on current Web Applications
Disable Version Disclosure

 Go to :
• binariesapacheerrorinclude

• Open bottom.html

By Default
we see this
Original Bottom.html file
Change
Bottom.html
My customized error page !!
Stopping Sensitive file disclosure
 Turn off automatic indexing.
 Instruct Apache to reject all requests for files

matching a series of regular expressions given below.
 Goto httpd.conf file to deny access to . htaccess files.
Protecting bakup files
 Add in httpd.config
 TheFilesMatchdirective only looks at the last part of

the full filename
Disable Directory Indexing
 Listing of files like see in Windows Explorer as

opposed to a web page.
 Attacker can gain valuable information about your
site.
 Files may may include sensitive information, such as
backup script files htaccess files, or text files with
note.
 Can allow access files outside the web root directory,
leading to the stealing of system files.
How to Disable Directory
Listings in Apache
 Navigate to your Apache config file (httpd.conf)
 Find – “Options FollowSymLinks Indexes”
 Replace by – “Options FollowSymLinks”
 Done
 FollowSymLinks makes Apache follow system

symbolic links (shortcuts, if you would) in your file
system.
 Indexes allows access to open folders within your
file system.
Secure coding | XSS Attacks on current Web Applications
Disable powerful functions in php
 Disable functions that may be useful to an attacker

but not necessary to the application.
 Disable execution of OS commands
 Open php.ini and search “disable_functions”.
 Write “shell_exec “ (without comma in front of
disable_functions).
Secure coding | XSS Attacks on current Web Applications
Other functions
 exec, passthru, shell_exec, system, proc_open,

popen, curl_exec, curl_multi_exec, pcntl_exec,
dl".
 If the application needs to execute OS commands,

it should use "pcntl_exec", because it provides
better abstraction of parameters than the others.
References
 http://php.net/manual/en/filter.filters.sanitize.php
 http://www.sitepoint.com/php-security-cross-site-

scripting-attacks-xss/
Emailshubham.sharma3005@gmail.com
Phone- +91-99300-53215

Thank You !!
Ad

Recommended

XSS Injection Vulnerabilities
XSS Injection Vulnerabilities
Mindfire Solutions
 
Xss what the heck-!
Xss what the heck-!
VodqaBLR
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Porfirio Tramontana
 
Cross site scripting
Cross site scripting
ashutosh rai
 
The Cross Site Scripting Guide
The Cross Site Scripting Guide
Daisuke_Dan
 
Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation
Ikhade Maro Igbape
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
InMobi Technology
 
XSS
XSS
Hrishikesh Mishra
 
Cross site scripting
Cross site scripting
kinish kumar
 
Xss
Xss
Rajendra Dangwal
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Daniel Tumser
 
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
Barrel Software
 
XSS- an application security vulnerability
XSS- an application security vulnerability
Soumyasanto Sen
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defenses
Mohammed A. Imran
 
Cross Site Scripting
Cross Site Scripting
Ali Mattash
 
XSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing tool
Arjun Jain
 
Xss talk, attack and defense
Xss talk, attack and defense
Prakashchand Suthar
 
Cross site scripting
Cross site scripting
Bilal Mazhar MS(IS)Cyber Security II Privacy Professional
 
Cross site scripting (xss)
Cross site scripting (xss)
Ritesh Gupta
 
Cross site scripting
Cross site scripting
n|u - The Open Security Community
 
Cross site scripting (xss)
Cross site scripting (xss)
Manish Kumar
 
Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )
Irfad Imtiaz
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Sandeep Kumbhar
 
Xss (cross site scripting)
Xss (cross site scripting)
vinayh.vaghamshi _
 
Deep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL Injection
Vishal Kumar
 
What is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgets
Ziv Ginsberg
 
Cross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning Center
Michael Coates
 
Digital Advertising, Privacy and User-tracking Methods
Digital Advertising, Privacy and User-tracking Methods
Honza Pav
 
OWF14 - Big Data Track : Take back control of your web tracking Go further by...
OWF14 - Big Data Track : Take back control of your web tracking Go further by...
Paris Open Source Summit
 

More Related Content

What's hot (20)

Cross site scripting
Cross site scripting
kinish kumar
 
Xss
Xss
Rajendra Dangwal
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Daniel Tumser
 
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
Barrel Software
 
XSS- an application security vulnerability
XSS- an application security vulnerability
Soumyasanto Sen
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defenses
Mohammed A. Imran
 
Cross Site Scripting
Cross Site Scripting
Ali Mattash
 
XSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing tool
Arjun Jain
 
Xss talk, attack and defense
Xss talk, attack and defense
Prakashchand Suthar
 
Cross site scripting
Cross site scripting
Bilal Mazhar MS(IS)Cyber Security II Privacy Professional
 
Cross site scripting (xss)
Cross site scripting (xss)
Ritesh Gupta
 
Cross site scripting
Cross site scripting
n|u - The Open Security Community
 
Cross site scripting (xss)
Cross site scripting (xss)
Manish Kumar
 
Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )
Irfad Imtiaz
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Sandeep Kumbhar
 
Xss (cross site scripting)
Xss (cross site scripting)
vinayh.vaghamshi _
 
Deep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL Injection
Vishal Kumar
 
What is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgets
Ziv Ginsberg
 
Cross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning Center
Michael Coates
 
Cross site scripting
Cross site scripting
kinish kumar
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Daniel Tumser
 
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
Barrel Software
 
XSS- an application security vulnerability
XSS- an application security vulnerability
Soumyasanto Sen
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defenses
Mohammed A. Imran
 
Cross Site Scripting
Cross Site Scripting
Ali Mattash
 
XSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing tool
Arjun Jain
 
Cross site scripting (xss)
Cross site scripting (xss)
Ritesh Gupta
 
Cross site scripting (xss)
Cross site scripting (xss)
Manish Kumar
 
Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )
Irfad Imtiaz
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Sandeep Kumbhar
 
Deep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL Injection
Vishal Kumar
 
What is xss, blind xss and xploiting google gadgets
What is xss, blind xss and xploiting google gadgets
Ziv Ginsberg
 
Cross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning Center
Michael Coates
 

Viewers also liked (6)

Digital Advertising, Privacy and User-tracking Methods
Digital Advertising, Privacy and User-tracking Methods
Honza Pav
 
OWF14 - Big Data Track : Take back control of your web tracking Go further by...
OWF14 - Big Data Track : Take back control of your web tracking Go further by...
Paris Open Source Summit
 
Online Privacy
Online Privacy
IWMW
 
Internet Privacy
Internet Privacy
realpeterz
 
Web Browsers
Web Browsers
Aahmed Hussain
 
Web application attacks
Web application attacks
hruth
 
Digital Advertising, Privacy and User-tracking Methods
Digital Advertising, Privacy and User-tracking Methods
Honza Pav
 
OWF14 - Big Data Track : Take back control of your web tracking Go further by...
OWF14 - Big Data Track : Take back control of your web tracking Go further by...
Paris Open Source Summit
 
Online Privacy
Online Privacy
IWMW
 
Internet Privacy
Internet Privacy
realpeterz
 
Web application attacks
Web application attacks
hruth
 
Ad

Similar to Secure coding | XSS Attacks on current Web Applications (20)

Secure Coding
Secure Coding
Shubham Sharma
 
LAMP security practices
LAMP security practices
Amit Kejriwal
 
PHP Secure Programming
PHP Secure Programming
Balavignesh Kasinathan
 
Tulsa techfest2010 security
Tulsa techfest2010 security
Jason Ragsdale
 
Secure programming with php
Secure programming with php
Mohmad Feroz
 
Evolution Of Web Security
Evolution Of Web Security
Chris Shiflett
 
Web Bugs
Web Bugs
Dr Rushi Raval
 
Unusual Web Bugs
Unusual Web Bugs
amiable_indian
 
Security.ppt
Security.ppt
webhostingguy
 
12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
webhostingguy
 
Secure PHP Coding
Secure PHP Coding
Narudom Roongsiriwong, CISSP
 
Php Security By Mugdha And Anish
Php Security By Mugdha And Anish
OSSCube
 
DVWA BruCON Workshop
DVWA BruCON Workshop
testuser1223
 
Attques web
Attques web
Tarek MOHAMED
 
PHPUG Presentation
PHPUG Presentation
Damon Cortesi
 
null Bangalore meet - Php Security
null Bangalore meet - Php Security
n|u - The Open Security Community
 
Xss mitigation php [Repaired]
Xss mitigation php [Repaired]
Tinashe Makuti
 
Web Application Security - Folio3
Web Application Security - Folio3
Folio3 Software
 
Security In PHP Applications
Security In PHP Applications
Aditya Mooley
 
Application and Website Security -- Fundamental Edition
Application and Website Security -- Fundamental Edition
Daniel Owens
 
LAMP security practices
LAMP security practices
Amit Kejriwal
 
Tulsa techfest2010 security
Tulsa techfest2010 security
Jason Ragsdale
 
Secure programming with php
Secure programming with php
Mohmad Feroz
 
Evolution Of Web Security
Evolution Of Web Security
Chris Shiflett
 
12-security.ppt - PHP and Arabic Language - Index
12-security.ppt - PHP and Arabic Language - Index
webhostingguy
 
Php Security By Mugdha And Anish
Php Security By Mugdha And Anish
OSSCube
 
DVWA BruCON Workshop
DVWA BruCON Workshop
testuser1223
 
Xss mitigation php [Repaired]
Xss mitigation php [Repaired]
Tinashe Makuti
 
Web Application Security - Folio3
Web Application Security - Folio3
Folio3 Software
 
Security In PHP Applications
Security In PHP Applications
Aditya Mooley
 
Application and Website Security -- Fundamental Edition
Application and Website Security -- Fundamental Edition
Daniel Owens
 
Ad

More from n|u - The Open Security Community (20)

Hardware security testing 101 (Null - Delhi Chapter)
Hardware security testing 101 (Null - Delhi Chapter)
n|u - The Open Security Community
 
Osint primer
Osint primer
n|u - The Open Security Community
 
SSRF exploit the trust relationship
SSRF exploit the trust relationship
n|u - The Open Security Community
 
Nmap basics
Nmap basics
n|u - The Open Security Community
 
Metasploit primary
Metasploit primary
n|u - The Open Security Community
 
Api security-testing
Api security-testing
n|u - The Open Security Community
 
Introduction to TLS 1.3
Introduction to TLS 1.3
n|u - The Open Security Community
 
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
n|u - The Open Security Community
 
Talking About SSRF,CRLF
Talking About SSRF,CRLF
n|u - The Open Security Community
 
Building active directory lab for red teaming
Building active directory lab for red teaming
n|u - The Open Security Community
 
Owning a company through their logs
Owning a company through their logs
n|u - The Open Security Community
 
Introduction to shodan
Introduction to shodan
n|u - The Open Security Community
 
Cloud security
Cloud security
n|u - The Open Security Community
 
Detecting persistence in windows
Detecting persistence in windows
n|u - The Open Security Community
 
Frida - Objection Tool Usage
Frida - Objection Tool Usage
n|u - The Open Security Community
 
OSQuery - Monitoring System Process
OSQuery - Monitoring System Process
n|u - The Open Security Community
 
DevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -Security
n|u - The Open Security Community
 
Extensible markup language attacks
Extensible markup language attacks
n|u - The Open Security Community
 
Linux for hackers
Linux for hackers
n|u - The Open Security Community
 
Android Pentesting
Android Pentesting
n|u - The Open Security Community
 
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
n|u - The Open Security Community
 

Recently uploaded (20)

The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 

Secure coding | XSS Attacks on current Web Applications

  • 2. Introduction  An attacker gets control of the user’s browser in order to execute a malicious script within the context of trust of the web application’s site.  As a result, and if the embedded code is successfully executed, the attacker might then be able to access, passively or actively, to any sensitive browser resource associated to the web application (e.g., cookies, session IDs, etc.)
  • 3. THREATS!!!  Everything from account hijacking, changing of user settings, cookie theft/poisoning, or false advertising is possible.  Steal cookies which can then be used to impersonate customer and have access to their data and privileges. This is also known as Session Hijacking.  Redirect the user to another website of their choosing. Maybe one that may be quite offensive, or one that attempts to install malware onto users computer;  Display alternate content on your own website.
  • 4. History of Attacks  October 2001, -----Hotmail ---- Remote attacker was allowed to steal .NET Passport identifiers of Hotmail’s users by collecting their cookies.  October 2005, ------ MySpace, utilized by the worm Samy to propagate itself across MySpace’s user profiles.  November 2006,Orkut, was vulnerable to cookie stealing by simply posting the stealing script into the attacker’s profile.
  • 7.  User input is reflected immediately on the page by server-side scripts without proper sanitization.  To exploit, the attacker has to provide the victim with a modified URL, passing the code to be inserted as a parameter.  This attack is done by encoding data in the URL, thus disguising the injected code from the user.
  • 10. Persistent XSS Attacks  When the data entered by the user are stored on the server for a certain length of time, the attack is called "persistent".  All of the website's users have access to the page where the harmful code was introduced.  Commonly found in: Contact/Feedback pages, Log viewers, Exception handlers, Chat applications/Forums, etc.
  • 15. Data Validation  Application accepts correct data.  User data must be validated to ensure it is of the corrected type, and discarded if it doesn’t pass the validation process.  Allow a limited set of special characters.
  • 16. Preg Match  Performs a regular expression match.
  • 17. Output Escaping  Protects integrity of displayed/output data,  Should escape the data when presenting it to the user.  Prevents the browser from applying any unintended meaning to any special sequence of characters that may be found.
  • 20. Data Sanitization  Manipulating the data to make sure it is safe.  Removing any unwanted bits from the data and normalizing it to the correct form.
  • 23. htmlentities  Converts all applicable characters to HTML entities.  Default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.  ** http://coderstoolbox.net/
  • 25. Available flags constants ID Description ENT_COMPAT Will convert double-quotes and leave single-quotes alone. ENT_QUOTES Will convert both double and single quotes. ENT_NOQUOTES Will leave both double and single quotes unconverted.
  • 26. ID Flags FILTER_SANITIZE_EM AIL FILTER_SANITIZE_EN CODED Remove all characters except letters, digits and !#$%&'*+/=?^_`{|}~@.[]. FILTER_FLAG_STRIP_LOW , FILTER_FLAG_STRIP_HIG H, FILTER_FLAG_ENCODE_L OW, FILTER_FLAG_ENCODE_HI GH URL-encode string, optionally strip or encode special characters. Apply addslashes(). FILTER_SANITIZE_MAGIC _QUOTES FILTER_SANITIZE_NUMB ER_FLOAT Description FILTER_FLAG_ALLOW_FR ACTION, FILTER_FLAG_ALLOW_TH Remove all characters except digits, +- and optionally .,eE.
  • 27. ID Flags FILTER_SANITIZE _NUMBER_INT Description Remove all characters except digits, plus and minus sign. FILTER_SANITIZE _SPECIAL_CHARS FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH HTMLescape '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters. FILTER_SANITIZE _STRING FILTER_FLAG_NO_ENCODE_Q UOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Strip tags, optionally strip or encode special characters. FILTER_SANITIZE _STRIPPED Alias of "string" filter.
  • 28. ID Flags FILTER_SANITIZE_UR L Description Remove all characters except letters, digits and $_.+!*'(),{}|^~[]`<> #%";/?:@&=. FILTER_UNSAFE_RA W FILTER_FLAG_STRIP_LOW Do nothing, optionally , strip or encode special FILTER_FLAG_STRIP_HIG characters. H, FILTER_FLAG_ENCODE_L OW, FILTER_FLAG_ENCODE_HI GH, FILTER_FLAG_ENCODE_A MP FILTER_SANITIZE_FU LL_SPECIAL_CHARS FILTER_FLAG_NO_ENCOD E_QUOTES, Equivalent to callinghtmlspecialchar s() withENT_QUOT ES set. Encoding quotes can be disabled
  • 29. Mod Security(Web Application Firewall)  Protects against attacks that target websites.  csrf_protection  session_hijacking  comment_spam  authentication_tracking  protocol_violations  sql_injection_attacks  xss_attacks  brute_force, and many more
  • 33. How to change Contact info  Go to : • binariesapacheerror • Open contact.html.var
  • 35. Disable Apache Signature and/or Apache Banner  ADD in httpd.config of apache to remove apache version disclosure  ServerTokens ProductOnly  ServerTokens takes 1 argument, 'Prod', 'Major', 'Minor', 'Min', 'OS', or 'Full'""
  • 37.  ADD/replace/change in php.ini to remove php version disclosure  expose_php = Off  display_errors=Off  register_globals = Off
  • 39. Disable Version Disclosure  Go to : • binariesapacheerrorinclude • Open bottom.html By Default we see this
  • 43. Stopping Sensitive file disclosure  Turn off automatic indexing.  Instruct Apache to reject all requests for files matching a series of regular expressions given below.  Goto httpd.conf file to deny access to . htaccess files.
  • 44. Protecting bakup files  Add in httpd.config  TheFilesMatchdirective only looks at the last part of the full filename
  • 45. Disable Directory Indexing  Listing of files like see in Windows Explorer as opposed to a web page.  Attacker can gain valuable information about your site.  Files may may include sensitive information, such as backup script files htaccess files, or text files with note.  Can allow access files outside the web root directory, leading to the stealing of system files.
  • 46. How to Disable Directory Listings in Apache  Navigate to your Apache config file (httpd.conf)  Find – “Options FollowSymLinks Indexes”  Replace by – “Options FollowSymLinks”  Done
  • 47.  FollowSymLinks makes Apache follow system symbolic links (shortcuts, if you would) in your file system.  Indexes allows access to open folders within your file system.
  • 49. Disable powerful functions in php  Disable functions that may be useful to an attacker but not necessary to the application.  Disable execution of OS commands  Open php.ini and search “disable_functions”.  Write “shell_exec “ (without comma in front of disable_functions).
  • 51. Other functions  exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, pcntl_exec, dl".  If the application needs to execute OS commands, it should use "pcntl_exec", because it provides better abstraction of parameters than the others.