{"id":202,"date":"2017-03-22T15:40:32","date_gmt":"2017-03-22T14:40:32","guid":{"rendered":"http:\/\/kolbi.cz\/blog\/?p=202"},"modified":"2017-12-15T17:12:02","modified_gmt":"2017-12-15T16:12:02","slug":"re-enable-browser-password-saving-autofill-on-netscaler-gateway-11-1","status":"publish","type":"post","link":"https:\/\/kolbi.cz\/blog\/2017\/03\/22\/re-enable-browser-password-saving-autofill-on-netscaler-gateway-11-1\/","title":{"rendered":"Re-enable Browser Password Saving (autofill, autocomplete) on Netscaler Gateway 11.1"},"content":{"rendered":"<p>when you update your netscaler\u00a0to 11.1, you might notice, that the password saving option from\u00a0browsers no longer works\u00a0(most likely because of this issue: <a href=\"http:\/\/thehackernews.com\/2017\/01\/browser-autofill-phishing.html\">http:\/\/thehackernews.com\/2017\/01\/browser-autofill-phishing.html<\/a>). a customer requested to have this feature back &#8211; of course i advised against it, but it is a special use case on a seperate Netscaler Gateway instance.<\/p>\n<p>anyway&#8230; i found out, that citrix does use dummy text fields (here is why: <a href=\"https:\/\/support.citrix.com\/article\/CTX202371\">https:\/\/support.citrix.com\/article\/CTX202371<\/a>)to trick the browsers autofill function and i simply developed some rewrite rules to delete them &#8211; additionally i do re-enable autofill on the textboxes. this solution could be optimized, but it works pretty good.<\/p>\n<p>just adjust your_vpn_server and copy paste these rewrite rules to\u00a0your netscaler:<\/p>\n<pre>enable ns feature REWRITE\r\n\r\nadd rewrite action delete_dummy_user delete_all \"http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)\" -pattern \"username_dummy.appendTo(right_user);\"\r\nadd rewrite action delete_dummy_password delete_all \"http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)\" -pattern \"enter_passwd_dummy.appendTo(right_pass);\"\r\nadd rewrite action delete_dummy_password2 delete_all \"http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)\" -pattern \"enter_passwd2_dummy.appendTo(right_pass2);\"\r\nadd rewrite action replace_autocomplete replace_all \"http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)\" \"\\\"\\'on\\'\\\"\" -pattern \"\\'off\\'\"\r\n \r\nadd rewrite policy pol_delete_dummy_user \"HTTP.REQ.URL.EQ(\\\"\/vpn\/js\/gateway_login_form_view.js\\\")\" delete_dummy_user\r\nadd rewrite policy pol_delete_dummy_password \"HTTP.REQ.URL.EQ(\\\"\/vpn\/js\/gateway_login_form_view.js\\\")\" delete_dummy_password\r\nadd rewrite policy pol_delete_dummy_password2 \"HTTP.REQ.URL.EQ(\\\"\/vpn\/js\/gateway_login_form_view.js\\\")\" delete_dummy_password2\r\nadd rewrite policy rewrite_autocomplete \"HTTP.REQ.URL.EQ(\\\"\/vpn\/js\/gateway_login_form_view.js\\\")\" replace_autocomplete\r\n\r\nbind vpn vserver your_vpn_server -policy pol_delete_dummy_user -priority 100 -gotoPriorityExpression NEXT -type RESPONSE\r\nbind vpn vserver your_vpn_server -policy pol_delete_dummy_password -priority 110 -gotoPriorityExpression NEXT -type RESPONSE\r\nbind vpn vserver your_vpn_server -policy pol_delete_dummy_password2 -priority 120 -gotoPriorityExpression NEXT -type RESPONSE\r\nbind vpn vserver your_vpn_server -policy rewrite_autocomplete -priority 130 -gotoPriorityExpression NEXT -type RESPONSE\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>when you update your netscaler\u00a0to 11.1, you might notice, that the password saving option from\u00a0browsers no longer works\u00a0(most likely because of this issue: http:\/\/thehackernews.com\/2017\/01\/browser-autofill-phishing.html). a <a class=\"mh-excerpt-more\" href=\"https:\/\/kolbi.cz\/blog\/2017\/03\/22\/re-enable-browser-password-saving-autofill-on-netscaler-gateway-11-1\/\" title=\"Re-enable Browser Password Saving (autofill, autocomplete) on Netscaler Gateway 11.1\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":469,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,9,14],"tags":[],"class_list":["post-202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-citrix","category-netscaler","category-security"],"_links":{"self":[{"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/posts\/202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/comments?post=202"}],"version-history":[{"count":8,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/posts\/202\/revisions"}],"predecessor-version":[{"id":210,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/posts\/202\/revisions\/210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/media\/469"}],"wp:attachment":[{"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/media?parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/categories?post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kolbi.cz\/blog\/wp-json\/wp\/v2\/tags?post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}