Risk Level | Number of Alerts |
---|---|
High
|
0
|
Medium
|
1
|
Low
|
2
|
Informational
|
5
|
False Positives:
|
0
|
For each step: result (Pass/Fail) - risk (of highest alert(s) for the step, if any).
Name | Risk Level | Number of Instances |
---|---|---|
CSP: Failure to Define Directive with No Fallback | Medium | 1 |
Permissions Policy Header Not Set | Low | 2 |
Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s) | Low | 3 |
Sec-Fetch-Dest Header is Missing | Informational | 3 |
Sec-Fetch-Mode Header is Missing | Informational | 3 |
Sec-Fetch-Site Header is Missing | Informational | 3 |
Sec-Fetch-User Header is Missing | Informational | 3 |
Storable and Cacheable Content | Informational | 3 |
Medium |
CSP: Failure to Define Directive with No Fallback |
---|---|
Description |
The Content Security Policy fails to define one of the directives that has no fallback. Missing/excluding them is the same as allowing anything.
|
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | Content-Security-Policy |
Attack | |
Evidence | default-src 'none' |
Other Info | The directive(s): frame-ancestors, form-action is/are among the directives that do not fallback to default-src. |
Instances | 1 |
Solution |
Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.
|
Reference |
https://www.w3.org/TR/CSP/
https://caniuse.com/#search=content+security+policy https://content-security-policy.com/ https://github.com/HtmlUnit/htmlunit-csp https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources |
CWE Id | 693 |
WASC Id | 15 |
Plugin Id | 10055 |
Low |
Permissions Policy Header Not Set |
---|---|
Description |
Permissions Policy Header is an added layer of security that helps to restrict from unauthorized access or usage of browser/client features by web resources. This policy ensures the user privacy by limiting or specifying the features of the browsers can be used by the web resources. Permissions Policy provides a set of standard HTTP headers that allow website owners to limit which features of browsers can be used by the page such as camera, microphone, location, full screen etc.
|
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | |
Attack | |
Evidence | |
Other Info | |
Instances | 2 |
Solution |
Ensure that your web server, application server, load balancer, etc. is configured to set the Permissions-Policy header.
|
Reference |
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy
https://developer.chrome.com/blog/feature-policy/ https://scotthelme.co.uk/a-new-security-header-feature-policy/ https://w3c.github.io/webappsec-feature-policy/ https://www.smashingmagazine.com/2018/12/feature-policy/ |
CWE Id | 693 |
WASC Id | 15 |
Plugin Id | 10063 |
Low |
Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s) |
---|---|
Description |
The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.
|
URL | http://api.datasubvention.beta.gouv.fr |
Method | GET |
Parameter | |
Attack | |
Evidence | X-Powered-By: Express |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | |
Attack | |
Evidence | X-Powered-By: Express |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | |
Attack | |
Evidence | X-Powered-By: Express |
Other Info | |
Instances | 3 |
Solution |
Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.
|
Reference |
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/01-Information_Gathering/08-Fingerprint_Web_Application_Framework
https://www.troyhunt.com/2012/02/shhh-dont-let-your-response-headers.html |
CWE Id | 497 |
WASC Id | 13 |
Plugin Id | 10037 |
Informational |
Sec-Fetch-Dest Header is Missing |
---|---|
Description |
Specifies how and where the data would be used. For instance, if the value is audio, then the requested resource must be audio data and not any other type of resource.
|
URL | http://api.datasubvention.beta.gouv.fr |
Method | GET |
Parameter | Sec-Fetch-Dest |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | Sec-Fetch-Dest |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | Sec-Fetch-Dest |
Attack | |
Evidence | |
Other Info | |
Instances | 3 |
Solution |
Ensure that Sec-Fetch-Dest header is included in request headers.
|
Reference | https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Dest |
CWE Id | 352 |
WASC Id | 9 |
Plugin Id | 90005 |
Informational |
Sec-Fetch-Mode Header is Missing |
---|---|
Description |
Allows to differentiate between requests for navigating between HTML pages and requests for loading resources like images, audio etc.
|
URL | http://api.datasubvention.beta.gouv.fr |
Method | GET |
Parameter | Sec-Fetch-Mode |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | Sec-Fetch-Mode |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | Sec-Fetch-Mode |
Attack | |
Evidence | |
Other Info | |
Instances | 3 |
Solution |
Ensure that Sec-Fetch-Mode header is included in request headers.
|
Reference | https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Mode |
CWE Id | 352 |
WASC Id | 9 |
Plugin Id | 90005 |
Informational |
Sec-Fetch-Site Header is Missing |
---|---|
Description |
Specifies the relationship between request initiator's origin and target's origin.
|
URL | http://api.datasubvention.beta.gouv.fr |
Method | GET |
Parameter | Sec-Fetch-Site |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | Sec-Fetch-Site |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | Sec-Fetch-Site |
Attack | |
Evidence | |
Other Info | |
Instances | 3 |
Solution |
Ensure that Sec-Fetch-Site header is included in request headers.
|
Reference | https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site |
CWE Id | 352 |
WASC Id | 9 |
Plugin Id | 90005 |
Informational |
Sec-Fetch-User Header is Missing |
---|---|
Description |
Specifies if a navigation request was initiated by a user.
|
URL | http://api.datasubvention.beta.gouv.fr |
Method | GET |
Parameter | Sec-Fetch-User |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | Sec-Fetch-User |
Attack | |
Evidence | |
Other Info | |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | Sec-Fetch-User |
Attack | |
Evidence | |
Other Info | |
Instances | 3 |
Solution |
Ensure that Sec-Fetch-User header is included in user initiated requests.
|
Reference | https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-User |
CWE Id | 352 |
WASC Id | 9 |
Plugin Id | 90005 |
Informational |
Storable and Cacheable Content |
---|---|
Description |
The response contents are storable by caching components such as proxy servers, and may be retrieved directly from the cache, rather than from the origin server by the caching servers, in response to similar requests from other users. If the response data is sensitive, personal or user-specific, this may result in sensitive information being leaked. In some cases, this may even result in a user gaining complete control of the session of another user, depending on the configuration of the caching components in use in their environment. This is primarily an issue where "shared" caching servers such as "proxy" caches are configured on the local network. This configuration is typically found in corporate or educational environments, for instance.
|
URL | http://api.datasubvention.beta.gouv.fr |
Method | GET |
Parameter | |
Attack | |
Evidence | |
Other Info | In the absence of an explicitly specified caching lifetime directive in the response, a liberal lifetime heuristic of 1 year was assumed. This is permitted by rfc7234. |
URL | http://api.datasubvention.beta.gouv.fr/robots.txt |
Method | GET |
Parameter | |
Attack | |
Evidence | |
Other Info | In the absence of an explicitly specified caching lifetime directive in the response, a liberal lifetime heuristic of 1 year was assumed. This is permitted by rfc7234. |
URL | http://api.datasubvention.beta.gouv.fr/sitemap.xml |
Method | GET |
Parameter | |
Attack | |
Evidence | |
Other Info | In the absence of an explicitly specified caching lifetime directive in the response, a liberal lifetime heuristic of 1 year was assumed. This is permitted by rfc7234. |
Instances | 3 |
Solution |
Validate that the response does not contain sensitive, personal or user-specific information. If it does, consider the use of the following HTTP response headers, to limit, or prevent the content being stored and retrieved from the cache by another user:
Cache-Control: no-cache, no-store, must-revalidate, private
Pragma: no-cache
Expires: 0
This configuration directs both HTTP 1.0 and HTTP 1.1 compliant caching servers to not store the response, and to not retrieve the response (without validation) from the cache, in response to a similar request.
|
Reference |
https://datatracker.ietf.org/doc/html/rfc7234
https://datatracker.ietf.org/doc/html/rfc7231 https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html |
CWE Id | 524 |
WASC Id | 13 |
Plugin Id | 10049 |