THÈSE DE DOCTORAT









Ext Ajax Request Callback Maverick Concerts

Can only example ext ajax requests to callbacks in milliseconds to access from fire after it works across domains explicitly marked as jsonp in ajax for ...
ext ajax request callback


NOBIL API

8 août 2018 Another new feature is that JSONP is a possible method of retrieving API data for all the Ajax functions. This makes it possible to get data ...
API NOBIL Documentation v


i4Go Technical Reference Guide Using an Access Token

i4Go supports the following implementation methods: • AJAX Using JSON/JSONP. • Standard Direct Post. Shift4 recommends a combination of both technologies: 
i go technical reference guide using an access token


Jquery Ajax Request Header Sh'Zen

Jsonp call server on jquery ajax request header or plain objects are Ajax headers header values from request with code sample run ajax adapter calls.
jquery ajax request header





Ajax Request To Load More Events Fullcalendar

Search for example would affect the late reply to request to more Follow this url with ajax request to more events fullcalendar and jsonp.
ajax request to load more events fullcalendar


Ajax Request To That Url Autoschade Buijs

Ajax calls in jQuery provide callbacks ajax statusCode url feature Ajax to ajax interface for example then we have mostly two ways to load data in ...
ajax request to that url


THÈSE DE DOCTORAT

Listing 2.2 shows an example of a simple HTML document. The html tag is the root AJAX requests JSONP has way less possibilities.
AZUR


Call Java Method From Jquery Using Ajax Example

method from example? If you return anything but does your ajax call method from java example using jquery? The api using synchronous methods to separate 
call java method from jquery using ajax example





Less Known Web Application Vulnerabilities

http://blog.portswigger.net/2016/01/xss-without-html-client-side-template.html Same-origin Policy which is enforced for XMLHttpRequest (AJAX requests).
OWASP Ionut Popescu Less Known Web Application Vulnerabilities Stripped


ajax-request-payload-object-object.pdf

Ajax request and response objects and the methods to handle response states. Request In the request we send the data for the blog post as a JSON object We 
ajax request payload object object


216214 THÈSE DE DOCTORAT >G

Dolière Francis Somé

Dirigée par

Co

Soutenue le

Devant le jury, composé de

THÈSE DE DOCTORAT

Composition

Résumé

Dans cette thèse, nous nous sommes intéressés aux problématiques de sécurité et de

confidentialité liées à l"utilisation d"applications web et à l"installation d"extensions de

navigateurs. Parmi les attaques dont sont victimes les applications web, il y a celles très connues de type XSS (ou Cross-Site Scripting). Les extensions sont des logiciels tiers que les

utilisateurs peuvent installer afin de booster les fonctionnalités des navigateurs et améliorer

leur expérience utilisateur. Content Security Policy (CSP) est une politique de sécurité qui a été proposée pour contrer les attaques de type XSS. La Same Origin Policy (SOP) est une politique de

sécurité fondamentale des navigateurs, régissant les interactions entre applications web. Par

exemple, elle ne permet pas qu"une application accède aux données d"une autre application. Cependant, le mécanisme de Cross-Origin Resource Sharing (CORS) peut être implémenté par des applications désirant échanger des données entre elles. Tout d"abord, nous avons étudié l"intégration de CSP avec la Same Origin Policy (SOP) et démontré que SOP peut rendre CSP inefficace, surtout quand une application web ne protège pas toutes ses pages avec CSP, et qu"une page avec CSP imbrique ou est imbriquée dans une autre page sans ou avec un CSP différent et inefficace. Nous avons

aussi élucidé la sémantique de CSP, en particulier les différences entre ses 3 versions, et

leurs implémentations dans les navigateurs. Nous avons ainsi introduit le concept de CSP sans dépendances qui assure à une application la même protection contre les attaques, quelque soit le navigateur dans lequel elle s"exécute. Finalement, nous avons proposé et démontré comment étendre CSP dans son état actuel, afin de pallier à nombre de ses limitations qui ont été révélées dans d"autres études. Les contenus tiers dans les applications web permettent aux propriétaires de ces contenus de pister les utilisateurs quand ils naviguent sur le web. Pour éviter cela, nous avons introduit une nouvelle architecture web qui une fois déployée, supprime le pistage des utilisateurs. Dans un dernier temps, nous nous sommes intéressés aux extensions de navigateurs. Nous avons d"abord démontré que les extensions qu"un utilisateur installe et/ou les applications web auxquelles il se connecte, peuvent le distinguer d"autres utilisateurs. Nous avons aussi étudié les interactions entre extensions et applications web. Ainsi avons-nous trouvé

plusieurs extensions dont les privilèges peuvent être exploités par des sites web afin d"accéder

à des données sensibles de l"utilisateur. Par exemple, certaines extensions permettent à des applications web d"accéder aux contenus d"autres applications, bien que cela soit normalement interdit par la Same Origin Policy. Finalement, nous avons aussi trouvé qu"un grand nombre d"extensions a la possibilité de désactiver la Same Origin Policy dans le navigateur, en manipulant les entêtes CORS. Cela permet à un attaquant d"accéder aux données de l"utilisateur dans n"importe qu"elle autre application, comme par example ses

mails, son profile sur les réseaux sociaux, et bien plus. Pour lutter contre ces problèmes, nous

préconisons aux navigateurs un système de permissions plus fin et une analyse d"extensions plus poussée, afin d"alerter les utilisateurs des dangers réels liés aux extensions. i ii Mots-clés :web, navigateurs, applications web, securité, same-rigin policy, content security policy, cross-origin resource sharing, extensions de navigateurs, communication inter-iframes, confidentialité, vie privée, pistage, empreinte de navigateurs

Abstract

In this thesis, we studied security and privacy threats in web applications and browser extensions. There are many attacks targeting the web of which XSS (Cross-Site Scripting) is one of the most notorious. Third party tracking is the ability of an attacker to benefit from its presence in many web applications in order to track the user has she browses the web, and build her browsing profile. Extensions are third party software that users install to extend their browser functionality and improve their browsing experience. Malicious or poorly programmed extensions can be exploited by attackers in web applications, in order to benefit from extensions privileged capabilities and access sensitive user information. Content Security Policy (CSP) is a security mechanism for mitigating the impact of content injection attacks in general and in particular XSS. The Same Origin Policy (SOP) is a security mechanism implemented by browsers to isolate web applications of different origins from one another. In a first work on CSP, we analyzed the interplay of CSP with SOP and demonstrated that the latter allows the former to be bypassed. Then we scrutinized the three CSP versions and found that a CSP is differently interpreted depending on the browser, the version of CSP it implements, and how compliant the implementation is with respect to the specification. To help developers deploy effective policies that encompass all these differences in CSP versions and browsers implementations, we proposed the deployment of dependency-free policies that effectively protect against attacks in all browsers. Finally, previous studies have identified many limitations of CSP. We reviewed the different solutions proposed in the wild, and showed that they do not fully mitigate the identified shortcomings of CSP. Therefore, we proposed to extend the CSP specification, and showed the feasibility of our proposals with an example of implementation. Regarding third party tracking, we introduced and implemented a tracking preserving ar- chitecture, that can be deployed by web developers willing to include third party content in their applications while preventing tracking. Intuitively, third party requests are auto- matically routed to a trusted middle party server which removes tracking information from the requests. Finally considering browser extensions, we first showed that the extensions that users install and the websites they are logged into, can serve to uniquely identify and track them. We then studied the communications between browser extensions and web applications and demonstrate that malicious or poorly programmed extensions can be exploited by web applications to benefit from extensions privileged capabilities. Also, we demonstrated that extensions can disable the Same Origin Policy by tampering with CORS headers. All this enables web applications to read sensitive user information. To mitigate these threats, we proposed countermeasures and a more fine-grained permissions system and review process for browser extensions. We believe that this can help browser vendors identify malicious extensions and warn users about the threats posed by extensions they install. iii iv Keywords:web, browser, web application, security, same origin policy, content secu- rity policy, cross-origin resource sharing, browser extensions, cross-iframe communication, privacy, third party web tracking, browser fingerprinting

Acknowledgements

v

Contents

1 Introduction

1

1 Security threats

1

2 Privacy threats

2

3 Extensible browsers

3

4 Scope of the thesis

3

4.1 Improving the effectiveness of CSP

3

4.2 Server-side third party tracking protection

4

4.3 Web applications meet browser extensions

5

5 Outline

5

6 List of publications and submissions

6

2 Background

7

1 Web applications ecosystem

7

1.1 Web servers

7

1.2 HTTP protocol

8

1.3 Web documents

9

1.4 Cascading Style Sheets (CSS)

10

1.5 JavaScript

11

1.6 Browsing contexts

1 2

2 The Same Origin Policy

12

2.1 Origin

12

2.2 Cross-origin embeddings

13

2.3 Cross-origin reads

15

3 Cross-Origin Resource Sharing (CORS)

16

3.1 Types of CORS requests: simple and preflighted

16

3.2 CORS headers

17

3.3 CORS and sandboxing

19

4 Third party content in web applications

20

4.1 Cross-Site Scripting (XSS)

20

4.2 Third party web tracking

21

5 Content Security Policy

22

5.1 Directives

22

5.2 Directive values

23

5.3 CSP modes and headers

25

5.4 Example of CSPs

26
>G

Dolière Francis Somé

Dirigée par

Co

Soutenue le

Devant le jury, composé de

THÈSE DE DOCTORAT

Composition

Résumé

Dans cette thèse, nous nous sommes intéressés aux problématiques de sécurité et de

confidentialité liées à l"utilisation d"applications web et à l"installation d"extensions de

navigateurs. Parmi les attaques dont sont victimes les applications web, il y a celles très connues de type XSS (ou Cross-Site Scripting). Les extensions sont des logiciels tiers que les

utilisateurs peuvent installer afin de booster les fonctionnalités des navigateurs et améliorer

leur expérience utilisateur. Content Security Policy (CSP) est une politique de sécurité qui a été proposée pour contrer les attaques de type XSS. La Same Origin Policy (SOP) est une politique de

sécurité fondamentale des navigateurs, régissant les interactions entre applications web. Par

exemple, elle ne permet pas qu"une application accède aux données d"une autre application. Cependant, le mécanisme de Cross-Origin Resource Sharing (CORS) peut être implémenté par des applications désirant échanger des données entre elles. Tout d"abord, nous avons étudié l"intégration de CSP avec la Same Origin Policy (SOP) et démontré que SOP peut rendre CSP inefficace, surtout quand une application web ne protège pas toutes ses pages avec CSP, et qu"une page avec CSP imbrique ou est imbriquée dans une autre page sans ou avec un CSP différent et inefficace. Nous avons

aussi élucidé la sémantique de CSP, en particulier les différences entre ses 3 versions, et

leurs implémentations dans les navigateurs. Nous avons ainsi introduit le concept de CSP sans dépendances qui assure à une application la même protection contre les attaques, quelque soit le navigateur dans lequel elle s"exécute. Finalement, nous avons proposé et démontré comment étendre CSP dans son état actuel, afin de pallier à nombre de ses limitations qui ont été révélées dans d"autres études. Les contenus tiers dans les applications web permettent aux propriétaires de ces contenus de pister les utilisateurs quand ils naviguent sur le web. Pour éviter cela, nous avons introduit une nouvelle architecture web qui une fois déployée, supprime le pistage des utilisateurs. Dans un dernier temps, nous nous sommes intéressés aux extensions de navigateurs. Nous avons d"abord démontré que les extensions qu"un utilisateur installe et/ou les applications web auxquelles il se connecte, peuvent le distinguer d"autres utilisateurs. Nous avons aussi étudié les interactions entre extensions et applications web. Ainsi avons-nous trouvé

plusieurs extensions dont les privilèges peuvent être exploités par des sites web afin d"accéder

à des données sensibles de l"utilisateur. Par exemple, certaines extensions permettent à des applications web d"accéder aux contenus d"autres applications, bien que cela soit normalement interdit par la Same Origin Policy. Finalement, nous avons aussi trouvé qu"un grand nombre d"extensions a la possibilité de désactiver la Same Origin Policy dans le navigateur, en manipulant les entêtes CORS. Cela permet à un attaquant d"accéder aux données de l"utilisateur dans n"importe qu"elle autre application, comme par example ses

mails, son profile sur les réseaux sociaux, et bien plus. Pour lutter contre ces problèmes, nous

préconisons aux navigateurs un système de permissions plus fin et une analyse d"extensions plus poussée, afin d"alerter les utilisateurs des dangers réels liés aux extensions. i ii Mots-clés :web, navigateurs, applications web, securité, same-rigin policy, content security policy, cross-origin resource sharing, extensions de navigateurs, communication inter-iframes, confidentialité, vie privée, pistage, empreinte de navigateurs

Abstract

In this thesis, we studied security and privacy threats in web applications and browser extensions. There are many attacks targeting the web of which XSS (Cross-Site Scripting) is one of the most notorious. Third party tracking is the ability of an attacker to benefit from its presence in many web applications in order to track the user has she browses the web, and build her browsing profile. Extensions are third party software that users install to extend their browser functionality and improve their browsing experience. Malicious or poorly programmed extensions can be exploited by attackers in web applications, in order to benefit from extensions privileged capabilities and access sensitive user information. Content Security Policy (CSP) is a security mechanism for mitigating the impact of content injection attacks in general and in particular XSS. The Same Origin Policy (SOP) is a security mechanism implemented by browsers to isolate web applications of different origins from one another. In a first work on CSP, we analyzed the interplay of CSP with SOP and demonstrated that the latter allows the former to be bypassed. Then we scrutinized the three CSP versions and found that a CSP is differently interpreted depending on the browser, the version of CSP it implements, and how compliant the implementation is with respect to the specification. To help developers deploy effective policies that encompass all these differences in CSP versions and browsers implementations, we proposed the deployment of dependency-free policies that effectively protect against attacks in all browsers. Finally, previous studies have identified many limitations of CSP. We reviewed the different solutions proposed in the wild, and showed that they do not fully mitigate the identified shortcomings of CSP. Therefore, we proposed to extend the CSP specification, and showed the feasibility of our proposals with an example of implementation. Regarding third party tracking, we introduced and implemented a tracking preserving ar- chitecture, that can be deployed by web developers willing to include third party content in their applications while preventing tracking. Intuitively, third party requests are auto- matically routed to a trusted middle party server which removes tracking information from the requests. Finally considering browser extensions, we first showed that the extensions that users install and the websites they are logged into, can serve to uniquely identify and track them. We then studied the communications between browser extensions and web applications and demonstrate that malicious or poorly programmed extensions can be exploited by web applications to benefit from extensions privileged capabilities. Also, we demonstrated that extensions can disable the Same Origin Policy by tampering with CORS headers. All this enables web applications to read sensitive user information. To mitigate these threats, we proposed countermeasures and a more fine-grained permissions system and review process for browser extensions. We believe that this can help browser vendors identify malicious extensions and warn users about the threats posed by extensions they install. iii iv Keywords:web, browser, web application, security, same origin policy, content secu- rity policy, cross-origin resource sharing, browser extensions, cross-iframe communication, privacy, third party web tracking, browser fingerprinting

Acknowledgements

v

Contents

1 Introduction

1

1 Security threats

1

2 Privacy threats

2

3 Extensible browsers

3

4 Scope of the thesis

3

4.1 Improving the effectiveness of CSP

3

4.2 Server-side third party tracking protection

4

4.3 Web applications meet browser extensions

5

5 Outline

5

6 List of publications and submissions

6

2 Background

7

1 Web applications ecosystem

7

1.1 Web servers

7

1.2 HTTP protocol

8

1.3 Web documents

9

1.4 Cascading Style Sheets (CSS)

10

1.5 JavaScript

11

1.6 Browsing contexts

1 2

2 The Same Origin Policy

12

2.1 Origin

12

2.2 Cross-origin embeddings

13

2.3 Cross-origin reads

15

3 Cross-Origin Resource Sharing (CORS)

16

3.1 Types of CORS requests: simple and preflighted

16

3.2 CORS headers

17

3.3 CORS and sandboxing

19

4 Third party content in web applications

20

4.1 Cross-Site Scripting (XSS)

20

4.2 Third party web tracking

21

5 Content Security Policy

22

5.1 Directives

22

5.2 Directive values

23

5.3 CSP modes and headers

25

5.4 Example of CSPs

26