{"id":300643,"date":"2020-03-24T09:00:34","date_gmt":"2020-03-24T09:00:34","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=300643"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=300643","title":{"rendered":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Zap Baseline Scan \u0434\u043b\u044f \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/493778\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/is\/l4\/a9\/isl4a90ryvz7xin-keckrq4u9dg.jpeg\" alt=\"image\"><\/p>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0440\u0435\u0438\u043d\u043a\u0430\u0440\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 WordPress-\u0431\u043b\u043e\u0433. \u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0434\u0430\u0447\u0438 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430 <a href=\"https:\/\/www.eccouncil.org\/programs\/certified-security-analyst-ecsa\/\" rel=\"nofollow\">ECSA<\/a>. \u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043c\u0435\u043d\u044f \u043a \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u0431\u043b\u043e\u0433\u0430 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u044f\u0449\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 (\u043f\u043e\u0442\u043e\u043c\u0443 \u0438 \u0432\u0435\u0447\u043d\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0445) \u0434\u0432\u0438\u0436\u043a\u043e\u0432.<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0438\u0437\u044b\u0441\u043a\u0430\u043d\u0438\u0439 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u044d\u0442\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0438 \u0441\u043f\u0435\u0448\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438, \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438.<\/p>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0434\u043b\u044f \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b.<\/p>\n<p>  <a name=\"habracut\"><\/a>\u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043d\u0430 \u044d\u0442\u043e \u0437\u0430\u0442\u0440\u0430\u0442\u0438\u0442\u044c. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0431\u044a\u044f\u0442\u044c \u043d\u0435\u043e\u0431\u044a\u044f\u0442\u043d\u043e\u0435, \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0431\u044e\u0434\u0436\u0435\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043e\u043a\u043e\u043b\u043e\u043d\u0443\u043b\u0435\u0432\u043e\u0439. \u041f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0431\u0435\u0433\u043b\u043e\u0433\u043e \u0432\u0437\u0433\u043b\u044f\u0434\u0430, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u0430\u0439\u0442 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043c\u0438\u043c\u043e\u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0435\u0439 \u0441\u043e \u0437\u043b\u044b\u043c\u0438 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438. \u041f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u044d\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e.<\/p>\n<p>  \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f:<\/p>\n<ul>\n<li>\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 \u041e\u0421 Linux \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e;<\/li>\n<li>\u043e\u0431\u0440\u0430\u0437 <a href=\"https:\/\/github.com\/zaproxy\/zaproxy\/wiki\/ZAP-Baseline-Scan\" rel=\"nofollow\">ZAP Baseline Scan<\/a>;<\/li>\n<li>\u043d\u0430\u0432\u044b\u043a\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Bash-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 Linux.<\/li>\n<\/ul>\n<p>  <\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430 \u0441\u043a\u0430\u043d\u0435\u0440\u043e\u043c OWASP ZAP<\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rj\/rk\/nk\/rjrknkqzknoijnbkspkdhypdecw.jpeg\" alt=\"image\"><\/p>\n<p>  \u0412\u0432\u0438\u0434\u0443 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 ZAP, \u0430 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 <a href=\"https:\/\/github.com\/zaproxy\/zaproxy\/wiki\/ZAP-Baseline-Scan\" rel=\"nofollow\">ZAP Baseline Scan<\/a>. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 Docker: \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e, \u0441\u0442\u0438\u043b\u044c\u043d\u043e, \u043c\u043e\u0434\u043d\u043e, \u043c\u043e\u043b\u043e\u0434\u0451\u0436\u043d\u043e.<br \/>  \u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0437\u0430:<\/p>\n<ul>\n<li><a href=\"https:\/\/hub.docker.com\/r\/owasp\/zap2docker-bare\" rel=\"nofollow\">owasp\/zap2docker-bare<\/a> \u2014 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (\u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0435\u043d\u0438\u044f\u043c OWASP, \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 CI);<\/li>\n<li><a href=\"https:\/\/hub.docker.com\/r\/owasp\/zap2docker-weekly\" rel=\"nofollow\">owasp\/zap2docker-weekly<\/a> \u2014 \u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u00abUpdated a month ago\u00bb);<\/li>\n<li><a href=\"https:\/\/hub.docker.com\/r\/owasp\/zap2docker-stable\" rel=\"nofollow\">owasp\/zap2docker-stable<\/a> \u2014 \u043d\u0430\u0438\u0441\u0432\u0435\u0436\u0430\u0439\u0448\u0438\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437;<\/li>\n<li><a href=\"https:\/\/hub.docker.com\/r\/owasp\/zap2docker-live\" rel=\"nofollow\">owasp\/zap2docker-live<\/a> \u2014 \u043d\u0430\u0438\u0441\u0432\u0435\u0436\u0430\u0439\u0448\u0438\u0439, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437.<\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0440 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u044f \u0432\u044b\u0431\u0440\u0430\u043b owasp\/zap2docker-live (\u0430 \u0432\u0434\u0440\u0443\u0433 \u043f\u043e\u0432\u0435\u0437\u0435\u0442, \u0438 \u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044e \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0431\u0430\u0433). \u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u0438 \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e.<\/p>\n<p>  \u042d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0443\u0442\u0435\u043c \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u044b \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 (\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 Wiki \u043f\u0440\u043e\u0435\u043a\u0442\u0430 <a href=\"https:\/\/github.com\/zaproxy\/zaproxy\/wiki\/ZAP-Baseline-Scan\" rel=\"nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0438 <a href=\"https:\/\/github.com\/zaproxy\/zaproxy\/wiki\/Docker\" rel=\"nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>):<\/p>\n<pre><code class=\"bash\">docker run -v \/tmp\/zap\/:\/zap\/wrk\/:rw -t owasp\/zap2docker-live zap-baseline.py -t https:\/\/blog.tyutin.net\/ru\/ -j -a -m 5 -r blog_tyutin_net-$(date &quot;+%Y-%m-%d&quot;).html -J blog_tyutin_net-$(date &quot;+%Y-%m-%d&quot;).json<\/code><\/pre>\n<p>  \u0414\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0435\u0451 \u043e\u043f\u0446\u0438\u0438:<\/p>\n<ul>\n<li><b>docker run<\/b> \u2014 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 Docker \u2014 \u0443\u0434\u043e\u0431\u043d\u043e, \u043c\u043e\u0434\u043d\u043e, \u0441\u0442\u0438\u043b\u044c\u043d\u043e, \u043c\u043e\u043b\u043e\u0434\u0451\u0436\u043d\u043e;<\/li>\n<li><b>-v \/tmp\/zap\/:\/zap\/wrk\/:rw<\/b> \u2014 \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u043e\u0442\u0447\u0435\u0442\u043e\u0432;<\/li>\n<li><b>-t<\/b> \u2014 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043a\u0430\u043d\u0435\u0440\u0443 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d;<\/li>\n<li><b>owasp\/zap2docker-live<\/b> \u2014 \u043e\u0431\u0440\u0430\u0437, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, live \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0430\u043c\u044b\u0435 \u0441\u0432\u0435\u0436\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f;<\/li>\n<li><b>zap-baseline.py<\/b> \u2014 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f;<\/li>\n<li><b>-t <a href=\"https:\/\/blog.tyutin.net\/ru\/\" rel=\"nofollow\">blog.tyutin.net\/ru<\/a><\/b> \u2014 \u0446\u0435\u043b\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f;<\/li>\n<li><b>-j<\/b> \u2014 \u0437\u0430\u043f\u0443\u0441\u043a ajax-\u043f\u0430\u0443\u043a\u0430: \u043f\u0443\u0441\u0442\u044c \u0431\u0435\u0433\u0430\u0435\u0442, \u0436\u0430\u043b\u043a\u043e \u0447\u0442\u043e \u043b\u0438;<\/li>\n<li><b>-a<\/b> \u2014 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"https:\/\/www.zaproxy.org\/docs\/desktop\/addons\/passive-scan-rules-alpha\/\" rel=\"nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>;<\/li>\n<li><b>-m 5<\/b> \u2014 \u0434\u0430\u0435\u043c \u043f\u0430\u0443\u043a\u0443 5 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0436\u0430\u0442\u044c \u0441\u0430\u0439\u0442 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u043e 1);<\/li>\n<li><b>-r blog_tyutin_net-$(date \u00ab+%Y-%m-%d\u00bb).html<\/b> \u2014 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0442\u0447\u0435\u0442\u0430 \u0432 html-\u0444\u0430\u0439\u043b, \u0432\u043a\u043b\u044e\u0447\u0438\u0432 \u0432 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430 \u0438 \u0434\u0430\u0442\u0443 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0438\u043d\u0443\u0442\u044c \u0432 Telegram \u0438\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u0435);<\/li>\n<li><b>-J blog_tyutin_net-$(date \u00ab+%Y-%m-%d\u00bb).json<\/b> \u2014 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0442\u0447\u0435\u0442\u0430 \u0432 html-\u0444\u0430\u0439\u043b, \u0432\u043a\u043b\u044e\u0447\u0438\u0432 \u0432 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430 \u0438 \u0434\u0430\u0442\u0443 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0443\u0434\u043e\u0431\u043d\u043e \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0432 Telegram \u043a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438).<\/li>\n<\/ul>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0430\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e \u043c\u043d\u0435\u043d\u0438\u044e OWASP ZAP \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0430\u0439\u0442\u0435:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u043e\u0442 \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438&#8230;<\/b><\/p>\n<div class=\"spoiler_text\"><code>Total of 272 URLs<br \/>  PASS: Cookie Without Secure Flag [10011]<br \/>  PASS: Cross-Domain JavaScript Source File Inclusion [10017]<br \/>  PASS: Content-Type Header Missing [10019]<br \/>  PASS: X-Frame-Options Header Scanner [10020]<br \/>  PASS: Information Disclosure - Debug Error Messages [10023]<br \/>  PASS: Information Disclosure - Sensitive Information in URL [10024]<br \/>  PASS: Information Disclosure - Sensitive Information in HTTP Referrer Header [10025]<br \/>  PASS: HTTP Parameter Override [10026]<br \/>  PASS: Information Disclosure - Suspicious Comments [10027]<br \/>  PASS: Open Redirect [10028]<br \/>  PASS: Cookie Poisoning [10029]<br \/>  PASS: User Controllable Charset [10030]<br \/>  PASS: User Controllable HTML Element Attribute (Potential XSS) [10031]<br \/>  PASS: Viewstate Scanner [10032]<br \/>  PASS: Directory Browsing [10033]<br \/>  PASS: Heartbleed OpenSSL Vulnerability (Indicative) [10034]<br \/>  PASS: Strict-Transport-Security Header Scanner [10035]<br \/>  PASS: Server Leaks Information via &quot;X-Powered-By&quot; HTTP Response Header Field(s) [10037]<br \/>  PASS: X-Backend-Server Header Information Leak [10039]<br \/>  PASS: Secure Pages Include Mixed Content [10040]<br \/>  PASS: HTTP to HTTPS Insecure Transition in Form Post [10041]<br \/>  PASS: HTTPS to HTTP Insecure Transition in Form Post [10042]<br \/>  PASS: User Controllable JavaScript Event (XSS) [10043]<br \/>  PASS: Big Redirect Detected (Potential Sensitive Information Leak) [10044]<br \/>  PASS: Insecure Component [10046]<br \/>  PASS: Content Cacheability [10049]<br \/>  PASS: Retrieved from Cache [10050]<br \/>  PASS: X-ChromeLogger-Data (XCOLD) Header Information Leak [10052]<br \/>  PASS: CSP Scanner [10055]<br \/>  PASS: X-Debug-Token Information Leak [10056]<br \/>  PASS: Username Hash Found [10057]<br \/>  PASS: X-AspNet-Version Response Header Scanner [10061]<br \/>  PASS: PII Disclosure [10062]<br \/>  PASS: Base64 Disclosure [10094]<br \/>  PASS: Timestamp Disclosure [10096]<br \/>  PASS: Hash Disclosure [10097]<br \/>  PASS: Cross-Domain Misconfiguration [10098]<br \/>  PASS: Weak Authentication Method [10105]<br \/>  PASS: Reverse Tabnabbing [10108]<br \/>  PASS: Modern Web Application [10109]<br \/>  PASS: Private IP Disclosure [2]<br \/>  PASS: Session ID in URL Rewrite [3]<br \/>  PASS: Script Passive Scan Rules [50001]<br \/>  PASS: Insecure JSF ViewState [90001]<br \/>  PASS: Java Serialization Object [90002]<br \/>  PASS: Charset Mismatch [90011]<br \/>  PASS: Application Error Disclosure [90022]<br \/>  PASS: Loosely Scoped Cookie [90033]<br \/>  WARN-NEW: In Page Banner Information Leak [10009] x 1 <br \/>   https:\/\/blog.tyutin.net\/favicon.ico (404 Not Found)<br \/>  WARN-NEW: Cookie No HttpOnly Flag [10010] x 5 <br \/>   https:\/\/blog.tyutin.net\/wp-login.php (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php?reauth=1&amp;redirect_to=https%3A%2F%2Fblog.tyutin.net%2Fwp-admin%2F (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php?action=lostpassword (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php?action=lostpassword (200 OK)<br \/>  WARN-NEW: Incomplete or No Cache-control and Pragma HTTP Header Set [10015] x 114 <br \/>   https:\/\/blog.tyutin.net\/ru\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/robots.txt (200 OK)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/category\/uncategorized\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/2020\/03\/03\/hello-world\/ (200 OK)<br \/>  WARN-NEW: X-Content-Type-Options Header Missing [10021] x 161 <br \/>   https:\/\/blog.tyutin.net\/ru\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/robots.txt (200 OK)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/category\/uncategorized\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/2020\/03\/03\/hello-world\/ (200 OK)<br \/>  WARN-NEW: Server Leaks Version Information via &quot;Server&quot; HTTP Response Header Field [10036] x 188 <br \/>   https:\/\/blog.tyutin.net\/ru\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/robots.txt (200 OK)<br \/>   https:\/\/blog.tyutin.net\/sitemap.xml (404 Not Found)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-admin\/ (302 Found)<br \/>  WARN-NEW: Content Security Policy (CSP) Header Not Set [10038] x 47 <br \/>   https:\/\/blog.tyutin.net\/ru\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/sitemap.xml (404 Not Found)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-admin\/admin-ajax.php (400 Bad Request)<br \/>   https:\/\/blog.tyutin.net\/blog\/category\/uncategorized\/ (200 OK)<br \/>  WARN-NEW: Cookie Without SameSite Attribute [10054] x 5 <br \/>   https:\/\/blog.tyutin.net\/wp-login.php (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php?reauth=1&amp;redirect_to=https%3A%2F%2Fblog.tyutin.net%2Fwp-admin%2F (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php?action=lostpassword (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-login.php?action=lostpassword (200 OK)<br \/>  WARN-NEW: Feature Policy Header Not Set [10063] x 76 <br \/>   https:\/\/blog.tyutin.net\/ru\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/sitemap.xml (404 Not Found)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/wp-admin\/admin-ajax.php (400 Bad Request)<br \/>   https:\/\/blog.tyutin.net\/blog\/category\/uncategorized\/ (200 OK)<br \/>  WARN-NEW: Source Code Disclosure - PHP [10099] x 11 <br \/>   https:\/\/blog.tyutin.net\/ru\/%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d0%ba%d0%b8-devsecopsa-sast-%d0%b8%d0%bb%d0%b8-%d0%bf%d0%be%d0%b3%d1%80%d1%83%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b2-%d0%b8%d1%81%d1%85%d0%be%d0%b4%d0%bd%d1%8b%d0%b9\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/ru\/feed\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/ru\/category\/devsecops\/feed\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/ru\/wp-content\/plugins\/syntaxhighlighter\/syntaxhighlighter3\/scripts\/shBrushPhp.js?ver=3.0.9b (200 OK)<br \/>   https:\/\/blog.tyutin.net\/ru\/wp-content\/uploads\/sites\/2\/2020\/03\/SSLLabs_blog_03_Aplus.png (200 OK)<br \/>  WARN-NEW: Absence of Anti-CSRF Tokens [10202] x 22 <br \/>   https:\/\/blog.tyutin.net\/sitemap.xml (404 Not Found)<br \/>   https:\/\/blog.tyutin.net\/sitemap.xml (404 Not Found)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/category\/uncategorized\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/2020\/03\/03\/hello-world\/ (200 OK)<br \/>  WARN-NEW: Sub Resource Integrity Attribute Missing [90003] x 37 <br \/>   https:\/\/blog.tyutin.net\/ru\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/sitemap.xml (404 Not Found)<br \/>   https:\/\/blog.tyutin.net\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/category\/uncategorized\/ (200 OK)<br \/>   https:\/\/blog.tyutin.net\/blog\/2020\/03\/03\/hello-world\/ (200 OK)<br \/>  FAIL-NEW: 0 FAIL-INPROG: 0 WARN-NEW: 11 WARN-INPROG: 0 INFO: 0 IGNORE: 0 PASS: 48<\/code>  <\/div>\n<\/div>\n<p>  \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u0447\u0435\u0442\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u0431\u043e\u043b\u044c\u0448\u043e\u0439. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u0432\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0435\u0433\u043e \u0443\u0431\u044c\u0451\u0442 \u0432\u0441\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0443.<\/p>\n<h2>\u041a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043e\u0442\u0447\u0435\u0442\u0430 OWASP ZAP<\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1d\/-d\/df\/1d-ddf3k98teyhzeoxfetjibz6u.png\" alt=\"image\"><\/p>\n<p>  \u041a\u0430\u043a \u0431\u044b\u043b\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u0440\u0430\u043d\u0435\u0435, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 html \u0438 json. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 json, \u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0435\u043b\u0438\u043a\u043e\u043b\u0435\u043f\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u044b <a href=\"https:\/\/stedolan.github.io\/jq\/\" rel=\"nofollow\">jq<\/a> \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c json-\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0432\u0441\u0435\u043c\u0438 \u043c\u044b\u0441\u043b\u0438\u043c\u044b\u043c\u0438 \u0438 \u043d\u0435\u043c\u044b\u0441\u043b\u0438\u043c\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043e\u0431\u043e\u0437\u0440\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0430\u0439\u0442\u0430 \u0432 \u043d\u0430\u0448\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 \u043c\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043e\u0436\u043c\u0435\u043c \u043d\u0430\u0448 json \u0434\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043d\u044f\u0442\u044c \u0441\u0443\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0431\u0435\u0433\u043b\u044b\u043c \u0432\u0437\u0433\u043b\u044f\u0434\u043e\u043c:<\/p>\n<pre><code class=\"bash\">cat blog_tyutin_net--$SCANDATE.json | \\      jq -c '.site[].alerts[]' | \\      jq -r -s -c 'sort_by(.riskcode, .confidence)| reverse | .[] | &quot;(.riskdesc)\\t|\\t(.alert)&quot;')<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u043c:<\/p>\n<pre><code class=\"plaintext\">Medium (High)   |   Sub Resource Integrity Attribute Missing Medium (Medium) |   Source Code Disclosure - ActiveVFP Medium (Medium) |   Source Code Disclosure - PHP Low (High)  |   In Page Banner Information Leak Low (High)  |   Server Leaks Version Information via &quot;Server&quot; HTTP Response Header Field Low (High)  |   Server Leaks Version Information via &quot;Server&quot; HTTP Response Header Field Low (Medium)    |   Cookie No HttpOnly Flag Low (Medium)    |   Cookie Without SameSite Attribute Low (Medium)    |   Content Security Policy (CSP) Header Not Set Low (Medium)    |   X-Content-Type-Options Header Missing Low (Medium)    |   Feature Policy Header Not Set Low (Medium)    |   Incomplete or No Cache-control and Pragma HTTP Header Set Low (Medium)    |   Absence of Anti-CSRF Tokens Informational (Medium)  |   Modern Web Application Informational (Medium)  |   Storable but Non-Cacheable Content Informational (Medium)  |   Base64 Disclosure Informational (Medium)  |   Storable and Cacheable Content Informational (Medium)  |   Storable and Cacheable Content Informational (Low) |   Charset Mismatch  Informational (Low) |   User Controllable HTML Element Attribute (Potential XSS) Informational (Low) |   Timestamp Disclosure - Unix Informational (Low) |   Information Disclosure - Suspicious Comments<\/code><\/pre>\n<p>  <\/p>\n<h2>\u041f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u043e\u0442\u0447\u0435\u0442 \u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 OWASP ZAP \u0432 Telegram<\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vw\/0r\/cr\/vw0rcrth9wlfjerwlcn7w5i7hlc.png\" alt=\"image\"><\/p>\n<p>  \u041f\u043e\u0434\u043e\u043f\u044b\u0442\u043d\u044b\u043c \u043a\u0440\u043e\u043b\u0438\u043a\u043e\u043c \u0443 \u043d\u0430\u0441 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043d\u0435 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441, \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441\u0442\u0430\u0440\u0442\u0430\u043f-\u043f\u0440\u043e\u0435\u043a\u0442, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043b\u0438\u0447\u043d\u044b\u0439 \u0431\u043b\u043e\u0433, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0441 Jira (\u0445\u043e\u0442\u044f \u043f\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c \u0437\u0434\u0435\u0441\u044c \u043c\u0430\u043d\u0443\u0430\u043b\u0430\u043c \u044d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c), \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432 Telegram.<\/p>\n<p>  \u0412\u043e\u043f\u0440\u043e\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Telegram \u0431\u043e\u0442\u0430 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430\u0445 \u043e\u0431\u043c\u0443\u0441\u043e\u043b\u0435\u043d \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u043e\u0439\u0434\u0451\u043c \u0435\u0433\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439 \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0434\u0435\u043b\u0443. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0432\u0448\u0435\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0432\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\u043e\u0431\u0437\u043e\u0440\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u043c;<\/li>\n<li>\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 html-\u043e\u0442\u0447\u0435\u0442 \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u0430.<\/li>\n<\/ul>\n<p>  \u0421\u043a\u0440\u0438\u043f\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 Telegram \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\">#!\/bin\/bash TGCHATID=&quot;$1&quot; TGMESSAGE=&quot;$2&quot; TGTOKEN=&quot;$3&quot;   # Send message to TG chat curl -m 20 -s \\         --header 'Content-Type: application\/json' \\         --request 'POST' \\         --data &quot;{\\&quot;disable_web_page_preview\\&quot;:true,\\&quot;parse_mode\\&quot;:\\&quot;Markdown\\&quot;,\\&quot;chat_id\\&quot;:\\&quot;${TGCHATID}\\&quot;,\\&quot;text\\&quot;:\\&quot;${TGMESSAGE}\\&quot;}&quot; &quot;https:\/\/api.telegram.org\/bot${TGTOKEN}\/sendMessage&quot; \\         1 &gt; \/dev\/null<\/code><\/pre>\n<p>  \u0421\u043a\u0440\u0438\u043f\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 Telegram \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u0447\u0435\u0442\u0430 OWASP ZAP:<\/p>\n<pre><code class=\"bash\">#!\/bin\/bash TGCHATID=&quot;$1&quot; FILETOSEND=&quot;$2&quot; TGTOKEN=&quot;$3&quot;   # Send file to TG chat curl -m 20 \\     -F &quot;chat_id=${TGCHATID}&quot; \\     -F document=@${FILETOSEND} \\     https:\/\/api.telegram.org\/bot${TGTOKEN}\/sendDocument<\/code><\/pre>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0438\u0440\u043f\u0438\u0447\u0435\u0439. \u041f\u043e\u0440\u0430 \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u0441\u0442\u0435\u043d\u0443.<\/p>\n<h2>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c continuous security scanning \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430<\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rn\/wk\/qw\/rnwkqw1xgtgy_ivqcxmnxuyz1os.jpeg\" alt=\"image\"><\/p>\n<p>  \u0412 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 cron. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430:<\/p>\n<ul>\n<li><b>-target<\/b> \u2014 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 URL \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f OWASP ZAP;<\/li>\n<li><b>-resdir<\/b> \u2014 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438.<\/li>\n<\/ul>\n<p>  \u0412 \u043b\u043e\u0433\u0438\u043a\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0432 \u0441\u0443\u0442\u043a\u0438. \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430 \u00ab\u0441\u0435\u0433\u043e\u0434\u043d\u044f\u00bb \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442 \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432. \u0418 \u0432\u043e\u0442 \u043a\u0430\u043a \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5w\/pn\/aa\/5wpnaaehd--x65zzfaaiyixuobi.png\" alt=\"image\"><\/p>\n<p>  HTML-\u043e\u0442\u0447\u0435\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fx\/0s\/wm\/fx0swmq8mv8rwc6vk3j2_urqjf8.jpeg\" alt=\"image\"><\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u0438 \u0432\u0438\u043d\u043e\u0432\u043d\u0438\u043a \u0442\u043e\u0440\u0436\u0435\u0441\u0442\u0432\u0430 \u2014 \u0441\u043a\u0440\u0438\u043f\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0438\u043d\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"bash\">#!\/bin\/bash   # ----------------------------------------- # ------    Get input parameters  --------- # ----------------------------------------- for i in &quot;$@&quot; do     case $i in                 -target=*)                 TARGET=&quot;${i#*=}&quot;                 shift                 ;;         -resdir=*)                 RESDIR=&quot;${i#*=}&quot;                 shift                 ;;           esac done # -----------------------------------------   # ----------------------------------------- # ------  Check input parameters  --------- # ----------------------------------------- if [[ -z $TARGET ]]; then     echo &quot;-target parameter is not set. Exiting.&quot; &amp;&amp; exit fi if [[ -z $RESDIR ]]; then         echo &quot;-resdir parameter is not set. Exiting.&quot; &amp;&amp; exit fi if [[ ! -d ${RESDIR} ]]; then     echo &quot;Path ${RESDIR} does not exist. Creating...&quot;     mkdir -p $RESDIR     chown 1000:1000 $RESDIR     if [ $? -ne 0 ]; then         echo &quot;Error creating ${RESDIR} directory. Exiting.&quot;         exit     fi fi # -----------------------------------------   TGTOKEN=```PUT_YOUR_TOKEN_HERE``` TGCHATID=```PUT_YOUR_ID_HERE```     SCANDATE=$(date &quot;+%Y-%m-%d&quot;) SCANFILE=$(echo $TARGET | sed -e 's|\/|_|g' | sed -e 's|:|_|g' | sed -e 's|\\.|_|g')   # ----------------------------------------- # ------        Perform scan      --------- # ----------------------------------------- if [[ ! -f $RESDIR\/${SCANFILE}-${SCANDATE}.json ]]; then     docker run \\         -v $RESDIR\/:\/zap\/wrk\/:rw \\         -t owasp\/zap2docker-live \\         zap-baseline.py \\             -t $TARGET \\             -j -a -m 5 \\             -r $SCANFILE-$SCANDATE.html \\             -J $SCANFILE-$SCANDATE.json fi # -----------------------------------------   # ----------------------------------------- # ------    Interpret results     --------- # ----------------------------------------- RESULT=$(cat $RESDIR\/$SCANFILE-$SCANDATE.json | \\     jq -c '.site[].alerts[]' | \\     jq -r -s -c 'sort_by(.riskcode, .confidence)| reverse | .[] | &quot;\\(.riskdesc)\\t|\\t\\(.alert)_NEWLINE_&quot;')   MESSAGE=&quot;*SECURITY REPORT FOR &quot;$TARGET&quot;*\\n\\n&quot;   MESSAGE=$MESSAGE$(echo $RESULT | sed -e 's|&quot;|\\\\&quot;|g' | sed -e 's\/|\/\\\\t|\\\\t\/g' | sed -e 's|_NEWLINE_|\\\\n|g' | sed -e 's|\\\\n |\\\\n|g' )   echo $MESSAGE # -----------------------------------------   # ----------------------------------------- # ------     Send text report     --------- # ----------------------------------------- curl -m 20 -s \\         --header 'Content-Type: application\/json' \\         --request 'POST' \\         --data &quot;{\\&quot;disable_web_page_preview\\&quot;:true,\\&quot;parse_mode\\&quot;:\\&quot;Markdown\\&quot;,\\&quot;chat_id\\&quot;:\\&quot;${TGCHATID}\\&quot;,\\&quot;text\\&quot;:\\&quot;${MESSAGE}\\&quot;}&quot; &quot;https:\/\/api.telegram.org\/bot${TGTOKEN}\/sendMessage&quot; \\         1 &gt; \/dev\/null # -----------------------------------------   # ----------------------------------------- # ------     Send html report     --------- # ----------------------------------------- curl -m 20 \\     -F &quot;chat_id=${TGCHATID}&quot; \\     -F document=@${RESDIR}\/${SCANFILE}-${SCANDATE}.html \\     https:\/\/api.telegram.org\/bot${TGTOKEN}\/sendDocument # -----------------------------------------<\/code><\/pre>\n<p>  \u0417\u0430 \u0441\u0438\u043c \u043f\u0440\u043e\u0449\u0430\u044e\u0441\u044c \u0438 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u0434\u043e\u0447\u0438\u0442\u0430\u0432\u0448\u0438\u0445 \u044d\u0442\u043e\u0442 \u043e\u0431\u044a\u0451\u043c\u043d\u044b\u0439 \u043e\u043f\u0443\u0441. \u0412\u043e\u043f\u0440\u043e\u0441\u044b, \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f, \u043a\u0440\u0438\u0442\u0438\u043a\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0438 \u0432 \u043b\u0438\u0447\u043a\u0435. \u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430!<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/493778\/\"> https:\/\/habr.com\/ru\/post\/493778\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/493778\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/is\/l4\/a9\/isl4a90ryvz7xin-keckrq4u9dg.jpeg\" alt=\"image\"><\/p>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0440\u0435\u0438\u043d\u043a\u0430\u0440\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 Wordpress-\u0431\u043b\u043e\u0433. \u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0434\u0430\u0447\u0438 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430 <a href=\"https:\/\/www.eccouncil.org\/programs\/certified-security-analyst-ecsa\/\" rel=\"nofollow\">ECSA<\/a>. \u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043c\u0435\u043d\u044f \u043a \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u0431\u043b\u043e\u0433\u0430 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u044f\u0449\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 (\u043f\u043e\u0442\u043e\u043c\u0443 \u0438 \u0432\u0435\u0447\u043d\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0445) \u0434\u0432\u0438\u0436\u043a\u043e\u0432.<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0438\u0437\u044b\u0441\u043a\u0430\u043d\u0438\u0439 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u044d\u0442\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0438 \u0441\u043f\u0435\u0448\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438, \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438.<\/p>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0434\u043b\u044f \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-300643","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/300643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=300643"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/300643\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=300643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=300643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=300643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}