O le a le faiʻai o se tamaititi aʻoga e aʻoaʻoina e uiga i le lalolagi komepiuta e mafai?

Taimi agalelei o le aso.

Ina ua uma ona tusia se isi tusitusiga i Bash, na ou iloa ai e tatau ona matua ese mea uma, ae na aoga mea uma. Ou te fia faaali atu ia te oe mea mataga ma tootoo na ou tusia ina ia foia ai le faafitauli, ae leʻi i ai se taavaletoso o le poto. I se isi faaupuga, o se caricature o polokalame.

Faamoemoega


Na i ai se mea e manaʻomia e:

  • Faaalia le tele o solo mo le upu, vagana ai sikuea
  • Ua sopoia le tele o solo o upu e lua

Mo le a? Ia, o le mea lena - ma o le mea lena.
O ai na te le iloa, o se solo sikuea (i le gagana masani - o se sikuea) o ni upu se lua e tutusa mataitusi mulimuli e lua i le sipelaga, lea (masani, na o le pau lea o le mea) e avea ai i latou ma se solo. Mo se faʻataʻitaʻiga, o rosa e malulu; pa'u - ta'avale. O le faʻaogaina o sikuea i faʻamatalaga faʻaonaponei e leʻo faʻamaonia faapitoa e tagata, ona o lo latou faʻamuamua.

faaiuga


Na foliga mai ia te aʻu o le tali sili ona faigofie o le tusia lea o se tusitusiga i le Bash e faʻaaogaina ai se fatuga solo ua leva ona iai - HOST, lea e filifilia muamua i latou i le consonance, ae le o le sipelaga. O le a le ituaiga HOST? Aua afai e te faʻaalia le igoa moni o le saite, latou te fai mai o se faʻasalalauga. Aisea e le fa'aauau ai ona fa'aaogaina? Muamua, e ui lava i lona lelei o le filifilia o solo e faavae i consonances, e masani lava ona ia gaosia sikuea. Lona lua, e tatau lava ona e mafaufau i lou fai'ai, fa'aalu le taimi e fesuiai ai i le va o laupepa, ma le malosi e tauloto upu fai soo i lisi e su'e ai se solo mo upu e lua.

Mauaina o solo malolosi

O le a se mea ou te iloa? Ou te iloa le aoga faʻailoga, lea e la'u mai ai le itulau ile URL fa'apitoa. Lelei, tatou fa'atino le talosaga - tatou te maua se itulau HTML i se faila e igoa i se upu solo. Mo se faʻataʻitaʻiga, seʻi o tatou suʻeina le upu "iinei":

wget https://HOST/rifma/здесь

Ae na o se lisi o upu ou te manaʻomia, e faʻafefea ona ou faʻaumatia mea uma? Matou te va'ava'ai ma va'ai o lo'o fa'atulaga le lisi o upu, tusa lava po'o le a le uiga ese, i le tulaga o se lisi, ma o upu o lo'o i totonu pine. Ia, o loʻo ia i matou se aoga tele. i - se'i tatou tusi i lalo e pei o lenei:

cat $word | grep '<li>' | sed -e "s%<li>%%" | sed -e "s%</li>%%" | sed -e "s/ //g" | sed -e "/^$/d" 1> $word

Muamua, matou te filifilia laina mai le upu faila o loʻo i ai le tag - matou te maua le tele o faʻailoga gaogao ma laina ma upu. Matou te aveese le pine lava ia ma lona tapuni - o le pasene o faʻailoga e faʻaogaina nai lo le faʻailoga ona o le tag lava ia o loʻo i ai se faʻailoga, o le mea lea i e le malamalama ia te oe teisi. Ma e lelei mea uma ma le fiafia. Matou te aveese uma avanoa mai le faila, aveese laina avanoa. Voila - o se lisi ua saunia o upu.

Ina ia aveese upu e solo i mataitusi mulimuli, filifili mataitusi mulimuli e lua mai le uluai upu ma faamama le lisi:

squad=${word:((${#word}-2)):2}
cat $word | sed -e "/.$squad$/d" 1> $word

Matou te vaʻavaʻai, matou te taumafai - e aoga mea uma ... o fea la le lisi o le upu "taʻaloga"? Ae mo le upu “Ou te alu”? Ua gaogao le faila! Ma o nei mea uma ona o nei upu o veape, ma ua tatou iloa le mea latou te faia ia i latou e tutusa ma veape. Veape solo e sili atu le leaga nai lo sikuea sikuea, aua o le gagana Rusia e sili atu le tele o veape, ma e tutusa uma i latou, o le mea lea na latou le i ai i le faila mulimuli ina ua uma ona siaki faaiuga.

Peitaʻi, tatou te lē o faanatinati. Mo upu taʻitasi e le gata o loʻo i ai ni solo, ae faʻapea foʻi ma assonances, lea o nisi taimi e sili atu le lelei nai lo le solo - o le mafuaʻaga lea o assonances (Farani assonance, mai le Latina assono - Ou te leo i le lotogatasi).

Tatou te maua assonances

O le mea lea e amata ai le fiafia: o assonances e aliali mai i se isi URL, ma i luga o le itulau e tasi, e ala i le faʻatinoina o se tusitusiga, auina atu se talosaga HTTP ma maua se tali. E mafai faapefea ona ou fai atu faʻailoga‘E te oomiina se faamau? Ae leai se auala. Fa'anoanoa.

I le matauina o le URL i le laina o loʻo suia, na ou kopiina mea na i ai ina ua uma ona fesuiaʻi i assonances ma faapipii i totonu o se laupepa fou suʻesuʻe - strong rhymes tatala. E le o lena.

O le mea moni, na ou manatu, e le afaina i le 'auʻaunaga pe o le tusitusiga na tuʻuina atu ai le talosaga e faʻatinoina, pe o le tagata na te tusia i le lima. O lea? O ai na te iloa, tatou o e siaki.

O fea e lafo? O le a le mea e lafo? HTTP talosaga i le server IP, o loʻo i ai se mea e pei o GET ... ona i ai lea o se mea HTTP / 1.1 ... E tatau ona tatou vaʻavaʻai i le mea e lafoina e le browser ma poʻo fea. Fa'apipi'i telefoni, va'ai i le ta'avale:

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Ó.

Um... o le a? Ioe ioe, e iai la matou HTTPS. O le a le mea e fai? Tatala se osofaʻiga a le MITM ia te oe lava? O le mea e sili ona lelei, o le tagata ua afaina lava ia o le a fesoasoani ia i tatou.

I se tulaga lautele, ina ua ou filifili e faaseʻe le suʻega, na iu lava ina ou mauaina le talosaga lava ia ma le tuatusi. Alu:

Talanoaga ma le nofoaga

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.

Ei. Hehehe. Ioe, o le mea lena na ou faʻamoemoeina pe a tuʻuina atu se talosaga HTTP leai se mea i se taulaga HTTPS. E tatau ona tatou fa'ailoga i le taimi nei? O nei vevesi uma i ki RSA, sosoo ai ma le SHA256. Aisea, e iai OpenSSL mo mea faapena. Ia, ua uma ona matou iloa le mea e fai, o le a matou aveese muamua le Referer ma Kuki - Ou te manatu latou te le afaina tele le mataupu:

Talanoaga ma le nofoaga

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

O le a le faiʻai o se tamaititi aʻoga e aʻoaʻoina e uiga i le lalolagi komepiuta e mafai?

O le a lenei mea, palauvale i luga o le server? Ia, o le mea sili na latou tali mai ia te aʻu 200 OK, o lona uiga e leai se mea e afaina ai kuki ma le tagata faʻasino. Compression o le gzip, ae a kopiina, e kopiina mataitusi ASCII. Sa'o, e mafai ona e aveese le laina Talia-encoding. O loʻo lelei mea uma - matou te maua se pepa HTML, o loʻo i ai nei ma assonances. Ae o fesili nei e lua: faʻafefea ona taʻavale OpenSSL ma faʻafeiloaʻi faʻamatalaga i ai e faʻaaoga ai se tusitusiga? Ma faʻafefea ona faitau le gaioiga pe a uma ona maua le tali matou te tumau, e pei o, i totonu o se OpenSSL "shell"? Afai e mafai ona e sau ma se mea i le lona lua, ae o le muamua ...

E lelei e iai Sa ta'ua e Habrlea na ou faitau ai e uiga i le aoga faamoemoe, lea e otometi ai le faagasologa o le fegalegaleai ma polokalame e faamoemoeina fegalegaleaiga faaletagata. O le i ai o se 'au e sili atu ona manaia fa'amoemoe, fa'atupuina faamoemoe tusitusiga e fa'atatau i au taga. Ia, matou te faʻalauiloaina, fai mea uma ma o le mea lea ua maeʻa. Na'o ia e matua tele lava, ma o mea uma ona OpenSSL fa'aali tusi faamaonia, ki, ma faamoemoe o lo'o fa'atali le mea e maua mai i nei mea uma. Tatou te manaomia ea lenei mea? Leai. Matou te aveese le faʻamatalaga muamua atoa, ma tuʻu ai naʻo le laina mulimuli laina 'r'. Matou te aveese foi le User-Agent ma Accept fields mai la matou talosaga - latou te le afaina ai se mea. O lea, tatou amata. Na faʻataunuʻuina le tusitusiga, ae o fea oi ai le pepa HTML taua? Faatalitali 'ai ai. Ina ia faʻafefe ia te ia, e tatau ona e tuʻuina:

set results $expect_out(buffer)

a'o le'i o'o i le fa'ai'uga o le fa'amaumauga - o le auala lea e tusia ai le gaioiga o le fa'atinoina faamoemoe'Om poloaiga ma fa'aalia i luga o le lau. I se aotelega, se mea e pei o lenei:

faamoemoe'se tusitusiga

#!/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

Ae e le ona pau lea! E pei ona e vaʻai, i faʻataʻitaʻiga uma o le talosaga URL sa tumau, ae o le URL e nafa ma le upu o le a fesoʻotaʻi ma assonances. Ma o lea e foliga mai o le a matou suʻeina pea le upu "%d0%b7%d0%b4%d0%b5%d1%81%d1%8c" i le ASCII poʻo le "iinei" i le UTF-8. O le a le mea e fai? Ioe, na o le fatuina o se tusitusiga fou i taimi uma, uo! E le toe iai fa'amoemoe'om, ma le fesoasoani faʻalogo, ona I le tatou fou, e leai se mea e suia vagana ai le upu. Ma ola pea le faafitauli fou: faʻafefea ona tatou faʻaliliuina ma le atamai se upu mai le Cyrillic i le URL format? E leai fo'i se mea fa'apitoa mo le fa'ailoga. Ia, e lelei, e mafai ona tatou faia, saʻo? E mafai ona:

Vaai i le mea e mafai ona ou faia!

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')}

I le aotelega, o loʻo i ai se matou tusitusiga e faʻaliliuina se upu i le ASCII tusitusiga, faʻatupuina se isi tusitusiga e talosagaina ai se itulau o le saite ma assonances mai le server e ala i OpenSSL. Ona matou toe faʻafeiloaʻi lea o le gaioiga o le tusitusiga mulimuli i se faila ma, i le auala tuai, pasi i totonu "filifili" sikuea faaopoopo ma tusi i le faila.

Fesootaiga o le tele. laina pito i lalo

O le mea moni, o le mea tonu lava lea e mafua ai faʻafitauli laiti. Matou te faʻatinoina faʻataʻitaʻiga o loʻo i luga mo upu e lua, ona matou faʻatusatusa lea o upu taʻitasi mai lisi e lua ma afai e maua se fetaui, matou te faʻaalia. O lea ua i ai se matou tusitusiga e ave ai ni upu se lua e fai ma faʻaaliga ma faʻaalia se lisi o upu e tutusa uma, ma e oʻo lava i le amanaia o assonances, ma o nei mea uma e aunoa ma le fesuiaʻiina ma le lima i le va o faʻamaufaʻailoga ma manatua upu "e mata" - aoina uma, faʻamaonia. mo ma lafoai otometi. Matagofie.

O le faamoemoega o lenei lomiga ina ia faaalia ai afai e manaomia e se tagata se mea, o le a ia faia lava. E matua le aoga, pi'opi'o, fa'afefe, ae o le a aoga.

puna: www.habr.com

Faaopoopo i ai se faamatalaga