Is www.walgreens.com secure and safe to use? | Web Security Optimization (WSO) report by Idyllum Labs.

Website security scan results for www.walgreens.com

Safe mode. Please [ log in ] to see the full report!

At a glance

------------------
Site scanned: www.walgreens.com
Date of scan: Aug. 16, 2021, 12:55 a.m.

Risk level: HIGH
SSL Status: [OK] SSL Encryption enforced

Total OWASP ZAP alerts: 129
Nmap open ports found: 2

Server

------------------
IP: 104.84.152.235
Location: United States
Web server: AkamaiGHost

Open ports for www.walgreens.com (Nmap scan)

------------------
Port 80 (tcp) - http
Port 443 (tcp) - https

OWASP ZAP scan results

------------------

Informative alerts

What does this mean?

Info Items:1:179: The ''unsafe-inline'' keyword-source has no effect in source lists that contain hash-source or nonce-source in CSP2 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:297: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:314: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:327: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:359: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:384: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:403: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:423: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:439: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:453: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:475: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:487: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:503: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:521: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:543: The host-source and scheme-source expressions, as well as the ''unsafe-inline'' and ''self'' keyword-sources have no effect in source lists that contain ''strict-dynamic'' in CSP3 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.1:560: The ''unsafe-inline'' keyword-source has no effect in source lists that contain hash-source or nonce-source in CSP2 and later. Ensure that this pattern is only used for backwards compatibility with older CSP implementations and is not an oversight.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
How to solve this?

Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.

What does this mean?

The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/store/sscart.jsp
  2. https://www.walgreens.com/store/browse/overlays/
  3. https://www.walgreens.com/webpickup/
  4. https://www.walgreens.com/store/checkout/
  5. https://www.walgreens.com/password/
  6. https://www.walgreens.com/search/search_results.jsp
How to solve this?

Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

What does this mean?

Cookies can be scoped by domain or path. This check is only concerned with domain scope.The domain scope applied to a cookie determines which domains can access it. For example, a cookie can be scoped strictly to a subdomain e.g. www.nottrusted.com, or loosely scoped to a parent domain e.g. nottrusted.com. In the latter case, any subdomain of nottrusted.com can access the cookie. Loosely scoped cookies are common in mega-applications like google.com and live.com. Cookies set from a subdomain like app.foo.bar are transmitted only to that domain by the browser. However, cookies scoped to a parent-level domain may be transmitted to the parent, or any subdomain of the parent.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/logout.jsp
  2. https://www.walgreens.com/common/react/assets/*.js$
  3. https://www.walgreens.com/
  4. https://www.walgreens.com/pharmacy/order/enterprescription.jsp
  5. https://www.walgreens.com/marketing/emailsignup/
How to solve this?

Always scope cookies to a FQDN (Fully Qualified Domain Name).

Low risk vulnerabilities

What does this mean?

No Anti-CSRF tokens were found in a HTML submission form.A cross-site request forgery is an attack that involves forcing a victim to send an HTTP request to a target destination without their knowledge or intent in order to perform an action as the victim. The underlying cause is application functionality using predictable URL/form actions in a repeatable way. The nature of the attack is that CSRF exploits the trust that a web site has for a user. By contrast, cross-site scripting (XSS) exploits the trust that a user has for a web site. Like XSS, CSRF attacks are not necessarily cross-site, but they can be. Cross-site request forgery is also known as CSRF, XSRF, one-click attack, session riding, confused deputy, and sea surf.CSRF attacks are effective in a number of situations, including: * The victim has an active session on the target site. * The victim is authenticated via HTTP auth on the target site. * The victim is on the same local network as the target site.CSRF has primarily been used to perform an action against a target site using the victim's privileges, but recent techniques have been discovered to disclose information by gaining access to the response. The risk of information disclosure is dramatically increased when the target site is vulnerable to XSS, because XSS can be used as a platform for CSRF, allowing the attack to operate within the bounds of the same-origin policy.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/health/diet-and-fitness/a/6-ways-mindfulness-can-help-you-lose-weight/1318
  2. https://www.walgreens.com/health/diabetes/a/Diabetes%20and%20Smoking/1323
  3. https://www.walgreens.com/logout.jsp
  4. https://www.walgreens.com/logout.jsp
  5. https://www.walgreens.com/marketing/emailsignup/
  6. https://www.walgreens.com/health/womens-health/a/nine-sun-safety-tips-for-your-skin/1319
  7. https://www.walgreens.com/reviews/
  8. https://www.walgreens.com/
  9. https://www.walgreens.com/health/diet-and-fitness/a/stay-focused-on-health-have-backup-plans/1327
  10. https://www.walgreens.com/health/diet-and-fitness/a/can_you_drink_too_much_water/1324
  11. https://www.walgreens.com/health/diet-and-fitness/a/6-fixes-if-you-hate-exercise/1326
  12. https://www.walgreens.com/health/diet-and-fitness/a/what-your-bmi-does-not-tell-you/1317
  13. https://www.walgreens.com/health/diet-and-fitness/a/10-Ways-to-Lighten-Up-Your-Favorite-Fatty-Foods/1315
  14. https://www.walgreens.com/
  15. https://www.walgreens.com/health/diet-and-fitness/a/Heart-Disease-and-Stress/1310
  16. https://www.walgreens.com/health/diet-and-fitness/a/Potassium-and-Your-Heart/1312
  17. https://www.walgreens.com/health/diabetes/a/Diabetes%20and%20Alcohol/1322
  18. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
  19. https://www.walgreens.com/health/womens-health/a/can-you-beat-cellulite/1321
  20. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
How to solve this?

Phase: Architecture and DesignUse a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.For example, use anti-CSRF packages such as the OWASP CSRFGuard.Phase: ImplementationEnsure that your application is free of cross-site scripting issues, because most CSRF defenses can be bypassed using attacker-controlled script.Phase: Architecture and DesignGenerate a unique nonce for each form, place the nonce into the form, and verify the nonce upon receipt of the form. Be sure that the nonce is not predictable (CWE-330).Note that this can be bypassed using XSS.Identify especially dangerous operations. When the user performs a dangerous operation, send a separate confirmation request to ensure that the user intended to perform that operation.Note that this can be bypassed using XSS.Use the ESAPI Session Management control.This control includes a component for CSRF.Do not use the GET method for any request that triggers a state change.Phase: ImplementationCheck the HTTP Referer header to see if the request originated from an expected page. This could break legitimate functionality, because users or proxies may have disabled sending the Referer for privacy reasons.

What does this mean?

A cookie has been set without the HttpOnly flag, which means that the cookie can be accessed by JavaScript. If a malicious script can be run on this page then the cookie will be accessible and can be transmitted to another site. If this is a session cookie then session hijacking may be possible.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/
  2. https://www.walgreens.com/marketing/emailsignup/
  3. https://www.walgreens.com/
  4. https://www.walgreens.com/pharmacy/order/enterprescription.jsp
  5. https://www.walgreens.com/common/react/assets/*.js$
How to solve this?

Ensure that the HttpOnly flag is set for all cookies.

What does this mean?

A cookie has been set with an invalid SameSite attribute value, which means that the cookie can be sent as a result of a 'cross-site' request. The SameSite attribute is an effective counter measure to cross-site request forgery, cross-site script inclusion, and timing attacks.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/pharmacy/thirdpartyrefill/
  2. https://www.walgreens.com/health/womens-health/a/nine-sun-safety-tips-for-your-skin/1319
  3. https://www.walgreens.com/logout.jsp
  4. https://www.walgreens.com/youraccount/
  5. https://www.walgreens.com/balancerewards/v1/email_update.jsp
  6. https://www.walgreens.com/send/
  7. https://www.walgreens.com/pharmacy/report/
  8. https://www.walgreens.com/pharmacy/remind/
  9. https://www.walgreens.com/health/diet-and-fitness/a/6-ways-mindfulness-can-help-you-lose-weight/1318
  10. https://www.walgreens.com/messaging/
  11. https://www.walgreens.com/health/diet-and-fitness/a/stay-focused-on-health-have-backup-plans/1327
  12. https://www.walgreens.com/health/diet-and-fitness/a/can_you_drink_too_much_water/1324
  13. https://www.walgreens.com/iso/
  14. https://www.walgreens.com/pharmacy/rd_history.jsp
  15. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
  16. https://www.walgreens.com/store/browse/overlays/
  17. https://www.walgreens.com/logout.jsp
  18. https://www.walgreens.com/library/checkdrug/
  19. https://www.walgreens.com/overlays/
  20. https://www.walgreens.com/health/diet-and-fitness/a/how-to-manage-sore-muscles-and-joint-pain/1325
How to solve this?

Ensure that the SameSite attribute is set to either 'lax' or ideally 'strict' for all cookies.

What does this mean?

A cookie has been set without the secure flag, which means that the cookie can be accessed via unencrypted connections.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/common/react/assets/*.js$
  2. https://www.walgreens.com/pharmacy/order/enterprescription.jsp
  3. https://www.walgreens.com/marketing/emailsignup/
  4. https://www.walgreens.com/
  5. https://www.walgreens.com/logout.jsp
  6. https://www.walgreens.com/register/
How to solve this?

Whenever a cookie contains sensitive information or is a session token, then it should always be passed using an encrypted channel. Ensure that the secure flag is set for cookies containing such sensitive information.

What does this mean?

The page includes one or more script files from a third-party domain.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/health/diet-and-fitness/a/Heart-Disease-and-Stress/1310
  2. https://www.walgreens.com/health/diabetes/a/Diabetes%20and%20Smoking/1323
  3. https://www.walgreens.com/health/diet-and-fitness/a/6-fixes-if-you-hate-exercise/1326
  4. https://www.walgreens.com/health/womens-health/a/the-411-on-skin-lighteners/1320
  5. https://www.walgreens.com/health/womens-health/a/the-411-on-skin-lighteners/1320
  6. https://www.walgreens.com/health/diet-and-fitness/a/what-your-bmi-does-not-tell-you/1317
  7. https://www.walgreens.com/health/diet-and-fitness/a/Heart-Disease-and-Stress/1310
  8. https://www.walgreens.com/health/diet-and-fitness/a/Exercise-for-a-Healthy-Heart/1311
  9. https://www.walgreens.com/health/diet-and-fitness/a/Potassium-and-Your-Heart/1312
  10. https://www.walgreens.com/health/womens-health/a/nine-sun-safety-tips-for-your-skin/1319
  11. https://www.walgreens.com/
  12. https://www.walgreens.com/health/diet-and-fitness/a/what-your-bmi-does-not-tell-you/1317
  13. https://www.walgreens.com/health/diet-and-fitness/a/6-ways-mindfulness-can-help-you-lose-weight/1318
  14. https://www.walgreens.com/health/diet-and-fitness/a/stay-focused-on-health-have-backup-plans/1327
  15. https://www.walgreens.com/health/diet-and-fitness/a/how-to-manage-sore-muscles-and-joint-pain/1325
  16. https://www.walgreens.com/health/diet-and-fitness/a/10-Ways-to-Lighten-Up-Your-Favorite-Fatty-Foods/1315
  17. https://www.walgreens.com/health/womens-health/a/can-you-beat-cellulite/1321
  18. https://www.walgreens.com/health/diet-and-fitness/a/Exercise-for-a-Healthy-Heart/1311
  19. https://www.walgreens.com/health/diabetes/a/Diabetes%20and%20Smoking/1323
  20. https://www.walgreens.com/health/womens-health/a/can-you-beat-cellulite/1321
How to solve this?

Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

What does this mean?

The cache-control and pragma HTTP header have not been set properly or are missing allowing the browser and proxies to cache content.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/health/womens-health/a/can-you-beat-cellulite/1321
  2. https://www.walgreens.com/health/diet-and-fitness/a/Heart-Disease-and-Stress/1310
  3. https://www.walgreens.com/health/diet-and-fitness/a/stay-focused-on-health-have-backup-plans/1327
  4. https://www.walgreens.com/health/diet-and-fitness/a/Exercise-for-a-Healthy-Heart/1311
  5. https://www.walgreens.com/health/womens-health/a/the-411-on-skin-lighteners/1320
  6. https://www.walgreens.com/health/womens-health/a/nine-sun-safety-tips-for-your-skin/1319
  7. https://www.walgreens.com/health/diet-and-fitness/a/Potassium-and-Your-Heart/1312
  8. https://www.walgreens.com/health/diabetes/a/Diabetes%20and%20Alcohol/1322
  9. https://www.walgreens.com/health/diet-and-fitness/a/what-your-bmi-does-not-tell-you/1317
  10. https://www.walgreens.com/
  11. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
  12. https://www.walgreens.com/health/diet-and-fitness/a/can_you_drink_too_much_water/1324
  13. https://www.walgreens.com/health/diet-and-fitness/a/how-to-manage-sore-muscles-and-joint-pain/1325
  14. https://www.walgreens.com/youraccount/
  15. https://www.walgreens.com/health/diet-and-fitness/a/6-ways-mindfulness-can-help-you-lose-weight/1318
  16. https://www.walgreens.com/marketing/emailsignup/
  17. https://www.walgreens.com/health/diet-and-fitness/a/6-fixes-if-you-hate-exercise/1326
  18. https://www.walgreens.com/robots.txt
  19. https://www.walgreens.com/logout.jsp
  20. https://www.walgreens.com/health/diabetes/a/Diabetes%20and%20Smoking/1323
How to solve this?

Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate; and that the pragma HTTP header is set with no-cache.

What does this mean?

A private IP (such as 10.x.x.x, 172.x.x.x, 192.168.x.x) or an Amazon EC2 private hostname (for example, ip-10-0-56-78) has been found in the HTTP response body. This information might be helpful for further attacks targeting internal systems.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
  2. https://www.walgreens.com/
How to solve this?

Remove the private IP address from the HTTP response body. For comments, use JSP/ASP/PHP comment instead of HTML/JavaScript comment which can be seen by client browsers.

What does this mean?

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.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/
  2. https://www.walgreens.com/balancerewards/v1/email_update.jsp
  3. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
  4. https://www.walgreens.com/balancerewards/email_update.jsp
  5. https://www.walgreens.com/common/react/assets/*.js$
  6. https://www.walgreens.com/logout.jsp
How to solve this?

Ensure that your web server, application server, load balancer, etc. is configured to suppress 'X-Powered-By' headers.

Medium risk vulnerabilities

What does this mean?

Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/
  2. https://www.walgreens.com/balancerewards/email_update.jsp
  3. https://www.walgreens.com/balancerewards/v1/email_update.jsp
  4. https://www.walgreens.com/logout.jsp
  5. https://www.walgreens.com/common/react/assets/*.js$
  6. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
How to solve this?

Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).Configure the 'Access-Control-Allow-Origin' HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

What does this mean?

The following directives either allow wildcard sources (or ancestors), are not defined, or are overly broadly defined: style-src, style-src-elem, style-src-attr, img-src, connect-src, frame-src, frame-ancestors, font-src, media-src, manifest-src, prefetch-src, form-actionThe directive(s): frame-ancestors, form-action are among the directives that do not fallback to default-src, missing/excluding them is the same as allowing anything.

Where exactly is this vulnerability found?
  1. https://www.walgreens.com/mywalgreens/cards/credit.jsp?BAN=CCWebGPRib&sitecode=WGDCOMPRIB
How to solve this?

Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.

High risk vulnerabilities

Manual inspection results

This site has not been manually inspected yet. Please apply for an inspection here

Find this WSO report online:

Environment info

------------------

Other

UncommonHeaders (server-timing,x-akamai-native,x-akamai-cachekeymod,x-content-type-options,x-akamai-deviceos,akamai-x-url,x-akamai-devicetype,timing-allow-origin)
Akamai-Global-Host
Title (Access Denied)
HttpOnly ([['akavpau_walgreens']])
Cookies (akavpau_walgreens)
See hacks, ports, leaked data and possible attack routes for www.walgreens.com

Idyllum Labs is on a mission

------------------

Is the code hosted at www.walgreens.com vulnerable to cybersecurity attacks? Are the used systems up to date and respecting the security standards of 2022?

We at Idyllum Labs wanted to find out! That is why we built this automated website security scanner and generated this report.

Please note

This is an automated and unbiased website vulnerability scan for the domain www.walgreens.com and has nothing to do with human subjectivity, thoughts, opinions, or relationships.

Our cloud-based infrastructure crawls the internet using a mixture of OWASP ZAP, Nmap, Whatweb, and other great software to detect website security issues. We display this data for educational purposes - to give security guidelines for anyone interested in building a safer web environment.

If you have comments, don't agree with the results, or want to submit a site for manual examination, don't hesitate to contact us.


Run a free OWASP ZAP scan for any website at Idyllum.com!

What next?

------------------

Dig deeper

  1. Log in or create a free account to gain access to this report in its entirety.
  2. Use our dashboard to automate security testing and set up automatic monitoring for your website portfolio.
  3. Scan a new domain or initiate a rescan for this domain.

Join our ranks

  1. Use these insights to build your systems bullet-proof.
  2. Explore our datasets and compare your results.
  3. Drop us a line! Help us expand our code or cloud or just say hi!
  4. Support the cause - your donation helps to keep this service free and unbiased.