bot@idyllum:~$ Please wait, the scan will start shortly
bot@idyllum:~$ Scanning: /100
bot@idyllum:~$ Web Security Optimization (WSO) scan failed! Please try again
This site redirects to
By ignoring this a user of your website could have their accounts completely taken over by clicking on a malicious link and doing nothing else
By ignoring this a user of your website could have their accounts completely taken over by clicking on a malicious link and doing nothing elseWhat does this mean?
"In a Cross-site request forgery (CSRF) attack, an innocent end user is tricked by an attacker into submitting a web request that they did not intend. This may cause actions to be performed on the website that can include client or server data leakage, change of session state, or manipulation of an end user's account. A cross-site request forgery (CSRF) ( often pronounces sea surf) Without Anti-CSRF (often pronounces sea surf) tokens a malicious site may be able to completely take over your users account. Actions that the malicious site may be able to do can include changing the password or email address of the user, making a purchase or any other user controllable action. This attack can ba launched when a user clicks on a malicious link while logged in to your website in the same web browser."
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?
"Many modern content management systems add these automatically to all user inputs including forms available on the public site. If your site is running on an older CMS version, then simply migrating to the latest release could solve the problem. If you are implementing a custom solution, we would recommend implementing anti-CSRF tokens using a well-known framework or library. As an example, the popular php framworks Laravel and Symfony both include out of the box support for anti-CSRF tokens. Additionally, make sure your application does not use GET requests for actions that change the user account or state. GET requests expose their content in the URL itself and therefore can leak your Anti-CSRF token, which should be considered secret. Therefore, GET requests are not protected by anti-CSRF tokens."
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.Real world example
"Both Netflix and YouTube were susceptible to CSRF attacks in their early years. In both cases this allowed any attacker to perform nearly all actions of any user - change account information, user details or even fully compromise the account. In 2019 Facebook awarded $25 000 to a security expert who discovered a CSRF vulnerability in their system. According to the researcher, the exploit could have been used to immediately take over user's Facebook account the moment they clicked on a malicious link while logged into Facebook in the same browser."
Some parts of code produce errors and these errors are visible.
Some parts of code produce errors and these errors are visible.What does this mean?
Sometimes errors in code are visible to the user. And sometimes these errors give out data about system architecture. While not directly dangerous on its own, this vulnerability can help a hacker to plan and execute an attack. Please be aware that this vulnerability can also be a false positive, if found on a documentation page.
This page contains an error/warning message that may disclose sensitive information like the location of the file that produced the unhandled exception. This information can be used to launch further attacks against the web application. The alert could be a false positive if the error message is found inside a documentation page.Where exactly is this vulnerability found?
Please take a look where the alert was found. If possible fix these errors or remove faulty code or pages that are no longer relevant.
Review the source code of this page. Implement custom error pages. Consider implementing a mechanism to provide a unique error reference/identifier to the client (browser) while logging the details on the server side and not exposing them to the user.Real world example
Most customers find error messages on websites very disturbing. Please address this issue immediately. Fixing this can make a huge difference in customer experience and can save you money.
An attacker could add this website as an invisible layer on top of theirs or impersonate your site by showing selected parts of it in their website
An attacker could add this website as an invisible layer on top of theirs or impersonate your site by showing selected parts of it in their websiteWhat does this mean?
This vulnerability may allow an attack that is known as clickjacking. Clickjacking is technique where the user thinks they are performing an action, such a clicking a link, on one site. However, in reality their click is actually used to perform some other action on a site they are logged in from the same web browser. This particular vulnerability may allow an attacker to add your site as an invisible layer over their own website. To the user it looks like they are just browsing a harmless website when in reality all their clicks are actually registered on another logged in website.
X-Frame-Options header is not included in the HTTP response to protect against 'ClickJacking' attacks.Where exactly is this vulnerability found?
"Please ensure that your site's content can not be embedded into other sites. If you are running Apache, then all you need to do is add the following line to your site's .htaccess file: Header append X-FRAME-OPTIONS "SAMEORIGIN" If you are running your application on a dedicated server or VPS you can instead modify the httpd.conf file by adding: Header always append X-Frame-Options SAMEORIGIN By specifying the option SAMEORIGIN, you allow the site only to be embedded in itself. If you are not planning on using this, you may also set the option to ""DENY""."
Most modern Web browsers support the X-Frame-Options HTTP header. Ensure it's set on all web pages returned by your site (if you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. ALLOW-FROM allows specific websites to frame the web page in supported web browsers).Real world example
In 2010 and 2011 both Twitter and Facebook were vulnerable to a type of clickjacking attack that posted a malicious url to the users Twitter and Facebook account respectively. Friends and followers who clicked on those malicious links were subjected to the same attack. As a result, the attack spread quickly through the social media giants' user bases.
This check identifies responses where the HTTP Content-Type header declares a charset different from the charset defined by the body of the HTML or XML. When there's a charset mismatch between the HTTP header and content body Web browsers can be forced into an undesirable content-sniffing mode to determine the content's correct character set.An attacker could manipulate content on the page to be interpreted in an encoding of their choice. For example, if an attacker can control content at the beginning of the page, they could inject script using UTF-7 encoded text and manipulate some browsers into interpreting that text.Where exactly is this vulnerability found?
Force UTF-8 for all text content in both the HTTP header and meta tags in HTML or encoding declarations in XML.
This could help hackers collect data about your system and better plan an attack.
This could help hackers collect data about your system and better plan an attack.What does this mean?
It seems that part of the site is still running in development mode and is leaking data. Debug error messages are important for the webmaster but should be turned off for production sites.
The response appeared to contain common error messages returned by platforms such as ASP.NET, and Web-servers such as IIS and Apache. You can configure the list of common debug messages.Where exactly is this vulnerability found?
Please turn off debug mode and error messages. This is usually a one minute fix for the developer.
Disable debugging messages before pushing to production.Real world example
Some of today's systems have incredibly powerful debugging options built in. And these messages can reveal a vast amount of information about the system architecture. Sometimes developers just forget to switch “debug mode” off.
Because of this your clients could unknowingly let bad actors into your website.
Because of this your clients could unknowingly let bad actors into your website.What does this mean?
Cross-site scripting (XSS) is a security exploit which allows an attacker to inject malicious client-side code into a website. This code is executed by the victims and lets the attackers bypass access controls and impersonate users.
Web Browser XSS Protection is not enabled, or is disabled by the configuration of the 'X-XSS-Protection' HTTP response header on the web serverWhere exactly is this vulnerability found?
Fixing this will provide additional protection for users of older web browsers. And the fix can be a small modification in your .htaccess file.
Ensure that the web browser's XSS filter is enabled, by setting the X-XSS-Protection HTTP response header to '1'.
Samy (also known as JS.Spacehero) was a XSS worm that was designed to propagate across the MySpace social-networking site. Within just 20 hours of its release, over one million users had run the payload making Samy the fastest spreading virus of all time.
Because of this users could upload potentially harmful code to your website. This is especially dangerous in sites where users can upload anything.
Because of this users could upload potentially harmful code to your website. This is especially dangerous in sites where users can upload anything.What does this mean?
The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the file types advertised in the Content-Type headers should not be changed and be followed. This allows to opt-out of MIME type sniffing, or, in other words, it is a way to say that the webmasters knew what they were doing.
The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.Where exactly is this vulnerability found?
Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to ‘nosniff’ for all web pages. If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.
Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.
This site has not been manually inspected yet. Please apply for an inspection here
Is www.imo.com secure and safe to use?
We at Idyllum Labs wanted to find out! That is why we built this automated website security scanner and generated this report.
Please understand, that is an automated and unbiased OWASP ZAP based website security scan for www.imo.com and has nothing to do with human subjectivity, thoughts, opinions or relationships.
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!
Want to scan and monitor multiple sites at once?Create an account