ing-web-es 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ing-web-es might be problematic. Click here for more details.

Files changed (207) hide show
  1. package/45210.py +84 -0
  2. package/EMBEDDED_IFRAME_ON_WEB_PAGE.flv +0 -0
  3. package/FinalPoc.ogx +0 -0
  4. package/SCOPE_ing +20 -0
  5. package/brandportal.ing.com/dump-scripts.py +83 -0
  6. package/brandportal.ing.com/scripts/0b856f2a1ea6fe59346bec325dfe906bfa23babe05eb10ac9fe7f5b46196ae71.js +0 -0
  7. package/brandportal.ing.com/scripts/accounting.min.js +155 -0
  8. package/brandportal.ing.com/scripts/assetWindowContainer.bundle.js +23827 -0
  9. package/brandportal.ing.com/scripts/assets.js +1223 -0
  10. package/brandportal.ing.com/scripts/bootstrap-select.min.js +1287 -0
  11. package/brandportal.ing.com/scripts/bootstrap.min.js +1530 -0
  12. package/brandportal.ing.com/scripts/chosen.jquery.min.js +1238 -0
  13. package/brandportal.ing.com/scripts/core.main.js +1059 -0
  14. package/brandportal.ing.com/scripts/en_120.js +5247 -0
  15. package/brandportal.ing.com/scripts/hoverIntent.js +139 -0
  16. package/brandportal.ing.com/scripts/jquery-3.5.1.min.js +3242 -0
  17. package/brandportal.ing.com/scripts/jquery-ui-timepicker-addon.js +1471 -0
  18. package/brandportal.ing.com/scripts/jquery-ui.min.js +6711 -0
  19. package/brandportal.ing.com/scripts/jquery.are-you-sure.js +197 -0
  20. package/brandportal.ing.com/scripts/jquery.autotabs.js +42 -0
  21. package/brandportal.ing.com/scripts/jquery.backstretch.min.js +543 -0
  22. package/brandportal.ing.com/scripts/jquery.blockUI.js +442 -0
  23. package/brandportal.ing.com/scripts/jquery.datePicker.js +1151 -0
  24. package/brandportal.ing.com/scripts/jquery.dialogextend.2_0_4.pack.js +300 -0
  25. package/brandportal.ing.com/scripts/jquery.fileupload-audio.js +103 -0
  26. package/brandportal.ing.com/scripts/jquery.fileupload-image.js +313 -0
  27. package/brandportal.ing.com/scripts/jquery.fileupload-process.js +172 -0
  28. package/brandportal.ing.com/scripts/jquery.fileupload-ui.js +700 -0
  29. package/brandportal.ing.com/scripts/jquery.fileupload-validate.js +117 -0
  30. package/brandportal.ing.com/scripts/jquery.fileupload-video.js +103 -0
  31. package/brandportal.ing.com/scripts/jquery.fileupload.js +1451 -0
  32. package/brandportal.ing.com/scripts/jquery.form.js +892 -0
  33. package/brandportal.ing.com/scripts/jquery.number.min.js +150 -0
  34. package/brandportal.ing.com/scripts/jquery.ui.datepicker-en.js +26 -0
  35. package/brandportal.ing.com/scripts/jquery.ui.timepicker-en.js +6 -0
  36. package/brandportal.ing.com/scripts/jquery.validate.min.js +844 -0
  37. package/brandportal.ing.com/scripts/layout.bundle.js +673 -0
  38. package/brandportal.ing.com/scripts/load-image.all.min.js +770 -0
  39. package/brandportal.ing.com/scripts/local.bundle.js +310 -0
  40. package/brandportal.ing.com/scripts/moment.min.js +1562 -0
  41. package/brandportal.ing.com/scripts/nl.js +88 -0
  42. package/brandportal.ing.com/scripts/paginator.js +267 -0
  43. package/brandportal.ing.com/scripts/popper.min.js +844 -0
  44. package/brandportal.ing.com/scripts/selectAssetBrowser.bundle.js +47577 -0
  45. package/brandportal.ing.com/scripts/selectables.custom.js +174 -0
  46. package/brandportal.ing.com/scripts/slick.min.js +687 -0
  47. package/brandportal.ing.com/scripts/superfish.js +279 -0
  48. package/brandportal.ing.com/scripts/upload-main.js +90 -0
  49. package/brandportal.ing.com/scripts/video.min.js +12517 -0
  50. package/brandportal.ing.com/scripts/videojs.wavesurfer.min.js +495 -0
  51. package/brandportal.ing.com/scripts/wavesurfer.min.js +2775 -0
  52. package/burping.json +783 -0
  53. package/dump-scripts.py +83 -0
  54. package/ing.com.txt +365 -0
  55. package/ing.com_200List.txt +30 -0
  56. package/ing.com_DIRSEARCH.txt +8220 -0
  57. package/ing_notes +1 -0
  58. package/nmap +1224 -0
  59. package/nuclei_ing.com.txt +9 -0
  60. package/package.json +12 -0
  61. package/poc.html +116 -0
  62. package/scope.txt +141 -0
  63. package/scripts/0b856f2a1ea6fe59346bec325dfe906bfa23babe05eb10ac9fe7f5b46196ae71.js +0 -0
  64. package/scripts/AliasCtrl.js +0 -0
  65. package/scripts/ChangePasswordCtrl.js +0 -0
  66. package/scripts/CustomErrorCtrl.js +0 -0
  67. package/scripts/ErrorCtrl.js +0 -0
  68. package/scripts/HeaderCtrl.js +0 -0
  69. package/scripts/LoginValidationService.js +0 -0
  70. package/scripts/NipValidator.js +0 -0
  71. package/scripts/Psd2AliasCtrl.js +0 -0
  72. package/scripts/RegonValidator.js +0 -0
  73. package/scripts/SmsCtrl.js +0 -0
  74. package/scripts/TimeZoneInfoCollectorPanel-ver-1634885786000.js +2 -0
  75. package/scripts/accounting.min.js +155 -0
  76. package/scripts/angular-animate.min.js +0 -0
  77. package/scripts/angular-cookies.min.js +0 -0
  78. package/scripts/angular-translate.min.js +0 -0
  79. package/scripts/angular-ui-router.js +0 -0
  80. package/scripts/angular.min.js +0 -0
  81. package/scripts/assetWindowContainer.bundle.js +23827 -0
  82. package/scripts/assets.js +1223 -0
  83. package/scripts/bootstrap-select.min.js +1287 -0
  84. package/scripts/bootstrap.min.js +1530 -0
  85. package/scripts/chosen.jquery.min.js +1238 -0
  86. package/scripts/core.main.js +1059 -0
  87. package/scripts/criticalMessageService.js +0 -0
  88. package/scripts/data-dir-cookies-bar.js +0 -0
  89. package/scripts/data-dir-progress-pie.js +0 -0
  90. package/scripts/dir-critical-message.js +0 -0
  91. package/scripts/dir-login-keyboard.js +0 -0
  92. package/scripts/dir-login-validation.js +0 -0
  93. package/scripts/en_120.js +5247 -0
  94. package/scripts/environment.js +22 -0
  95. package/scripts/gemius-init.js +0 -0
  96. package/scripts/gemiusID.js +0 -0
  97. package/scripts/hoverIntent.js +139 -0
  98. package/scripts/ing-vendor.min-ver-1634885786000.js +2 -0
  99. package/scripts/ing-ver-1634885786000.js +2 -0
  100. package/scripts/jquery-3.5.1.min.js +3242 -0
  101. package/scripts/jquery-ui-timepicker-addon.js +1471 -0
  102. package/scripts/jquery-ui.min.js +6711 -0
  103. package/scripts/jquery.are-you-sure.js +197 -0
  104. package/scripts/jquery.autotabs.js +42 -0
  105. package/scripts/jquery.backstretch.min.js +543 -0
  106. package/scripts/jquery.blockUI.js +442 -0
  107. package/scripts/jquery.datePicker.js +1151 -0
  108. package/scripts/jquery.dialogextend.2_0_4.pack.js +300 -0
  109. package/scripts/jquery.fileupload-audio.js +103 -0
  110. package/scripts/jquery.fileupload-image.js +313 -0
  111. package/scripts/jquery.fileupload-process.js +172 -0
  112. package/scripts/jquery.fileupload-ui.js +700 -0
  113. package/scripts/jquery.fileupload-validate.js +117 -0
  114. package/scripts/jquery.fileupload-video.js +103 -0
  115. package/scripts/jquery.fileupload.js +1451 -0
  116. package/scripts/jquery.form.js +892 -0
  117. package/scripts/jquery.number.min.js +150 -0
  118. package/scripts/jquery.ui.datepicker-en.js +26 -0
  119. package/scripts/jquery.ui.timepicker-en.js +6 -0
  120. package/scripts/jquery.validate.min.js +844 -0
  121. package/scripts/jsbn-ver-1634886518000.js +2 -0
  122. package/scripts/layout.bundle.js +673 -0
  123. package/scripts/load-image.all.min.js +770 -0
  124. package/scripts/local.bundle.js +310 -0
  125. package/scripts/login-app.js +0 -0
  126. package/scripts/login-en.js +0 -0
  127. package/scripts/login-pl.js +0 -0
  128. package/scripts/login-states.js +0 -0
  129. package/scripts/main.js +23 -0
  130. package/scripts/mobileAuthCtrl.js +0 -0
  131. package/scripts/moment.min.js +1562 -0
  132. package/scripts/mon_ing_init.js +22 -0
  133. package/scripts/nl.js +88 -0
  134. package/scripts/paginator.js +267 -0
  135. package/scripts/pinLoginDefault-ver-1634885786000.js +2 -0
  136. package/scripts/popper.min.js +844 -0
  137. package/scripts/prng4-ver-1634886518000.js +2 -0
  138. package/scripts/psd2-states.js +0 -0
  139. package/scripts/rng-ver-1634886518000.js +2 -0
  140. package/scripts/rsa_jsbn-ver-1634886518000.js +2 -0
  141. package/scripts/selectAssetBrowser.bundle.js +47577 -0
  142. package/scripts/selectables.custom.js +174 -0
  143. package/scripts/sgemius.js +0 -0
  144. package/scripts/sha1.js +0 -0
  145. package/scripts/slick.min.js +687 -0
  146. package/scripts/superfish.js +279 -0
  147. package/scripts/upload-main.js +90 -0
  148. package/scripts/video.min.js +12517 -0
  149. package/scripts/videojs.wavesurfer.min.js +495 -0
  150. package/scripts/wavesurfer.min.js +2775 -0
  151. package/scripts/webtrekk_v4-ver-1634885786000.js +2 -0
  152. package/setup-feature.js +47 -0
  153. package/start.ingbusiness.pl/dump-scripts.py +83 -0
  154. package/start.ingbusiness.pl/form.html_v=202110040949 +52 -0
  155. package/start.ingbusiness.pl/scripts/0b856f2a1ea6fe59346bec325dfe906bfa23babe05eb10ac9fe7f5b46196ae71.js +0 -0
  156. package/start.ingbusiness.pl/scripts/AliasCtrl.js +136 -0
  157. package/start.ingbusiness.pl/scripts/ChangePasswordCtrl.js +162 -0
  158. package/start.ingbusiness.pl/scripts/CustomErrorCtrl.js +9 -0
  159. package/start.ingbusiness.pl/scripts/ErrorCtrl.js +30 -0
  160. package/start.ingbusiness.pl/scripts/HeaderCtrl.js +84 -0
  161. package/start.ingbusiness.pl/scripts/LoginService.js +86 -0
  162. package/start.ingbusiness.pl/scripts/LoginValidationService.js +52 -0
  163. package/start.ingbusiness.pl/scripts/NipValidator.js +30 -0
  164. package/start.ingbusiness.pl/scripts/PasswordCtrl.js +179 -0
  165. package/start.ingbusiness.pl/scripts/Psd2AliasCtrl.js +12 -0
  166. package/start.ingbusiness.pl/scripts/RegonValidator.js +73 -0
  167. package/start.ingbusiness.pl/scripts/RequestService.js +26 -0
  168. package/start.ingbusiness.pl/scripts/SmsCtrl.js +91 -0
  169. package/start.ingbusiness.pl/scripts/UnlockUserCtrl.js +79 -0
  170. package/start.ingbusiness.pl/scripts/angular-animate.min.js +1535 -0
  171. package/start.ingbusiness.pl/scripts/angular-cookies.min.js +62 -0
  172. package/start.ingbusiness.pl/scripts/angular-translate.min.js +871 -0
  173. package/start.ingbusiness.pl/scripts/angular-ui-router.js +1561 -0
  174. package/start.ingbusiness.pl/scripts/angular.min.js +9845 -0
  175. package/start.ingbusiness.pl/scripts/criticalMessageService.js +24 -0
  176. package/start.ingbusiness.pl/scripts/data-dir-button-loader.js +30 -0
  177. package/start.ingbusiness.pl/scripts/data-dir-compile-template.js +17 -0
  178. package/start.ingbusiness.pl/scripts/data-dir-cookies-bar.js +37 -0
  179. package/start.ingbusiness.pl/scripts/data-dir-progress-pie.js +102 -0
  180. package/start.ingbusiness.pl/scripts/data-dir-svg-icon.js +633 -0
  181. package/start.ingbusiness.pl/scripts/data-gemius-event.js +119 -0
  182. package/start.ingbusiness.pl/scripts/dir-critical-message.js +9 -0
  183. package/start.ingbusiness.pl/scripts/dir-help-panel-content.js +29 -0
  184. package/start.ingbusiness.pl/scripts/dir-login-keyboard.js +346 -0
  185. package/start.ingbusiness.pl/scripts/dir-login-validation.js +20 -0
  186. package/start.ingbusiness.pl/scripts/dir-nav-links.js +26 -0
  187. package/start.ingbusiness.pl/scripts/dir-title.js +21 -0
  188. package/start.ingbusiness.pl/scripts/gemius-init.js +12 -0
  189. package/start.ingbusiness.pl/scripts/gemiusID.js +32 -0
  190. package/start.ingbusiness.pl/scripts/hashService.js +91 -0
  191. package/start.ingbusiness.pl/scripts/helpPanelPasswordService.js +26 -0
  192. package/start.ingbusiness.pl/scripts/helpPanelService.js +92 -0
  193. package/start.ingbusiness.pl/scripts/jquery-3.5.1.min.js +3242 -0
  194. package/start.ingbusiness.pl/scripts/login-app.js +107 -0
  195. package/start.ingbusiness.pl/scripts/login-en.js +73 -0
  196. package/start.ingbusiness.pl/scripts/login-pl.js +74 -0
  197. package/start.ingbusiness.pl/scripts/login-states.js +156 -0
  198. package/start.ingbusiness.pl/scripts/maskService.js +194 -0
  199. package/start.ingbusiness.pl/scripts/maskUtilService.js +302 -0
  200. package/start.ingbusiness.pl/scripts/mobileAuthCtrl.js +189 -0
  201. package/start.ingbusiness.pl/scripts/psd2-states.js +67 -0
  202. package/start.ingbusiness.pl/scripts/securityPolicyService.js +119 -0
  203. package/start.ingbusiness.pl/scripts/sgemius.js +257 -0
  204. package/start.ingbusiness.pl/scripts/sha1.js +210 -0
  205. package/start.ingbusiness.pl/scripts/sprintf.js +115 -0
  206. package/start.ingbusiness.pl/scripts/tabletScalingService.js +59 -0
  207. package/start.ingbusiness.pl/scripts/userAgentResolverService.js +12 -0
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ angular.module('commons', []);
4
+ angular.module('converters', []);
5
+ angular.module('ingbolDirectives', []);
6
+
7
+ angular.module('validation', ['commons', 'converters']);
8
+
9
+ var loginApp = angular.module('loginApp', ['ingbolDirectives', 'ui.router.state', 'pascalprecht.translate', 'commons', 'ngCookies', 'validation']);
10
+
11
+ loginApp.service('httpRequestInterceptor', ['$q', '$injector', function($q, $injector) {
12
+ var handlers = [];
13
+ handlers[401] = handlers[403] = handlers[404] = 'maintenance';
14
+ handlers[500] = handlers[503] = 'error';
15
+
16
+ function handleError(response) {
17
+ // workaround for error: "Circular dependency found: $state"
18
+ var $state = $injector.get("$state");
19
+
20
+ if (response instanceof Error) {
21
+ $state.go('maintenance');
22
+ } else if (response && response.status) {
23
+ var statusHandlerState = handlers[response.status];
24
+ if (statusHandlerState) {
25
+ if (response.config.url && response.config.url.indexOf("maintenance.html") > -1) {
26
+ // error in retrieving error page, reload to avoid furhter tries
27
+ location.reload();
28
+ }
29
+ $state.go(statusHandlerState);
30
+ }
31
+ }
32
+ }
33
+
34
+ return {
35
+ requestError: function(request) {
36
+ return $q.reject(request);
37
+ },
38
+ response: function(response) {
39
+ if (response && response.data && response.data.errors && response.data.errors.length > 0) {
40
+ var $state = $injector.get("$state");
41
+ $state.go('customError', {
42
+ errors: response.data.errors
43
+ });
44
+ return $q.reject(response);
45
+ }
46
+ return response || $q.when(response);
47
+ },
48
+ responseError: function(response) {
49
+ handleError(response);
50
+ return $q.reject(response);
51
+ }
52
+ };
53
+ }]);
54
+
55
+ loginApp.config(['$translateProvider', '$httpProvider', '$qProvider', '$compileProvider', function($translateProvider, $httpProvider, $qProvider, $compileProvider) {
56
+ $translateProvider.preferredLanguage('pl');
57
+ // sanitize nie działa z UTF-8: https://stackoverflow.com/questions/31002499/angular-translate-sanitisation-fails-with-utf-characters https://github.com/angular-translate/angular-translate/issues/1101
58
+ $translateProvider.useSanitizeValueStrategy('escape');
59
+ $httpProvider.interceptors.push('httpRequestInterceptor');
60
+ $qProvider.errorOnUnhandledRejections(false);
61
+
62
+ $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|blob):/);
63
+ $compileProvider.debugInfoEnabled(false);
64
+ $compileProvider.commentDirectivesEnabled(false);
65
+ $compileProvider.cssClassDirectivesEnabled(false);
66
+ }]);
67
+
68
+ loginApp.run(['$state', '$rootScope', '$log', '$window', 'userAgentResolverService', function($state, $rootScope, $log, $window, userAgentResolverService) {
69
+ $rootScope.state = $state;
70
+ $rootScope.userAgentResolverService = userAgentResolverService;
71
+
72
+ $rootScope.$on('$stateChangeStart', function(event, toState) {
73
+ $log.log('Changing state to ' + toState.name);
74
+ if (toState.externalUrl) {
75
+
76
+ $window.open(toState.externalUrl, '_self');
77
+ if (toState.params) {
78
+ sessionStorage.setItem('loginParams', JSON.stringify(toState.params));
79
+ }
80
+ }
81
+ });
82
+
83
+ $rootScope.$on('$stateChangeError', function(event, toState) {
84
+ $log.error('Error during changing state to ' + toState.name);
85
+ });
86
+
87
+ $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
88
+ $log.log('Changed state to ' + toState.name);
89
+ if (toParams.gemiusState) {
90
+ gemius_event('_view_', getGemiusID(), 'nazwa_strony=' + gemiusStates[toParams.gemiusState]);
91
+ }
92
+ });
93
+
94
+ $rootScope.$on('$viewContentLoaded', function(event) {
95
+ $log.log('DOM rendered: ' + event);
96
+ });
97
+
98
+ $rootScope.$on('$stateNotFound', function(event, unfoundState, fromState) {
99
+ $log.log('State not found: ' + unfoundState.to + ' (from: ' + fromState.name + ')');
100
+ });
101
+ }]);
102
+
103
+ window.onload = function() {
104
+ angular.bootstrap(document, ['loginApp'], {
105
+ strictDi: true
106
+ });
107
+ };
@@ -0,0 +1,73 @@
1
+ loginApp.config(['$translateProvider', function($translateProvider) {
2
+ $translateProvider.translations('en', {
3
+ HEADER: {
4
+ PAGE_TITLE: 'ING Business'
5
+ },
6
+ FORMS: {
7
+ TITLE: 'Login',
8
+ TITLE_OOBA: 'Confirm login in mobile app',
9
+ LOGIN: 'Enter your login',
10
+ LOGIN_LABEL: 'Create a new password for the login: ',
11
+ PASSWORD_FOR_LOGIN: 'Enter the password characters indicated for the login: ',
12
+ FIRST_LOGIN: 'Help with logging in',
13
+ FORGOT_LOGIN: 'Forgot my login',
14
+ UNLOCK: 'Forgot my password',
15
+ NEXT: 'Next',
16
+ SMS: 'Type SMS code no. {{smsNumber}} for login',
17
+ NEW_PASSWORD: 'New password',
18
+ REPEAT_PASSWORD: 'Repeat password',
19
+ ERROR_LOGIN: 'Unsuccessful login to ING Business',
20
+ BACK_TO_LOGIN: 'Back to login page',
21
+ BACK_TO_LOGIN_LINK: 'Go back to login page',
22
+ UNLOCK_USER: {
23
+ TITLE: 'Forgot my password',
24
+ NEXT: 'Send password'
25
+ },
26
+ UNLOCK_USER_RESULT: {
27
+ TITLE: 'We\'ve sent you a new password'
28
+ },
29
+ HELP: 'Help',
30
+ CRITICAL_MESSAGE: {
31
+ MORE_BUTTON: 'More'
32
+ },
33
+ NIP_REGON: 'Enter NIP or REGON',
34
+ MOBILE_AUTH: {
35
+ OPEN_MOBILE_APP_LINE1a: 'Login to ',
36
+ OPEN_MOBILE_APP_LINE1b: 'ING Business mobile app',
37
+ OPEN_MOBILE_APP_LINE2a: 'and make sure you see ',
38
+ OPEN_MOBILE_APP_LINE2b: 'the same image as below',
39
+ PREFER_SMS: 'I prefer to type in my password and confirm login with SMS code ',
40
+ SEND_SMS: 'Go to password input',
41
+ REMAINING_TIME: 'Remaining ',
42
+ REMAINING_TIME_SEC: ' sec.'
43
+ }
44
+ },
45
+ PASSWORD_STRENGTH: {
46
+ WEAK: 'weak',
47
+ MEDIUM: 'medium',
48
+ STRONG: 'strong'
49
+ },
50
+ ERRORS: {
51
+ ALIAS_REQUIRED: 'Enter your ING Business login',
52
+ PASSWORD_REQUIRED: 'Please fill in all fields',
53
+ INVALID_CODE: 'Incorrect SMS password',
54
+ INCORRECT_REPEAT: 'Your input does not match your new password',
55
+ POLICY_RULES: 'Password does not meet security policy rules',
56
+ CHANGE_PASSWORD_DISTINCT: 'You cannot repeat any of {{pswDistinct}} previous passwords',
57
+ NIP_REGON_REQUIRED: 'Enter NIP or REGON',
58
+ NIP_REGON_NOT_VALID: 'Enter valid NIP or REGON'
59
+ },
60
+ OTHER: {
61
+ KEYBOARD: 'On-screen keyboard',
62
+ BACK: 'Back',
63
+ DESKTOP_VERSION: 'desktop version',
64
+ TABLET_VERSION: 'tablet version'
65
+ },
66
+ COOKIES: {
67
+ CLOSE: 'Close',
68
+ INFO_1: 'This site uses cookie files.',
69
+ INFO_2: 'More information about cookies, their use and how to modify the acceptance of cookies can be found at',
70
+ INFO_3: 'Cookie policy.'
71
+ }
72
+ });
73
+ }]);
@@ -0,0 +1,74 @@
1
+ loginApp.config(['$translateProvider', function($translateProvider) {
2
+ $translateProvider.translations('pl', {
3
+ HEADER: {
4
+ PAGE_TITLE: 'ING Business'
5
+ },
6
+ FORMS: {
7
+ TITLE: 'Logowanie',
8
+ TITLE_OOBA: 'Potwierdź logowanie w aplikacji mobilnej',
9
+ LOGIN: 'Wpisz swój login',
10
+ LOGIN_LABEL: 'Utwórz nowe hasło dla loginu: ',
11
+ PASSWORD_FOR_LOGIN: 'Wpisz wskazane znaki hasła dla loginu: ',
12
+ FIRST_LOGIN: 'Pomoc w logowaniu',
13
+ FORGOT_LOGIN: 'Nie pamiętam loginu',
14
+ UNLOCK: 'Nie pamiętam hasła',
15
+ NEXT: 'Dalej',
16
+ SMS: 'Wpisz kod SMS nr {{smsNumber}} dla loginu',
17
+ NEW_PASSWORD: 'Nowe hasło',
18
+ REPEAT_PASSWORD: 'Powtórz hasło',
19
+ ERROR_LOGIN: 'Nie udało się zalogować do ING Business',
20
+ BACK_TO_LOGIN: 'Powrót do logowania',
21
+ BACK_TO_LOGIN_LINK: 'Wróć do logowania',
22
+ UNLOCK_USER: {
23
+ TITLE: 'Nie pamiętam hasła',
24
+ NEXT: 'Wyślij hasło'
25
+ },
26
+ UNLOCK_USER_RESULT: {
27
+ TITLE: 'Wysłaliśmy hasło startowe'
28
+ },
29
+ HELP: 'Pomoc',
30
+ CRITICAL_MESSAGE: {
31
+ MORE_BUTTON: 'Więcej'
32
+ },
33
+ NIP_REGON: 'Wpisz NIP lub REGON',
34
+ MOBILE_AUTH: {
35
+ OPEN_MOBILE_APP_LINE1a: 'Zaloguj się ',
36
+ OPEN_MOBILE_APP_LINE1b: 'do aplikacji mobilnej ING Business',
37
+ OPEN_MOBILE_APP_LINE2a: 'i upewnij się, że ',
38
+ OPEN_MOBILE_APP_LINE2b: 'obrazki są takie same',
39
+ PREFER_SMS: 'Wolę podać swoje hasło i potwierdzić logowanie kodem SMS ',
40
+ SEND_SMS: 'Przejdź do podania hasła',
41
+ REMAINING_TIME: 'Zostało ',
42
+ REMAINING_TIME_SEC: ' sek.'
43
+ }
44
+ },
45
+ PASSWORD_STRENGTH: {
46
+ WEAK: 'słabe',
47
+ MEDIUM: 'średnie',
48
+ STRONG: 'silne'
49
+ },
50
+ ERRORS: {
51
+ ALIAS_REQUIRED: 'Wpisz swój login do ING Business',
52
+ PASSWORD_REQUIRED: 'Uzupełnij wskazane pola',
53
+ INVALID_CODE: 'Błędny kod SMS',
54
+ INCORRECT_REPEAT: 'Niepoprawne powtórzenie nowego hasła',
55
+ POLICY_RULES: 'Hasło nie spełnia reguł polityki bezpieczeństwa',
56
+ CHANGE_PASSWORD_DISTINCT: 'Nowe hasło musi być różne od {{pswDistinct}} poprzednich',
57
+ NIP_REGON_REQUIRED: 'Wpisz NIP lub REGON',
58
+ NIP_REGON_NOT_VALID: 'Wpisz poprawny NIP lub REGON'
59
+ },
60
+ OTHER: {
61
+ KEYBOARD: 'Klawiatura ekranowa',
62
+ BACK: 'Wstecz',
63
+ DESKTOP_VERSION: 'wersja klasyczna',
64
+ TABLET_VERSION: 'wersja tabletowa'
65
+ },
66
+ COOKIES: {
67
+ CLOSE: 'Zamknij',
68
+ INFO_1: 'Ta witryna używa plików cookie.',
69
+ INFO_2: 'Więcej informacji o używanych przez nas plikach cookie, ich zastosowaniu i sposobie modyfikacji akceptacji plików cookie,' +
70
+ ' można znaleźć na stronie',
71
+ INFO_3: 'Polityka plików cookie.'
72
+ }
73
+ });
74
+ }]);
@@ -0,0 +1,156 @@
1
+ 'use strict';
2
+
3
+ loginApp.config(['$stateProvider', 'psd2State', function($stateProvider, psd2State) {
4
+
5
+ var aliasState = {
6
+ templateUrl: 'alias/form.html?v=202110040949',
7
+ controller: 'AliasCtrl',
8
+ params: {
9
+ navLinks: {
10
+ showFirstLogin: true,
11
+ showForgotLogin: true,
12
+ showUnlock: true,
13
+ gemiusParamMiejsce: 'ekrany_logowania_login'
14
+ },
15
+ gemiusState: 'loginAlias'
16
+ }
17
+ };
18
+
19
+ var aliasStateUrl = angular.copy(aliasState);
20
+ aliasStateUrl.url = '';
21
+ // workaround for redundant hash in url
22
+ $stateProvider.state('default', aliasStateUrl);
23
+
24
+ var psd2AliasState = angular.copy(aliasState);
25
+ psd2AliasState.controller = 'Psd2AliasCtrl';
26
+ psd2AliasState.url = '/PSD2/:psd2SessionId';
27
+
28
+ $stateProvider.state('alias', aliasState);
29
+
30
+ $stateProvider.state('psd2Alias', psd2AliasState);
31
+
32
+ $stateProvider.state('password', {
33
+ templateUrl: 'password/form.html?v=202110040949',
34
+ controller: 'PasswordCtrl',
35
+ params: {
36
+ loginMask: '',
37
+ mask: [],
38
+ maskLength: 0,
39
+ alias: '',
40
+ navLinks: {
41
+ showFirstLogin: true,
42
+ showForgotLogin: true,
43
+ showUnlock: true,
44
+ gemiusParamMiejsce: 'ekrany_logowania_haslo'
45
+ },
46
+ gemiusState: 'maskLogin'
47
+ }
48
+ });
49
+
50
+ $stateProvider.state('changePassword', {
51
+ resolve: {
52
+ settings: ['loginService', function(loginService) {
53
+ return loginService.getPasswordSecurityPolicy();
54
+ }]
55
+ },
56
+ templateUrl: 'change/form.html?v=202110040949',
57
+ controller: 'ChangePasswordCtrl',
58
+ params: {
59
+ alias: '',
60
+ navLinks: {
61
+ showFirstLogin: true,
62
+ gemiusParamMiejsce: 'ekrany_logowania_pierwsze_logowanie_podaj_haslo'
63
+ },
64
+ gemiusState: 'changePassword'
65
+ }
66
+ });
67
+
68
+ $stateProvider.state('sms', {
69
+ templateUrl: 'sms/form.html?v=202110040949',
70
+ controller: 'SmsCtrl',
71
+ params: {
72
+ alias: '',
73
+ textToSign: '',
74
+ smsDailyNumber: 0,
75
+ smsReasonForGemius: '',
76
+ navLinks: {
77
+ showFirstLogin: true,
78
+ gemiusParamMiejsce: 'ekrany_logowania_podaj_sms'
79
+ },
80
+ gemiusState: 'smsAuthorization'
81
+ }
82
+ });
83
+
84
+ $stateProvider.state('unlockUser', {
85
+ url: '/unlockUser',
86
+ templateUrl: 'unlock-user/form.html?v=202110040949',
87
+ controller: 'UnlockUserCtrl',
88
+ params: {
89
+ gemiusState: 'unlockUser'
90
+ }
91
+ });
92
+
93
+ $stateProvider.state('error', {
94
+ templateUrl: 'error/form.html?v=202110040949',
95
+ controller: 'ErrorCtrl',
96
+ params: {
97
+ navLinks: {
98
+ showUnlock: true,
99
+ gemiusParamMiejsce: 'ekrany_logowania_blad_logowania'
100
+ },
101
+ gemiusState: 'loginError'
102
+ }
103
+ });
104
+
105
+ $stateProvider.state('customError', {
106
+ templateUrl: 'custom-error/form.html?v=202110040949',
107
+ controller: 'CustomErrorCtrl',
108
+ params: {
109
+ errors: [],
110
+ gemiusState: 'loginError'
111
+ }
112
+ });
113
+
114
+ $stateProvider.state('maintenance', {
115
+ templateUrl: 'maintenance.html?v=202110040949'
116
+ });
117
+
118
+ $stateProvider.state('index', {
119
+ externalUrl: '../index.jsp'
120
+ });
121
+
122
+ $stateProvider.state('mobileAuth', {
123
+ templateUrl: 'mobile-auth/form.html?v=202110040949',
124
+ controller: 'mobileAuthCtrl',
125
+ params: {
126
+ loginMask: '',
127
+ mask: [],
128
+ maskLength: 0,
129
+ alias: '',
130
+ timerOoba: 0,
131
+ frequencyTimer: 0,
132
+ gemiusState: 'mobileAuthorization',
133
+ pid: ''
134
+ },
135
+ resolve: {
136
+ previousState: ["$state", function($state) {
137
+ return {
138
+ name: $state.current.name,
139
+ params: $state.params,
140
+ URL: $state.href($state.current.name, $state.params)
141
+ };
142
+ }]
143
+ }
144
+ });
145
+
146
+ for (var property in psd2State) {
147
+ if (psd2State.hasOwnProperty(property)) {
148
+ var stateData = psd2State[property];
149
+ $stateProvider.state(stateData.state, {
150
+ externalUrl: stateData.externalUrl,
151
+ params: stateData.params
152
+ });
153
+ }
154
+ }
155
+
156
+ }]);
@@ -0,0 +1,194 @@
1
+ 'use strict';
2
+
3
+ angular.module('commons').service('maskService', ['hashService', 'maskUtilService', function(hashService, maskUtilService) {
4
+
5
+ // liczba masek (parametr)
6
+ var maskCount;
7
+ // tablica masek (MASK w postaci heksadecymalnej)
8
+ var masks = [];
9
+ // tablica zamaskowanych hasel (PASSMASKED' w
10
+ // postaci heksadecymalnej)
11
+ var passwords = [];
12
+ // tablica sum kwadratow indeksow niezamaskowanych
13
+ // pol dla kazdej maski
14
+ var powers = [];
15
+ // tablica dlugosci masek
16
+ var lengths = [];
17
+ // tablica skrotow SHA1(PASS+ALIAS) dla kazdego
18
+ // aliasu w postaci heksadecymalnej (modyfikacja
19
+ // hasla)
20
+ var sha1Passwords = [];
21
+ var maskChar = 5;
22
+
23
+ this.init = function(parameters) {
24
+ maskCount = parameters.maskCount;
25
+ maskChar = parameters.maskChar;
26
+ };
27
+
28
+ this.getMasks = function(newPassword, aliases) {
29
+ lengths.length = 0;
30
+ powers.length = 0;
31
+ masks.length = 0;
32
+ passwords.length = 0;
33
+ sha1Passwords.length = 0;
34
+
35
+ // wygenerowanie masek
36
+ for (var i = 0; i < maskCount; i++) {
37
+ var mask = this.createRandomMask(newPassword);
38
+ masks[i] = maskUtilService.arrayOfBytes2HexString(mask);
39
+ }
40
+
41
+ // wygenerowanie PASSMASKED' i HASH(PASS+ALIAS)
42
+ // dla kazdego aliasu
43
+ for (i = 0; i < aliases.length; i++) {
44
+ sha1Passwords[i] = hashService.calculateSHA1(newPassword + aliases[i]);
45
+
46
+ for (var j = 0; j < maskCount; j++) {
47
+ passwords[passwords.length] = maskUtilService.createPassMaskedBis(aliases[i], newPassword, maskUtilService.hexString2ArrayOfBytes(masks[j]));
48
+ }
49
+ }
50
+
51
+ return {
52
+ p_masks: masks.join(','),
53
+ p_passwords: passwords.join(','),
54
+ p_sha1_passwords: sha1Passwords.join(',')
55
+ };
56
+ };
57
+
58
+ // Funkcja na podstawie przekazanej maski tworzy
59
+ // tablice indeksow, ktore moga
60
+ // byc jeszcze wylosowane. Funkcja uwzglednia
61
+ // trywialnosc maski.
62
+ // Dopuszczalna liczba sasiadujacych pol
63
+ // niezamskowanych wynosi 3.
64
+ // Array mask1 - maska
65
+ this.createPossibleValueList = function(mask1) {
66
+ var mask2 = [];
67
+ maskUtilService.copyArray(mask1, mask2);
68
+
69
+ for (var i = 0; i < mask1.length - 3; i++) {
70
+ // pole zamaskowane
71
+ if (mask1[i] !== 0xFF) {
72
+ // trzy kolejne pola sa jedynkami
73
+ if (mask1[i + 1] === 0xFF && mask1[i + 2] === 0xFF && mask1[i + 3] === 0xFF) {
74
+ mask2[i] = -1;
75
+ }
76
+ } else {
77
+ // pole niezamaskowane
78
+ if (mask1[i + 1] === 0xFF && mask1[i + 2] === 0xFF && mask1[i + 3] !== 0xFF) {
79
+ mask2[i + 3] = -1;
80
+ } else if (mask1[i + 2] === 0xFF && mask1[i + 3] === 0xFF && mask1[i + 1] !== 0xFF) {
81
+ mask2[i + 1] = -1;
82
+ } else if (mask1[i + 1] === 0xFF && mask1[i + 3] === 0xFF && mask1[i + 2] !== 0xFF) {
83
+ mask2[i + 2] = -1;
84
+ }
85
+ }
86
+ }
87
+
88
+ var possVal = [];
89
+ for (i = 0; i < mask2.length; i++) {
90
+ if (mask2[i] !== 0xFF && mask2[i] !== -1) {
91
+ possVal[possVal.length] = i;
92
+ }
93
+ }
94
+
95
+ if (possVal.length === 0) {
96
+ return -1;
97
+ } else {
98
+ return possVal;
99
+ }
100
+ };
101
+
102
+ // Funkcja sprawdza czy maska jest unikalna
103
+ // Integer length1 - liczba niezamaskowanych pol
104
+ // Integer sum1 - suma kwadratow indeksow
105
+ // niezamaskowanych pol
106
+ this.isUniqueMask = function(length1, sum1) {
107
+ for (var i = 0; i < masks.length; i++) {
108
+ if (length1 === lengths[i] && sum1 === powers[i]) {
109
+ return false;
110
+ }
111
+ }
112
+
113
+ return true;
114
+ };
115
+
116
+ // Funkcja zwraca losowa, dopuszczalna liczbe
117
+ // niezamaskowanym pol w masce
118
+ // Liczba ta jest z przedzialu <4, pass.length - 5>
119
+ // String pass1 - haslo
120
+ this.getMaskFieldsCount = function() {
121
+ return maskChar;
122
+ };
123
+
124
+ // Funkcja tworzy tablice (maske) o rozmiarze rownym
125
+ // dlugosci hasla i wypelnia ja
126
+ // losowymi bajtami roznymi od 0xFF
127
+ // Integer len - dlugosc hasla
128
+ this.createEmptyMask = function(len) {
129
+ var emptyMask = [];
130
+ for (var i = 0; i < len; i++) {
131
+ emptyMask.push(maskUtilService.rand(254));
132
+ }
133
+
134
+ return emptyMask;
135
+ };
136
+
137
+ // Funkcja generuje pseudolosowa, niepowtarzalna i
138
+ // nietrywialna maske o pseudolosowej dlugosci.
139
+ // Obcina maske za ostatnim niezamaskowanym polem.
140
+ // String pass1 - haslo
141
+ this.createRandomMask = function(pass1) {
142
+ // maska
143
+ var mask = [];
144
+ // suma kwadratow indeksow
145
+ var sum = 0;
146
+ // liczba niezamaskowanych pol
147
+ var maskFieldsCount = 0;
148
+
149
+ // wygenerowanie niepowtarzalnej i nietrywialnej
150
+ // maski
151
+ do {
152
+ // utworzenie maski wypelnionej losowymi
153
+ // bajtami roznymi od 0xFF
154
+ mask = this.createEmptyMask(pass1.length);
155
+ // wylosowanie dlugosci maski
156
+ maskFieldsCount = this.getMaskFieldsCount(pass1);
157
+ // ustawienie tej zmiennej oznacza, ze nie
158
+ // da sie wygenerowac maski
159
+ var impas = false;
160
+ // wyzerowanie sumy kwadratow
161
+ sum = 0;
162
+
163
+ var possibleValues = this.createPossibleValueList(mask);
164
+
165
+ for (var i = 0; i < maskFieldsCount; i++) {
166
+ var randValue = maskUtilService.randArrayValue(possibleValues);
167
+ mask[randValue] = 0xFF;
168
+ possibleValues = this.createPossibleValueList(mask);
169
+ if (possibleValues === -1) {
170
+ impas = true;
171
+ break;
172
+ }
173
+ sum += maskUtilService.power(randValue);
174
+ }
175
+ if (impas) {
176
+ continue;
177
+ }
178
+ } while (!this.isUniqueMask(maskFieldsCount, sum));
179
+
180
+ // obciecie maski za ostatnim niezamaskowanym
181
+ // polem
182
+ while (mask[mask.length - 1] !== 0xFF) {
183
+ mask.length = mask.length - 1;
184
+ }
185
+
186
+ // wstawienie dlugosci i sumy do tablic
187
+ // globalnych
188
+ lengths[lengths.length] = maskFieldsCount;
189
+ powers[powers.length] = sum;
190
+
191
+ return mask;
192
+ };
193
+
194
+ }]);