ืฉึธืืืึนื.
ืืืจื ืฉืกืืืืชื ืืืชืื ืขืื ืชืกืจืื ืืืฉ, ืืื ืชื ืฉืืื ืฆืจืื ืืืืืช ืืืจืช ืืืืจื, ืืื ืืื ืขืื. ืื ื ืจืืฆื ืืืจืืืช ืื ืืืื ืืกืืืืช ืืงืืืื ืืชืืชื ืืื ืืคืชืืจ ืืช ืืืขืื, ืืื ืขืืืื ืืื ืื ืขืืื ืฉื ืืืข. ืืืืืื ืืืจืืช, ืงืจืืงืืืจื ืฉื ืชืื ืืช.
ืืฉืืื
ืืฉืื ื ืืืฅ ืืื:
- ืืฆืื ืืจืืืื ืจืืื ืืืืื, ืืืขื ืจืืืืขืื
- ืืฆื ืืช ืืืจืืืื ืืจืืื ืฉื ืฉืชื ืืืืื
ืืฉืืื ืื? ืืืื, ืืื - ืืืื.
ืื ืื ืืืืข, ืืจืืื ืืจืืืขืช (ืืฉืคื ืืจืืืืช - ืจืืืืข) ืืื ืฉืชื ืืืืื ืฉืฉืชื ืืืืชืืืช ืืืืจืื ืืช ืฉืืื ืืืชืื ืืืคืคืืช, ืื ืฉ(ืืขืืชืื ืงืจืืืืช, ืื ืืืืจ ืืืืื) ืืืคื ืืืชื ืืืจืืื. ืืืืืื, ืืจืืื ืื ืืคืืจ; ืฆืืื - ืืืื ืืช. ืืฉืืืืฉ ืืจืืืืขืื ืืืจืกื ืืืืจื ืืช ืืื ื ืืืืฉืจ ืืืืืื ืขื ืืื ืื ืฉืื, ืืฉื ืืคืจืืืืืืืืืช ืฉืืื.
ืืืืื
ื ืจืื ืื ืฉืืคืชืจืื ืืคืฉืื ืืืืชืจ ืืื ืืืชืื ืชืกืจืื ื-Bash ืฉืืฉืชืืฉ ืืืืืื ืืจืืื ืฉืืืจ ืงืืื - HOST, ืฉืืืืจ ืืืชื ืืขืืงืจ ืืคื ืขืืฆืืจืื, ืืื ืืคื ืืืืช. ืืืื ืกืื ืฉื ืืืจื? ืื ืื ืชืฆืืื ื ืืช ืืฉื ืืืืืชื ืฉื ืืืชืจ, ืืืืื ืฉืืืืืจ ืืคืจืกืืืช. ืืื ืื ืืืืฉืื ืืืฉืชืืฉ ืื? ืจืืฉืืช, ืืืจืืช ืืืชืจืื ืฉืื ืืืืืจืช ืืจืืืื ืขื ืกืื ืขืืฆืืจืื, ืืื ืขืืืื ืืืืฆืจ ืืขืชืื ืงืจืืืืช ืจืืืืขืื. ืฉื ืืช, ืืชื ืขืืืื ืฆืจืื ืืืฉืื ืขื ืืืื ืฉืื, ืืืงืืืฉ ืืื ืืืขืืจ ืืื ืืจืืืกืืืช, ืืืฉื ื ืืืืื ืืืืจืืช ืื ืฉื ืืช ืืจืฉืืืืช ืืื ืืืฆืื ืืจืืื ืืฉืชื ืืืืื.
ืืงืื ืืจืืืื ืืืงืื
ืื ืื ื ืืืืข? ืื ื ืืืืข ืขื ืืฉืืจืืช wget, ืืฉืจ ืืืจืื ืืช ืืืฃ ืืืชืืืช ื-URL ืฉืฆืืื ื. ืืืงืื, ืืื ื ืืฆืข ืืช ืืืงืฉื - ื ืงืื ืืฃ HTML ืืงืืืฅ ืืฉื ืขื ืืืื ืืชืืจืืช. ืืืืืื, ืืืื ื ืืคืฉ ืืช ืืืืื "ืืื":
wget https://HOST/rifma/ะทะดะตัั
ืืื ืื ื ืฆืจืื ืจืง ืจืฉืืื ืฉื ืืืืื, ืืื ืื ื ืืืื ืืืืคืืจ ืืื ืืฉืืจ? ืื ืื ื ืืกืชืืืื ืืจืืืื ืฉืจืฉืืืช ืืืืืื ืืขืืฆืืช, ืืืืจื ืืื ืฉืชืืื, ืืฆืืจืช ืจืฉืืื, ืืืืืืื ื ืืฆืืืช ืืชืืืืช . ืืืื, ืืฉ ืื ื ืืื ืขืืจ ื ืืืจ. ืฆืื - ืืืื ื ืจืฉืื ืืช ืื ืื:
cat $word | grep '<li>' | sed -e "s%<li>%%" | sed -e "s%</li>%%" | sed -e "s/ //g" | sed -e "/^$/d" 1> $word
ืจืืฉืืช, ืืชืื ืงืืืฅ ื-word, ืืืจ ืืช ืืฉืืจืืช ืืืืืืืช ืืช ืืชื - ืื ืื ื ืืงืืืื ืืืืจื ืฉื ืชืืื ืจืืงืื ืืฉืืจืืช ืขื ืืืืื. ืื ืื ื ืืกืืจืื ืืช ืืชื ืขืฆืื ืืืช ืืชื ืืกืืืจ ืฉืื - ืืื ืืฉืชืืฉืื ืืกืืื ืืืืืื ืืืงืื ืืืืกื ืื ืื ืืชื ืขืฆืื ืืฉ ืืืจ ืืชื, ืืื? ืฆืื ืื ืืืื ืืืชื ืงืฆืช ืืืื ืืกืืจ ืขื ืจืืืืช. ืื ืื ื ืืกืืจืื ืืช ืื ืืจืืืืื ืืืงืืืฅ, ืืกืืจืื ืฉืืจืืช ืจืืงืืช. ืืืืื - ืจืฉืืื ืืืื ื ืฉื ืืืืื.
ืขื ืื ืช ืืืกืืจ ืืืืื ืฉืืชืืจืืืช ืืืืฆืขืืช ืืืืชืืืช ืืืืจืื ืืช, ืืืจ ืืช ืฉืชื ืืืืชืืืช ืืืืจืื ืืช ืืืืืื ืืืงืืจืืช ืื ืงื ืืช ืืจืฉืืื:
squad=${word:((${#word}-2)):2}
cat $word | sed -e "/.$squad$/d" 1> $word
ืื ืื ื ืืกืชืืืื, ืื ืื ื ืื ืกืื - ืืื ืขืืื... ืื ืืืคื ืืจืฉืืื ืฉื ืืืืื "ืืฉืืง"? ืืืืืื "ืื ื ืืืื"? ืืงืืืฅ ืจืืง! ืืื ืื ืืืื ืฉืืืืืื ืืืื ืื ืคืขืืื, ืืื ื ืืืืขืื ืื ืื ืขืืฉืืช ืืื ืฉืืชืืจื ืขื ืคืขืืื. ืืจืืืช ืคืขืืื ืืจืืขื ืืคืืื ืืืจืืื ืืจืืืขืช, ืื ืืฉืคื ืืจืืกืืช ืืฉ ืืื ืืจืื ืคืขืืื, ืืืืืื ืืืชื ืกืืืืืช, ืืืื ืื ืื ืืื ืืงืืืฅ ืืกืืคื ืืืืจ ืืืืงืช ืืกืืืืืช.
ืขื ืืืช, ืื ืื ื ืื ืืืืจืื. ืืื ืืืื ืืฉ ืื ืจืง ืืจืืืื, ืืื ืื ืืกืื ื ืกืื, ืฉืืคืขืืื ื ืฉืืขืื ืืจืื ืืืชืจ ืืื ืืืจืืื - ืืื ืื ืืกืื ื ืกืื (ืืกืื ื ืก ืฆืจืคืชื, ืืืืื ืืช assono - I sound in tune).
ืื ืื ื ืืงืืืื ืืกืื ื ืกืื
ืืื ืืชืืื ืืืืฃ: ืืกืื ื ืกืื ืืืคืืขืื ืืืชืืืช URL ื ืคืจืืช, ืืืืืชื ืขืืื, ืขื ืืื ืืืฆืืข ืกืงืจืืคื, ืฉืืืืช ืืงืฉืช HTTP ืืงืืืช ืชืืืื. ืืื ืื ื ืืืื ืืืืื wgetืดืืชื ืืืืฅ ืขื ืืืคืชืืจ? ืืื ืืื ืืฆื. ืืืจืื ืืฆืขืจ.
ืฉืืชื ืื ืฉืืชืืืช ื-URL ืืฉืืจื ืืืืฉืื ืืฉืชื ื, ืืขืชืงืชื ืืช ืื ืฉืืื ืฉื ืืืืจ ืืืขืืจ ืืืกืื ืืืืืงืชื ืืืชื ืืืฉืื ืืช ืืืฉื ืืืคืืคื - ื ืคืชืื ืืจืืืื ืืืงืื. ืื ืฉ.
ืืขืืงืจื ืฉื ืืืจ, ืืฉืืชื, ืื ืื ืืืืจ ืืฉื ืืช ืืฉืจืช ืื ืืกืงืจืืคื ืฉืฉืืื ืื ืืช ืืืงืฉื ืืืืฆืข, ืื ืื ืืืื ืืงืืื ืืืชื ืืื. ืื? ืื ืืืืข, ืืื ื ืื ืืืืืง ืืช ืื.
ืืื ืืฉืืื? ืื ืืฉืืื? ืืงืฉืช HTTP ื-IP ืฉื ืืฉืจืช, ืืฉ ืืฉืื ืืื GET... ืืื ืืฉ ืืฉืื HTTP/1.1... ืื ืื ื ืฆืจืืืื ืืจืืืช ืื ืืืคืืคื ืฉืืื ืืืื. ืืืชืงืื Wireshark, ืชืกืชืื ืขื ืืชื ืืขื:
0040 37 5d a3 84 27 e7 fb 13 6d 93 ed cd 56 04 9d 82 7]ยฃ.'รงรป.m.รญรV...
0050 32 7c fb 67 46 71 dd 36 4d 42 3d f3 62 1b e0 ad 2|รปgFqร6MB=รณb.ร .
0060 ef 87 be 05 6a f9 e1 01 41 fc 25 5b c0 77 d3 94 รฏ.ยพ.jรนรก.Aรผ%[รwร.
ืืื... ืื? ืื ืื, ืืฉ ืื ื HTTPS. ืื ืืขืฉืืช? ืืืคืขืื ืืชืงืคืช MITM ืขื ืขืฆืื? ืืืืคื ืืืืืืื, ืืงืืจืื ืขืฆืื ืชืขืืืจ ืื ื.
ืืืืคื ืืืื, ืืืืจ ืฉืืืืืชื ืืืืืฉ ืืืคืืคื, ืืฆืืชื ืกืืฃ ืกืืฃ ืืช ืืืงืฉื ืขืฆืื ืืืช ืื ืืขื. ืืืืช:
ืืืืืื ืขื ืืืกืืฃ
telnet IP PORT
Trying IP...
Connected to IP.
Escape character is '^]'.
GET /rifma/%D0%BC%D0%B0%D1%82%D1%8C?mode=block&type=asn HTTP/1.1
Host: HOST
Accept-Language: en-US,en;q=0.5
X-Requested-With: XMLHttpRequest
Connection: close
HTTP/1.1 400 Bad Request
Server: nginx/1.8.0
Date: Sun, 03 Nov 2019 20:06:59 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 270
Connection: close
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.8.0</center>
</body>
</html>
Connection closed by foreign host.
ืืื. ืืืื. ืืื, ืื ืื ืฉืฆืืคืืชื ืืฉืฉืืืชื ืืงืฉืช HTTP ืืฉืืคื ืืืฆืืืช HTTPS. ืืื ืขืืื ื ืืืฆืคืื ืขืืฉืื? ืื ืืจืขืฉ ืืื ืขื ืืคืชืืืช RSA, ืืื ืขื SHA256. ืืื, ืืฉ OpenSSL ืืืืจืื ืืืื. ืืืื, ืื ืื ื ืืืจ ืืืืขืื ืื ืืขืฉืืช, ืคืฉืื ื ืกืืจ ืงืืื ืืช ืืฉืืืช Referer ื-Cookie - ืื ื ืืืฉื ืฉืื ืื ืืฉืคืืขื ืืจืื ืขื ืืขื ืืื:
ืืืืืื ืขื ืืืกืืฃ
openssl s_client -connect IP:PORT
{ะััะบะธะต ะบะปััะธ, ัะตััะธัะธะบะฐัั}
GET /rifma/%D0%B7%D0%B4%D0%B5%D1%81%D1%8C?mode=block&type=asn HTTP/1.1
Host: HOST
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/javascript,text/html,application/xml,text/xml,*/*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
Connection: keep-alive
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Status: 200 OK
Date: Sun, 03 Nov 2019 20:34:33 GMT
Set-Cookie: COOKIE
X-Powered-By: Phusion Passenger 5.0.16
Server: nginx/1.8.0 + Phusion Passenger 5.0.16
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: block-all-mixed-content
Content-Encoding: gzip
ืื ืื, ืืงืืืช ืืฉืจืช? ืืื, ืืคืืืช ืื ืขื ื ืื 200 ืืกืืจ, ืื ืฉืืืืจ ืฉืขืืืืืช ืืืืคื ื ืื ืืฉืคืืขืื ืขื ืืืื. ืืืืืกื ืืื gzip, ืื ืืขืช ืืขืชืงื, ืชืืื ASCII ืืืขืชืงืื. ืืืืืง, ืืชื ืืืื ืืืกืืจ ืืช ืืงื ืงืื-ืงืืืื. ืืื ืืกืืจ - ืื ืื ื ืืงืืืื ืืกืื HTML, ืขืืฉืื ืขื ืืกืื ื ืกืื. ืืื ืื ื ืฉืชื ืฉืืืืช: ืืื ืืืจืืฅ ืืช OpenSSL ืืืืขืืืจ ืืืื ื ืชืื ืื ืืืืฆืขืืช ืกืงืจืืคื? ืืืื ืืงืจืื ืืช ืืคืื ืื ืืืืจ ืงืืืช ืืชืืืื ื ืืฉืืจ, ืืืืืื, ื"ืืขืืคืช" ืฉื OpenSSL? ืื ืืชื ืืืื ืืืืฆืื ืืฉืื ืขื ืืฉื ื, ืืื ืขื ืืจืืฉืื...
ืืื ืฉืืฉ ืืืืจืฉื ืงืจืืชื ืขื ืืฉืืจืืช ืืฆืคืืช, ืืืืื ืืช ืชืืืื ืืืื ืืจืืงืฆืื ืขื ืชืืื ืืืช ืืืฆืคืืช ืืืื ืืจืืงืฆืื ืื ืืฉืืช. ืืืืืืง ืฆืืืช ืื ืืคืืื ืืืชืจ ืืืจืงืืืื ืฆืคืืื ืืืืืืืืช, ืืืฆืจืช ืืฆืคืืช ืกืงืจืืคื ืืืืืกืก ืขื ืืคืขืืืืช ืฉืื. ืืืื, ืื ืื ื ืืฉืืงืื ืืช ืื, ืขืืฉืื ืืช ืื ืื ืืื ื ืืชืกืจืื ืืืืืืจ. ืจืง ืืื ืืืื ืขื ืง, ืืืื ืืืื OpenSSL ืืฆืื ืืืฉืืจืื, ืืคืชืืืช ื ืืฆืคืืช ืืืื ืืชืคืืงื ืฉื ืื ืื. ืืื ืื ืื ื ืฆืจืืืื ืืช ืื? ืื. ืื ื ืืกืืจืื ืืช ืื ืืื ืืื ืืจืืฉืื ื, ืืืฉืืืจืื ืจืง ืืช ืืขืืจ ืืฉืืจื ืืืืจืื 'r'. ืื ืื ื ืื ืืกืืจืื ืืช ืืฉืืืช User-Agent ื-Accept ืืืืงืฉื ืฉืื ื - ืื ืื ืืฉืคืืขืื ืขื ืฉืื ืืืจ. ืื, ืืื ื ืชืืื. ืืกืงืจืืคื ืืืคืขื, ืืื ืืืคื ืืกืื ื-HTML ืืืงืจ? ืืฆืคืืช ืืื ืืช ืื. ืืื ืืืจืื ืื ืืืจืืง ืืช ืื, ืืชื ืฆืจืื ืืฉืื:
set results $expect_out(buffer)
ืืคื ื ืกืืฃ ืืกืงืจืืคื - ืื ืืืืชื ืืคืื ืฉื ืงืืืฅ ืืืคืขืื ืืฆืคืืชืืคืงืืื ืืืืฆืืช ืขื ืืืกื. ืืกืืืื, ืืฉืื ืืื:
ืืฆืคื ืืชืกืจืื
#!/usr/bin/expect -f
set timeout -1
spawn openssl s_client -connect IP:PORT
match_max 100000
expect -exact "
---r
"
send -- "GET /rifma/%d0%b7%d0%b4%d0%b5%d1%81%d1%8c?mode=block&type=asn HTTP/1.1rHost: HOSTrAccept-Language: en-US,en;q=0.5rX-Requested-With: XMLHttpRequestrConnection: close"
expect -exact "GET /rifma/%d0%b7%d0%b4%d0%b5%d1%81%d1%8c?mode=block&type=asn HTTP/1.1r
Host: HOSTr
Accept-Language: en-US,en;q=0.5r
X-Requested-With: XMLHttpRequestr
Connection: close"
send -- "r"
set results $expect_out(buffer)
expect -exact "r
"
send -- "r"
expect eof
ืืื ืื ืื ืืื! ืืคื ืฉื ืืชื ืืจืืืช, ืืื ืืืืืืืืช ืืชืืืช ื-URL ืฉื ืืืงืฉื ืืืืชื ืกืืืืช, ืื ื-URL ืืื ืื ืฉืืืจืืืช ืืืืื ืืืื ืชืงืืฉืจ ืืืกืื ื ืกืื. ืืื ืืืฆื ืฉืื ืืืื ื ืืคืฉ ืืช ืืืืื "%d0%b7%d0%b4%d0%b5%d1%81%d1%8c" ื-ASCII ืื "ืืื" ื-UTF-8. ืื ืืขืฉืืช? ืืืืื, ืคืฉืื ืฆืืจ ืกืงืจืืคื ืืืฉ ืืื ืคืขื, ืืืจืื! ืื ืขืื ืฆืคืืื ืืืืืืืืช'ืื, ืืขื ืืขืืจื ืื, ืื ืืืืฉ ืฉืื ื, ืฉืื ืืืจ ืื ืืฉืชื ื ืืืื ืืืืื. ืืชืื ืืืขืื ืืืืฉื: ืืื ื ืืื ืืชืจืื ืืฆืืจื ืืืื ืืืื ืืงืืจืืืืช ืืคืืจืื ืืชืืืช URL? ืื ืืืกืืฃ ืืื ืฉืื ืืืจ ืืืืื. ืืืื, ืื ืืกืืจ, ืื ืื ื ืืืืืื ืืขืฉืืช ืืช ืื, ื ืืื? ืคืืืช:
ืชืจืื ืื ืื ื ืืืื ืืขืฉืืช!
function furl {
furl=$(echo "$word" | sed 's:ะ:%d0%90:g;s:ะ:%d0%91:g;s:ะ:%d0%92:g;s:ะ:%d0%93:g;s:ะ:%d0%94:g;s:ะ:%d0%95:g;s:ะ:%d0%96:g;s:ะ:%d0%97:g;s:ะ:%d0%98:g;s:ะ:%d0%99:g;s:ะ:%d0%9a:g;s:ะ:%d0%9b:g;s:ะ:%d0%9c:g;s:ะ:%d0%9d:g;s:ะ:%d0%9e:g;s:ะ:%d0%9f:g;s:ะ :%d0%a0:g;s:ะก:%d0%a1:g;s:ะข:%d0%a2:g;s:ะฃ:%d0%a3:g;s:ะค:%d0%a4:g;s:ะฅ:%d0%a5:g;s:ะฆ:%d0%a6:g;s:ะง:%d0%a7:g;s:ะจ:%d0%a8:g;s:ะฉ:%d0%a9:g;s:ะช:%d0%aa:g;s:ะซ:%d0%ab:g;s:ะฌ:%d0%ac:g;s:ะญ:%d0%ad:g;s:ะฎ:%d0%ae:g;s:ะฏ:%d0%af:g;s:ะฐ:%d0%b0:g;s:ะฑ:%d0%b1:g;s:ะฒ:%d0%b2:g;s:ะณ:%d0%b3:g;s:ะด:%d0%b4:g;s:ะต:%d0%b5:g;s:ะถ:%d0%b6:g;s:ะท:%d0%b7:g;s:ะธ:%d0%b8:g;s:ะน:%d0%b9:g;s:ะบ:%d0%ba:g;s:ะป:%d0%bb:g;s:ะผ:%d0%bc:g;s:ะฝ:%d0%bd:g;s:ะพ:%d0%be:g;s:ะฟ:%d0%bf:g;s:ั:%d1%80:g;s:ั:%d1%81:g;s:ั:%d1%82:g;s:ั:%d1%83:g;s:ั:%d1%84:g;s:ั
:%d1%85:g;s:ั:%d1%86:g;s:ั:%d1%87:g;s:ั:%d1%88:g;s:ั:%d1%89:g;s:ั:%d1%8a:g;s:ั:%d1%8b:g;s:ั:%d1%8c:g;s:ั:%d1%8d:g;s:ั:%d1%8e:g;s:ั:%d1%8f:g;s:ั:%d1%91:g;s:ะ:%d0%81:g')}
ืืกื ืืื ืืฉ ืื ื ืกืงืจืืคื ืฉืืืืจ ืืืื ืืืงืกื ASCII, ืืืืฆืจ ืกืงืจืืคื ื ืืกืฃ ืฉืืืงืฉ ืืฃ ืืชืจ ืขื ืืกืื ื ืกืื ืืืฉืจืช ืืจื OpenSSL. ืืื ืื ืื ื ืืคื ืื ืืช ืืคืื ืฉื ืืกืงืจืืคื ืืืืจืื ืืงืืืฅ, ืืืืจื ืืืืืฉื ืช, ืืขืืืจืื ืืืชื ืืจืื
ืฆืืืช ืฉื ืจืืื. ืฉืืจื ืชืืชืื ื
ืืืขืฉื, ืื ืืืืืง ืื ืฉืืืจื ืืคืืืช ืืขืืืช. ืื ื ืืืฆืขืื ืืช ืืืืืืื ืืขืื ืขืืืจ ืฉืชื ืืืืื, ืืืืืจ ืืื ืืฉืชื ืืจืฉืืืืช ืื ื ืืฉืืืื ืื ืืืื ืขื ืื ืืืื ืืื ื ืืฆืื ืืชืืื, ืื ื ืืืฆืืืื ืืืชื. ืขืืฉืื ืืฉ ืื ื ืกืงืจืืคื ืฉืืืงื ืฉืชื ืืืืื ืืงืื ืืืฆืื ืจืฉืืื ืฉื ืืืืื ืฉืืชืืจืืืช ืขื ืฉืชืืื, ืืืคืืื ืชืื ืืชืืฉืืืช ืืืกืื ื ืกืื, ืืื ืื ืืืื ืืขืืืจ ืืื ืืช ืืื ืืจืืข ืืืืื ืืืืืืจ ืืืืื "ืืขืื" - ืืื ื ืืกืฃ, ืืืฉืืื ืขืืืจ ืื ืืืง ืืืืืืืืช. ื ึดืคืึธื.
ืืืจืช ืืคืจืกืื ืืื ืืืืชื ืืืจืืืช ืฉืื ืืื ืฆืจืื ืืฉืื, ืืื ืืขืฉื ืืืช ืืื ืืงืจื. ืืืื ืื ืืขืื, ืขืงืื, ืืฆืืจืจ, ืืื ืื ืืขืืื.
ืืงืืจ: www.habr.com