ZAP Scanning Report

Summary of Alerts

Risk LevelNumber of Alerts
High0
Medium3
Low4
Informational1

Alert Detail

Medium (Medium)X-Frame-Options Header Not Set
Description

X-Frame-Options header is not included in the HTTP response to protect against 'ClickJacking' attacks.

URLhttp://www.hackazon.com/product/view?id=127
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=126
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=129
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=128
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=52
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=3
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=51
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=2
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/faq
MethodPOST
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=50
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=5
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=4
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=45
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=7
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=46
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=6
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=43
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=9
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/product/view?id=44
MethodGET
ParameterX-Frame-Options
URLhttp://www.hackazon.com/category/view?id=8
MethodGET
ParameterX-Frame-Options
Instances288
Solution

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).

Reference

http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx

CWE Id16
WASC Id15
Source ID3
Medium (Medium)Application Error Disclosure
Description

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.

URLhttp://www.hackazon.com/twitter
MethodGET
Evidence<b>Fatal error</b>: Call to undefined function PHPixie\Auth\Login\curl_init() in <b>/var/www/hackazon/classes/PHPixie/Auth/Login/Twitter.php</b> on line <b>303</b><br />
Instances1
Solution

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.

Reference

CWE Id200
WASC Id13
Source ID3
Medium (Low)HTTP Parameter Override
Description

Unspecified form action: HTTP parameter override attack potentially possible. This is a known problem with Java Servlets but other platforms may also be vulnerable.

URLhttp://www.hackazon.com/contact
MethodPOST
Evidence<form role="form" method="POST" id="contactForm" class="form-horizontal hw-form-contact">
URLhttp://www.hackazon.com/contact
MethodGET
Evidence<form role="form" method="POST" id="contactForm" class="form-horizontal hw-form-contact">
URLhttp://www.hackazon.com/wishlist/?search=ZAP
MethodGET
Evidence<form id="wishlist_search_form" role="search" class="form-inline navbar-form navbar-left search-form">
URLhttp://www.hackazon.com/wishlist?search=ZAP
MethodGET
Evidence<form id="wishlist_search_form" role="search" class="form-inline navbar-form navbar-left search-form">
URLhttp://www.hackazon.com/wishlist
MethodGET
Evidence<form id="wishlist_search_form" role="search" class="form-inline navbar-form navbar-left search-form">
URLhttp://www.hackazon.com/wishlist/
MethodGET
Evidence<form id="wishlist_search_form" role="search" class="form-inline navbar-form navbar-left search-form">
Instances6
Solution

All forms must specify the action URL.

Reference

http://download.oracle.com/javaee-archive/servlet-spec.java.net/jsr340-experts/att-0317/OnParameterPollutionAttacks.pdf

CWE Id20
WASC Id20
Source ID3
Low (Medium)X-Content-Type-Options Header Missing
Description

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.

URLhttp://www.hackazon.com/products_pictures/Ray_Ban_Aviator_Non_Polarized_Sunglasses_big_78ef2b.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/15pcs_Nail_Art_Painting_Pen_Brush_big_d36138.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/How_to_Marry_a_Millionaire_big_df6c63.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/category/view?id=25
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/Tide_Gentle_HE_Laundry_Detergent_77_Count_small_7fff1b.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/Amco_Enameled_Aluminum_Lemon_Squeezer_small_4b571c.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/js/tools.js
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/product/view?id=180
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/L_Occitane_Aromachologie_Repairing_Mask_6_7_fl_oz_big_639650.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/category/view?id=26
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/user/login?return_url=%2Faccount%2Fdocuments%3Fpage%3Ddelivery.html
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/Rizzoli_Isles_big_e1caf9.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/Baxter_of_California_Soft_Water_Pomade_2_oz_small_a741c9.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/product/view?id=181
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/product/view?id=60
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/product/view?id=182
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/category/view?id=23
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/Hobby_Gift_Holiday_Design_Square_Sewing_Basket_Pink_Blue_on_Crea_big_8f5b75.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/products_pictures/Breville_BES870XL_Barista_Express_Espresso_Machine_big_ae5338.jpg
MethodGET
ParameterX-Content-Type-Options
URLhttp://www.hackazon.com/account/help_articles
MethodGET
ParameterX-Content-Type-Options
Instances759
Solution

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.

Other information

This issue still applies to error type pages (401, 403, 500, etc) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

At "High" threshold this scanner will not alert on client or server error responses.

Reference

http://msdn.microsoft.com/en-us/library/ie/gg622941%28v=vs.85%29.aspx

https://www.owasp.org/index.php/List_of_useful_HTTP_headers

CWE Id16
WASC Id15
Source ID3
Low (Medium)Absence of Anti-CSRF Tokens
Description

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.

URLhttp://www.hackazon.com/product/view?id=51
MethodGET
Evidence<form class="form-horizontal js-review-form" role="form" method="POST" action="/review/send" id="sendForm">
URLhttp://www.hackazon.com/wishlist/view/'%20+%20data%5Bi%5D.wishLists%5Bj%5D.id%20+%20'
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/product/view?id=164
MethodGET
Evidence<form id="cart_form" action="/cart/add" method="post" class="form-horizontal" role="form">
URLhttp://www.hackazon.com/product/view?id=42
MethodGET
Evidence<form id="cart_form" action="/cart/add" method="post" class="form-horizontal" role="form">
URLhttp://www.hackazon.com/product/view?id=201
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/category/view?id=15
MethodGET
Evidence<form role="form" method="post" class="signin" action="/user/login" id="loginForm">
URLhttp://www.hackazon.com/product/view?id=116
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/product/view?id=173
MethodGET
Evidence<form class="form-horizontal js-review-form" role="form" method="POST" action="/review/send" id="sendForm">
URLhttp://www.hackazon.com/product/view?id=99
MethodGET
Evidence<form class="form-horizontal js-review-form" role="form" method="POST" action="/review/send" id="sendForm">
URLhttp://www.hackazon.com/product/view?id=52
MethodGET
Evidence<form class="form-horizontal js-review-form" role="form" method="POST" action="/review/send" id="sendForm">
URLhttp://www.hackazon.com/product/view?id=163
MethodGET
Evidence<form id="cart_form" action="/cart/add" method="post" class="form-horizontal" role="form">
URLhttp://www.hackazon.com/product/view?id=118
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/search?brand-filter%5B%5D=5&price-filter=1&quality-filter=9
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/product/view?id=173
MethodGET
Evidence<form role="form" method="post" class="signin" action="/user/login" id="loginForm">
URLhttp://www.hackazon.com/product/view?id=202
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/product/view?id=43
MethodGET
Evidence<form id="cart_form" action="/cart/add" method="post" class="form-horizontal" role="form">
URLhttp://www.hackazon.com/category/view?id=16
MethodGET
Evidence<form role="form" method="post" class="signin" action="/user/login" id="loginForm">
URLhttp://www.hackazon.com/product/view?id=117
MethodGET
Evidence<form role="search" action="/search" method="get" id="searchForm" >
URLhttp://www.hackazon.com/product/view?id=172
MethodGET
Evidence<form class="form-horizontal js-review-form" role="form" method="POST" action="/review/send" id="sendForm">
URLhttp://www.hackazon.com/product/view?id=53
MethodGET
Evidence<form class="form-horizontal js-review-form" role="form" method="POST" action="/review/send" id="sendForm">
Instances837
Solution

Phase: Architecture and Design

Use 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: Implementation

Ensure that your application is free of cross-site scripting issues, because most CSRF defenses can be bypassed using attacker-controlled script.

Phase: Architecture and Design

Generate 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: Implementation

Check 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.

Other information

No known Anti-CSRF token [anticsrf, CSRFToken, __RequestVerificationToken, csrfmiddlewaretoken, authenticity_token, OWASP_CSRFTOKEN, anoncsrf] was found in the following HTML form: [Form 3: "productID" "userName" "userEmail" "starValue" "_csrf_review" ].

Reference

http://projects.webappsec.org/Cross-Site-Request-Forgery

http://cwe.mitre.org/data/definitions/352.html

CWE Id352
WASC Id9
Source ID3
Low (Medium)Web Browser XSS Protection Not Enabled
Description

Web Browser XSS Protection is not enabled, or is disabled by the configuration of the 'X-XSS-Protection' HTTP response header on the web server

URLhttp://www.hackazon.com/product/view?id=161
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=87
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=160
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=40
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=88
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=85
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=163
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/account
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=162
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=86
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=165
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=43
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=164
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=44
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=41
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=167
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=89
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=166
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=42
MethodGET
ParameterX-XSS-Protection
URLhttp://www.hackazon.com/product/view?id=169
MethodGET
ParameterX-XSS-Protection
Instances297
Solution

Ensure that the web browser's XSS filter is enabled, by setting the X-XSS-Protection HTTP response header to '1'.

Other information

The X-XSS-Protection HTTP response header allows the web server to enable or disable the web browser's XSS protection mechanism. The following values would attempt to enable it:

X-XSS-Protection: 1; mode=block

X-XSS-Protection: 1; report=http://www.example.com/xss

The following values would disable it:

X-XSS-Protection: 0

The X-XSS-Protection HTTP response header is currently supported on Internet Explorer, Chrome and Safari (WebKit).

Note that this alert is only raised if the response body could potentially contain an XSS payload (with a text-based content type, with a non-zero length).

Reference

https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

https://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/

CWE Id933
WASC Id14
Source ID3
Low (Medium)Cookie No HttpOnly Flag
Description

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.

URLhttp://www.hackazon.com/product/view?id=8
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=34
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=156
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=7
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=33
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=157
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=32
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=154
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=9
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=31
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=155
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=79
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=152
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=30
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=78
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=153
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=77
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=150
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=76
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
URLhttp://www.hackazon.com/product/view?id=198
MethodGET
Parametervisited_products
EvidenceSet-Cookie: visited_products
Instances211
Solution

Ensure that the HttpOnly flag is set for all cookies.

Reference

http://www.owasp.org/index.php/HttpOnly

CWE Id16
WASC Id13
Source ID3
Informational (Medium)Information Disclosure - Suspicious Comments
Description

The response appears to contain suspicious comments which may help an attacker.

URLhttp://www.hackazon.com/product/view?id=139
MethodGET
URLhttp://www.hackazon.com/product/view?id=18
MethodGET
URLhttp://www.hackazon.com/category/view?id=39
MethodGET
URLhttp://www.hackazon.com/product/view?id=19
MethodGET
URLhttp://www.hackazon.com/category/view?id=38
MethodGET
URLhttp://www.hackazon.com/search?brand-filter%5B%5D=5&price-filter=1&quality-filter=9
MethodGET
URLhttp://www.hackazon.com/category/view?id=37
MethodGET
URLhttp://www.hackazon.com/helpdesk/helpdesk.nocache.js
MethodGET
URLhttp://www.hackazon.com/product/view?id=17
MethodGET
URLhttp://www.hackazon.com/wishlist/view/'%20+%20data%5Bi%5D.wishLists%5Bj%5D.id%20+%20'
MethodGET
URLhttp://www.hackazon.com/product/view?id=78
MethodGET
URLhttp://www.hackazon.com/product/view?id=30
MethodGET
URLhttp://www.hackazon.com/product/view?id=179
MethodGET
URLhttp://www.hackazon.com/product/view?id=118
MethodGET
URLhttp://www.hackazon.com/category/view?id=32
MethodGET
URLhttp://www.hackazon.com/product/view?id=130
MethodGET
URLhttp://www.hackazon.com/category/view?id=31
MethodGET
URLhttp://www.hackazon.com/user/login
MethodGET
URLhttp://www.hackazon.com/product/view?id=131
MethodGET
URLhttp://www.hackazon.com/category/view?id=30
MethodGET
Instances312
Solution

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

Other information

<script type="text/javascript">

var App = window.App || {};

App.config = {"host":"http:\/\/www.hackazon.com","user":{"id":"3","username":"ZAP","first_name":"ZAP","last_name":"ZAP","user_phone":null,"email":"foo-bar@example.com","created_on":"2018-10-01 16:21:58","photo":null,"photoUrl":null},"baseImgPath":"\/user_pictures\/","dataType":"xml"};

</script>

<script type="text/javascript">

jQuery(function ($) {

$('.js-review-form').bootstrapValidator({

exclude: ['sendreview'],

feedbackIcons: {

valid: 'glyphicon glyphicon-ok',

invalid: 'glyphicon glyphicon-remove',

validating: 'glyphicon glyphicon-refresh'

},

container: 'tooltip',

fields: {

textReview: {

message: 'Please write your review'

},

userName: {

group: '.field-group'

},

userEmail: {

group: '.field-group'

}

}

});

});

</script>

Reference

CWE Id200
WASC Id13
Source ID3