Boko ba moithuti ea ithutang ka lefatše la khomphutha bo khona ho etsa eng?

Nako e monate ea letsatsi.

Ha ke qetile ho ngola mongolo o mong ho Bash, ke ile ka hlokomela hore ntho e 'ngoe le e' ngoe e lokela ho fapana ka ho feletseng, empa ntho e 'ngoe le e' ngoe e ile ea sebetsa. Ke batla ho u bontša hore na ke lintho life tse nyonyehang le lithupa tseo ke li ngotseng ho rarolla bothata, empa ke e-s'o be le koloi ea tsebo. Ka mantsoe a mang, caricature ea mananeo.

Sepheo


Ntho e 'ngoe e ile ea hlokahala ho:

  • E bontshitse direto tse ngata tsa lentswe, ntle le dikwere
  • O fetisitse lithothokiso tse ngata tsa mantsoe a mabeli

Molelmong oa eng? Ho joalo, ke eona - 'me ke eona.
Ke mang ea sa tsebeng, morethetho o sekoere (ka puo e tloaelehileng - sekwere) ke mantsoe a mabeli ao litlhaku tse peli tsa ho qetela tsa mopeleto li lumellanang, tseo (hangata, sena ke sona feela) se etsang hore e be morethetho. Ka mohlala, lirosa li na le serame; koloi - koloi. Tšebeliso ea li-square ho versification ea sejoale-joale ha e amoheloe ke batho ka ho khetheha, ka lebaka la ho se be teng ha bona.

u etsa qeto ea


Ho 'na ho ne ho bonahala eka tharollo e bonolo ka ho fetisisa e ne e le ho ngola script ho Bash e sebelisang jenereithara ea rhyme e seng e ntse e le teng - HOST, eo haholo-holo e e khethang ka consonance, eseng ka mopeleto. Ke HOST ea mofuta ofe? Hobane ha u bontša lebitso la sebele la sebaka seo, ba tla re ke papatso. Ke hobane'ng ha u sa tsoele pele ho e sebelisa? Taba ea pele, ho sa tsotellehe monyetla oa hae oa ho khetha lithothokiso tse thehiloeng ho li-consonance, hangata o ntse a hlahisa lisekoere. Taba ea bobeli, u ntse u tlameha ho nahana ka kelello ea hau, u qete nako u fetola li-tab, 'me u be le matla a ho tšoara ka hlooho mantsoe a phetoang ka manane ho fumana morethetho oa mantsoe a mabeli.

Ho fumana merethetho e matla

Ke tseba eng? Ke tseba ka lisebelisoa hanyane, e jarollang leqephe ho URL e boletsoeng. Ho lokile, ha re phetheng kopo - re fumana leqephe la HTML faeleng e nang le lentsoe le morethetho. Ka mohlala, ha re batle lentsoe "mona":

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

Empa ke hloka feela lethathamo la mantsoe, nka tlosa tse ling tsohle joang? Re sheba le ho bona hore lenane la mantsoe le hlophisitsoe, ho sa tsotellehe hore na le makatsa hakae, ka mokhoa oa lethathamo, 'me mantsoe a ngotsoe ka li-tag. . Hantle, re na le thuso e kholo. sed - ha re e ngole tjena:

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

Taba ea pele, ho tsoa faeleng ea lentsoe, khetha mela e nang le tag - re fumana li-tag tse se nang letho le mela e nang le mantsoe. Re tlosa tag ka boeona le e koalang - mona ho sebelisoa matšoao a liperesente ho fapana le li-slashes hobane ho tag ka boeona. ho se ho na le slash, hobaneng? sed ha e u utloisise le hanyenyane. 'Me tsohle li hantle ka thahasello. Re tlosa libaka tsohle ho faele, tlosa mela e se nang letho. Voila - lenane la mantsoe le itokiselitseng.

E le hore u tlose mantsoe a nang le thothokiso u sebelisa litlhaku tsa ho qetela, khetha litlhaku tse peli tsa ho qetela lentsoeng la pele ebe u hlakola lethathamo:

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

Re sheba, re leka - ntho e 'ngoe le e' ngoe e sebetsa ... kahoo, lethathamo la lentsoe "bapala" le hokae? Le bakeng sa lentsoe "Kea ea"? Faele ha e na letho! 'Me sena sohle se bakoa ke hore mantsoe ana ke maetsi, 'me re tseba seo a se etsang ho ba nang le morethetho oa maetsi. Moribo oa leetsi o mpe ho feta esita le morethetho oa lisekoere, hobane puo ea Serussia e na le maetsi a mangata ka ho fetisisa, 'me kaofela ha tsona li na le lipheletso tse tšoanang, ke ka lebaka leo li neng li le sieo faeleng ea ho qetela ka mor'a ho hlahloba qetello.

Leha ho le joalo, ha rea ​​potlaka. Bakeng sa lentsoe le leng le le leng ha ho na lithothokiso feela, empa hape le li-assonances, tseo ka linako tse ling li utloahalang li le betere ho feta thothokiso - ke ka lebaka leo e leng li-assonance (French assonance, ho tloha ho Latin assono - ke utloahala ka kutloano).

Re fumana li-assonances

Mona ke moo monate o qalang teng: li-assonances li hlaha ho URL e fapaneng, 'me leqepheng le le leng, ka ho phethahatsa script, ho romela kopo ea HTTP le ho fumana karabo. Nka bua jwang hanyane'Na u tobetsa konopo? Empa haho tsela. Ka masoabi.

Ha ke hlokomela hore URL e moleng e ne e fetoha ka tsela e itseng, ke ile ka kopitsa se neng se le teng ka mor'a hore ke fetole li-assonances 'me ke e kenye tabeng e ncha ea sebadi - lithothokiso tse matla li ile tsa buloa. Eseng hoo.

Ha e le hantle, ke ne ke nahana, ha ea lokela ho tsotella seva hore na sengoloa se e romellang kopo se phethiloe, kapa hore na motho o se ngola ka letsoho. Ho joalo? Ke mang ea tsebang, a re e'o e hlahloba.

Ho romela hokae? Ho romela eng? Kopo ea HTTP ho IP ea seva, ho na le ntho e kang GET ... joale ho na le ntho e 'ngoe HTTP / 1.1 ... Re hloka ho bona hore na sebapali se romela eng le hore na se hokae. Kenya wireshark, sheba sephethephethe:

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... eng? Ho joalo, re na le HTTPS. Se o lokelang ho se etsa? Qala tlhaselo ea MITM ho uena? Ha e le hantle, mohlaseluoa ka boeena o tla re thusa.

Ka kakaretso, ha ke se ke nkile qeto ea ho palama sebatli, qetellong ke fumane kopo ka boyona le moabi. Eya:

Puisano le terminal

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.

Lumela. Hehehe. Ehlile, ke seo ke neng ke se lebelletse ha ke romella kopo e se nang letho ea HTTP boema-kepeng ba HTTPS. Na re lokela ho etsa encrypt hona joale? Khang ena eohle le linotlolo tsa RSA, ebe ka SHA256. Hobaneng, le teng OpenSSL bakeng sa lintho tse joalo. Joale, re se re tseba seo re lokelang ho se etsa, re tla tlosa libaka tsa Referer le Cookie pele - ke nahana hore li ke ke tsa ama taba ena haholo:

Puisano le terminal

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

Boko ba moithuti ea ithutang ka lefatše la khomphutha bo khona ho etsa eng?

Hona ke eng, ho rohakana ho seva? Leha ho le joalo, bonyane ba nkarabile 200 OK, ho bolelang hore li-cookies le moemeli ha li ame letho. Compression ke gzip, empa ha u kopitsa, litlhaku tsa ASCII lia kopitsoa. Hantle-ntle, o ka tlosa mohala Amohela-khouto. Ntho e 'ngoe le e' ngoe e hantle - re fumana tokomane ea HTML, hona joale e nang le assonances. Empa lipotso tse peli ke tsena: mokhoa oa ho tsamaisa OpenSSL le ho fetisetsa data ho eona o sebelisa script? Le hore na u ka bala sephetho joang haeba ka mor'a ho fumana karabo re sala, ka tsela ea tšoantšetso, ho "shell" ea OpenSSL? Haeba u ka tla le ho hong ka ea bobeli, empa ka ea pele ...

Ho molemo ho ba teng Habrmoo ke balileng ka thuso lebella, e iketsetsang mokhoa oa ho sebelisana le mananeo a lebeletseng ho sebelisana ha batho. Ho ba le sehlopha ho khahla le ho feta lebella ka ho iketsa, ho hlahisa lebella script ho latela liketso tsa hau. Joale, rea e qala, etsa tsena tsohle 'me script e felile ke ena. Feela o moholo haholo, 'me tsohle hobane OpenSSL e bonts'a litifikeiti, linotlolo, le lebella e emetse tlhahiso ea tsena tsohle. Na re hloka see? Che. Re tlosa molaetsa oa pele kaofela, re siea feela mola oa ho qetela 'r'. Re boetse re tlosa Moemeli-Mosebelisi mme re Amohela masimo kopong ea rona - ha li ame letho. Kahoo, ha re qaleng. Script e ile ea etsoa, ​​​​empa tokomane ea bohlokoa ea HTML e hokae? Lebella e jele. Ho etsa hore a tsoe ka mathe, o lokela ho beha:

set results $expect_out(buffer)

pele sengoloa se fela - ke kamoo sephetho sa se phethisoang se tla ngoloa kateng lebella'om command mme e bonts'oa skrineng. Ka kakaretso, ntho e kang ena:

lebella script

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

Empa ha se eona feela! Joalokaha u ka bona, mehlaleng eohle URL ea kopo e ne e tsitsitse, empa ke URL e ikarabellang bakeng sa hore na ke lentsoe lefe le tla amahanngoa le li-assonances. 'Me kahoo ho bonahala hore re tla lula re batla lentsoe "%d0%b7%d0%b4%d0%b5%d1%81%d1%8c" ho ASCII kapa "mona" ho UTF-8. Se o lokelang ho se etsa? Ehlile, etsa feela mongolo o mocha nako le nako, metsoalle! Ha ho sa le joalo lebella ka ho iketsa'Oh, le ka thuso Echo, hobane Ho tse ncha tsa rona, ha ho letho le fetohang ntle le lentsoe. 'Me u phele ka nako e telele bothata bo bocha: re ka fetolela lentsoe ka bohlale joang ho tloha ho Cyrillic ho ea ho sebopeho sa URL? Ha ho na letho le ikhethang bakeng sa terminal. Ho lokile, re ka e etsa, na ha ho joalo? E ka:

Sheba seo nka se etsang!

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

Ka kakaretso, re na le sengoloa se fetolelang lentsoe ho sengoloa sa ASCII, se hlahisang mongolo o mong o kopang leqephe la sebaka ka li-assonances ho tsoa ho seva ka OpenSSL. Ebe re fetisetsa tlhahiso ea mongolo oa ho qetela faeleng, 'me ka tsela ea khale, re e fete "sefe" lisekoere tse ling ebe u li ngolla faeleng.

Marang-rang a mangata. Boemo bo tlase

Ha e le hantle, sena ke sona se bakang mathata a fokolang. Re etsa mekhoa e ka holimo bakeng sa mantsoe a mabeli, ebe lethathamong le leng le le leng re bapisa lentsoe ka leng le le leng le le leng, 'me haeba papali e fumanoa, rea e ntša. Hona joale re na le script e nkang mantsoe a mabeli e le ho kenya letsoho 'me e bontša lethathamo la mantsoe a lumellanang le bobeli, esita le ho ela hloko li-assonances,' me sena sohle ntle le ho fetola ka letsoho pakeng tsa li-tab tse 'nè le ho hopola mantsoe "ka leihlo" - kaofela li bokelloa, li tlalehoa. bakeng sa le ho lahlwa ka tsela e iketsang. E makatsang.

Morero oa khatiso ena e ne e le ho bontša hore haeba motho a hloka ntho e itseng, o tla e etsa leha ho le joalo. Ha e sebetse haholo, e khopame, e ts'oasa, empa e tla sebetsa.

Source: www.habr.com

Eketsa ka tlhaloso