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."
The source code of the tested site contains comments which may contain sensitive data. Like parts of code, url-s or program logic. This could give valuable hints to the potential attacker.
The source code of the tested site contains comments which may contain sensitive data. Like parts of code, url-s or program logic. This could give valuable hints to the potential attacker.What does this mean?
An attacker who finds these comments can map the application's structure and files, expose hidden parts of the site, and study the fragments of code to reverse engineer the application, which may help develop further attacks against the site.
The response appears to contain suspicious comments which may help an attacker.Where exactly is this vulnerability found?
We recommend inspecting your source code (even with your browser). Search for words like "BUG", "HACK", "FIXME", "LATER", "TODO" etc. The issues should be clearly visible.
Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.Real world example
Comments in code are not dangerous themselves. But if a comment gives an attacker hints about system architecture, SQL injections can soon follow. For Yahoo, this caused the loss of 450,000 login credentials back in 2012.
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.
Ensure that the HttpOnly flag is set for all cookies.
Because of this your stored user preferences could leak to other websites and vice versa.
Because of this your stored user preferences could leak to other websites and vice versa.What does this mean?
Same-site cookies allow servers to mitigate the risk of CSRF and information leakage attacks by asserting that a particular cookie should only be sent with requests initiated from the same registrable domain.
A cookie has been set without the SameSite attribute, 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?
Setting a Same-Site attribute to a cookie is quite simple. It consists of adding just one instruction to the cookie. Simply adding 'SameSite=Lax' or 'SameSite=Strict' is enough!
Ensure that the SameSite attribute is set to either 'lax' or ideally 'strict' for all cookies.
Because of this your users on public computers could press the back button and view secure pages even after logging out.
Because of this your users on public computers could press the back button and view secure pages even after logging out.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?
"Please review how your system handles page caching. An software update might help too as many modern content management systems deal have eliminated the issue. If you need to configure this behaviour yourself then on Apache you can add the following directive to your .htaccess file: <IfModule mod_headers.c> Header set Cache-Control ""no-cache, no-store, must-revalidate"" Header set Pragma ""no-cache"" Header set Expires 0 </IfModule> However, please be aware that disabling caching all pages may have a negative impact on page responsiveness. On Debian based system, you can use the following command to make sure mod_headers is loaded: sudo a2enmod headers After enabling the module, you need to restart your server sudo service apache restart Alernatively you may control the Cache-Control headers from your application source code. For instance in php you can set it using the header(); function"
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.
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.
Because of this some essential parts of the sites code come from third-parties and are therefore not fully under the administrators control. If these sources get hacked or change their behavior you and your customers are at risk.
Because of this some essential parts of the sites code come from third-parties and are therefore not fully under the administrators control. If these sources get hacked or change their behavior you and your customers are at risk.What does this mean?
For example, your third-party code provider may suddenly decide they want to collect data from end-users of their script, and this data might include cookies, and HTML5 storage data. By including the script on their domain you are allowing them to make these changes without agreement from you.
The page includes one or more script files from a third-party domain.Where exactly is this vulnerability found?
Downloading the code and hosting from your own domain is the safe approach.
This site has not been manually inspected yet. Please apply for an inspection here
Is easybid.co.ke 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 easybid.co.ke 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