Mokhoa oa morao-rao oa papali ea hacker mabapi le ho senya seva o entsoe joang

Mokhoa oa morao-rao oa papali ea hacker mabapi le ho senya seva o entsoe joang
Re ntse re tsoela pele ho u joetsa hore na takatso ea rona ea laser le timetso ea seva e ile ea hlophisoa joang. Qala nakong e fetileng sengoloa mabapi le ho rarolla tabatabelo.

Ka kakaretso, mokokotlo oa papali o ne o e-na le likarolo tse 6 tsa meralo, tseo re tla li sekaseka sehloohong sena:

  1. Ka morao ho mekhatlo ea lipapali e neng e ikarabella bakeng sa mekhoa ea papali
  2. Backend le sebaka sa phapanyetsano ea data bese ho VPS
  3. Mofetoleli ho tloha ho likopo tsa morao-rao (likarolo tsa papali) ho ea ho Arduino le lisebelisoa tsa thepa setšeng
  4. Arduino, ea neng a ikarabella bakeng sa ho laola li-relay, o ile a fumana litaelo ho mofetoleli ’me a etsa mosebetsi oa sebele
  5. Lisebelisoa tsa 'nete: fan, li-garlands, mabone a fatše, joalo-joalo.
  6. Frontend - webosaete ea Falcon ka boeona, eo libapali li laolang lisebelisoa ho eona

Ha re hlahlobeng e 'ngoe le e 'ngoe ea tsona.

Ka morao ho lihlopha tsa lipapali

The backend e ile ea kenngoa ts'ebetsong e le ts'ebeliso ea selemo sa boot: e ne e e-na le balaoli ba 'maloa ba phomolo, qetellong ea websocket le litšebeletso tse nang le logic ea papali.

Ho ne ho e-na le balaoli ba bararo feela:

  • Megatron. Leqephe la hajoale la Megatron le rometsoe ka likopo tsa GET: pele le ka mor'a ho bulela matla. Laser e ile ea thunya ka kopo ea POST.
  • Ho etsa 'mapa oa maqephe a tilde hore a fumanehe ka mabitso a leqephe. Tilde e hlahisa maqephe a romelloang kantle ho naha eseng ka mabitso a mantlha, empa a na le ID ea kahare le tlhaiso-leseling ea tumellano.
  • Selaoli sa Captcha ho sebeletsa pseudo-high-load server captcha.

Sebaka sa ho qetela sa Websocket se ne se sebelisetsoa ho laola lisebelisoa: mabone, garland le litlhaku. E khethiloe ho bonts'a libapali tsohle ka mokhoa o ts'oanang boemo ba hona joale ba sesebelisoa: hore na se buletsoe kapa se koetsoe, se sebetsa kapa che, ke 'mala ofe oa lengolo o bonesitsoeng leboteng hona joale. E le ho etsa hore mosebetsi oa ho bulela laser o be thata haholoanyane, re kentse tumello ho garland le laser ka mokhoa o tšoanang oa ho kena le password admin/admin.

Libapali li ne li ka li leka ka ho bulela moqhaka ebe li pheta se tšoanang ka laser.

Re khethile li-password tse sa reng letho e le hore re se ke ra hlokofatsa libapali ka khetho e sa hlokahaleng.

Ho etsa hore mosebetsi o thahaselle le ho feta, li-ID tsa ntho e tsoang ho mongodb li ile tsa sebelisoa e le litlhaloso tsa lisebelisoa ka phaposing.

ObjectId e na le setempe sa nako: litekanyetso tse peli tse sa fetoheng, e 'ngoe ea tsona e nkuoa ho ipapisitsoe le ID ea sesebelisoa, 'me ea bobeli e ipapisitse le pid ea ts'ebetso e e hlahisang le boleng ba counter. Ke ne ke batla ho etsa li-identifiers tse hlahisoang ka linako tse tloaelehileng le ka mekhoa e fapaneng ea pid, empa ka k'haontareng e tloaelehileng, e le hore khetho ea sekhetho sa lisebelisoa tsa laser e ka ba monate haholoanyane. Leha ho le joalo, qetellong, e mong le e mong o ile a qala ka li-identifiers tse fapaneng feela ka boleng ba counter. Sena se kanna sa etsa hore mohato o be bonolo haholo mme o sa hloke tlhahlobo ea sebopeho sa objectId.

Mofetoleli ho tsoa likopong tsa morao-rao

Python script, ea neng a sebetsa ka li-timers le ho li fetolela ho tloha lipapaling tsa lipapali ho ea ho mohlala oa sebele. Mohlala, “bulela lebone la fatše” → “bulela relay N2.”

Mongolo o hokahantsoeng le mokoloko oa RabbitMQ mme o fetiselitse likopo ho tloha moleng ho ea ho Arduino. E ile ea boela ea kenya ts'ebetsong mohopolo oa ho fetola mabone a tšoanang: hammoho le lisebelisoa tse ling, lebone la tsona le ne le khantšitsoe, mohlala, ha motlakase o qala ho fuoa Megatron, o ne o bonesoa ka leseli la sethala. Moqapi oa mabone bakeng sa cinematography ea sebaka sohle ke pale e fapaneng mabapi le mosebetsi o moholo oa motlatsi oa rona oa morero le moetsi oa lihlahisoa Ilya Serov, 'me re tla bua ka eona ka poso e fapaneng.

Mofetoleli o ne a boetse a ikarabella bakeng sa logic ea ho qala shredder ho sebelisa timer le ho fetisetsa setšoantšo ho TV: timer bakeng sa ho qalisa shredder, capybara e hoeletsang, khoebo qetellong ea papali.

Mokhoa oa ho hlahisa letšoao la Megatron o entsoe joang

Tlhahlobo ea teko

Metsotsoana e meng le e meng e 25 ho ne ho etsoa tokeneng e ncha 'me e ka sebelisoa ho bulela laser metsotsoana e 10 ka matla a 10/255. Kopana le github e nang le khoutu ea Megatron.

Laser e ile ea kokobela motsotso o le mong - nakong ena e ne e le sieo 'me ha ea ka ea amohela likopo tse ncha tsa ho thunngoa.

Matla ana a ne a sa lekana ho chesa ka thapo, empa sebapali leha e le sefe se ne se ka chesa Megatron le ho bona lebone la laser le sebetsa.

MD5 hashing algorithm e sebelisitsoe ho hlahisa letšoao. Mme morero oo o ile wa phethahala MD5 ho tloha MD5 + counter + sephiri bakeng sa letšoao la ntoa le ntle le sephiri bakeng sa letšoao la teko.

MD5 ke sesupo sa morero oa khoebo oo Pavel, motšehetsi oa rona, a o entseng. Lilemong tse 'maloa tse fetileng morero ona o ile oa sebelisa MD5,' me ha a bolella setsebi sa meralo hore ke algorithm ea khale ea ho kenyelletsa, ba ile ba qala ho sebelisa MD5 ho tloha MD5. Kaha re ile ra etsa qeto ea ho etsa hore morero oa noob o khonehe ka ho fetisisa, o ile a hopola ntho e 'ngoe le e' ngoe 'me a etsa qeto ea ho etsa tlhahiso e nyenyane.

Ntoa ea ntoa

Mokhoa oa ntoa oa Megatron ke matla a laser a 100% ho li-watts tse 3. Sena se lekane bakeng sa metsotso ea 2 ho chesa ka thapo e neng e tšoere boima, ho senya aquarium le ho phalla seva ka metsi.

Re siile lintlha tse 'maloa ho Github ea morero: e leng, khoutu ea moloko oa token, eo ho eona motho a neng a ka utloisisa hore liteko le li-tokens tsa ntoa li hlahisoa ho latela pontšo e tšoanang ea counter. Tabeng ea letšoao la ntoa, ho phaella ho boleng ba counter, letsoai le boetse le sebelisoa, e leng hoo e batlang e le ka ho feletseng historing ea phetoho ea ntlha ena, ntle le litlhaku tse peli tsa ho qetela.

Ho tseba lintlha tsena, ho ne ho ka khoneha ho hlophisa matšoao a 2 a ho qetela a letsoai 'me ka sebele u fumane hore linomoro tse tsoang ho Lost, tse fetoletsoeng ho tsamaiso ea hexadecimal, li ne li sebelisetsoa eona.

Joale libapali li ne li tlameha ho ts'oara boleng ba counter (ka ho sekaseka lets'oao la teko) le ho hlahisa letšoao la ntoa le sebelisa boleng bo latelang ba counter le letsoai le khethiloeng mohatong o fetileng.

Khaontara e ile ea eketseha ka sethunya se seng le se seng sa liteko le metsotsoana e meng le e meng e 25. Ha rea ​​ka ra ngola ka sena kae kapa kae, e ne e lokela ho ba ntho e makatsang ea papali.

Ts'ebeletso ea puisano ea Captcha

Lefatšeng la lipapali, ena e ne e le captcha e tšoanang e neng e tlameha ho kenngoa e le ho bulela fan le ho bula pampiri e kholo ka ho fana ka leseli. Haufi le k'hamera ho ne ho e-na le laptop e nang le leihlo la mojaro.

Mokhoa oa morao-rao oa papali ea hacker mabapi le ho senya seva o entsoe joang

tšebeletso ea Ke balile hore na ke tla bonts'a eng ho lekola joalo ka mojaro oa hajoale: mocheso le CPU Fan. Metrics e ile ea fetisetsoa sebakeng sa polokelo ea nako mme ea toroa ke grafana.

Haeba metsotsoana e 5 ea ho qetela ho ne ho e-na le likōpo tse fetang 50 tsa ho bontša captcha, joale mojaro o ile oa eketseha ka palo e tsitsitseng + e sa tloaelehang ea mehato. Palo e ne e le hore 100% mojaro o ka finyelloa ka metsotso e 'meli.

Ha e le hantle, ho ne ho e-na le mabaka a mangata tšebeletsong ho feta a bontšitsoeng papaling ea ho qetela: re ile ra beha leihlo ka tsela eo ho neng ho bonahala feela ho potoloha ha CPU Fan.

Qalong ea patlisiso ba ne ba batla ho tloha Grafan e fumaneha ho tsoa webosaeteng ea Falcon. Empa e ne e boetse e na le metrics ea springboot ho tsoa tlalehong ea kopo ea backend, eo re neng re se na nako ea ho e hloekisa, kahoo re ile ra etsa qeto ea ho thibela ho e fumana. 'Me ka nepo - le qalong ea sepheo, libapali tse ling li ile tsa hakanya hore kopo e ngotsoe ka har'a moralo oa springboot mme e bile e cheka mabitso a lits'ebeletso tse ling.

Hosting le data bese

Sesebelisoa sa ho fetisetsa tlhahisoleseding ho tloha ka morao ho ea sebakeng sa marang-rang, seva sa VPS seo RabbitMQ e neng e sebetsa ho sona.

The backend le data bese e ne e bolokoa VPS ea rona. Matla a eona a ne a bapisoa le k'homphieutha eo u e boneng skrineng: VPS ea 2-core e nang le li-gigabyte tse peli tsa RAM. Litefiso li ne li lefisoa bakeng sa lisebelisoa, kaha tlhōrō ea tlhōrō e ne e reriloe ka matsatsi a seng makae feela - sena ke seo bareki ba rona ba se etsang ba rerileng ho laela VPS ka nako e khutšoanyane. Joale ho ile ha fumaneha hore mojaro o phahame ho feta kamoo re neng re lebeletse, 'me tefiso e tsitsitseng e tla ba le phaello e ngata. Haeba u batla, khetha line tariffs turbo.

Ho sireletsa seva ho DDoSa, re sebelisitse Cloudflare.

Ke habohlokoa ho bolela hore VPS e ile ea hanyetsa ntho e 'ngoe le e' ngoe ka tlhompho.

Arduino, ea neng a ikarabella bakeng sa ho laola li-relay, o ile a fumana litaelo ho mofetoleli ’me a etsa mosebetsi oa sebele

Ena ke sehlooho sa sengoloa se latelang mabapi le karolo ea Hardware ea projeke: backend e rometse likopo tsa ho bulela relay e itseng. Ho ile ha etsahala hore backend e ne e tseba hoo e batlang e le mekhatlo eohle le likopo tse tsoang ho eona li shebahala joaloka "bulela mokhatlo ona." Re entse sena bakeng sa tlhahlobo ea pele ea sebaka (re ne re e-s'o bokelle Arduino le li-relay tsohle), qetellong re ile ra siea ntho e 'ngoe le e' ngoe joalo.

Qetellong ea bokapele

Ka potlako re ile ra theha setša ho tilde, ho ile ha nka letsatsi le le leng la ho sebetsa 'me ra re pholosa 30 tse likete ka tekanyetso ea rona.

Qalong, re ne re nahana ka ho romela sebaka sa marang-rang feela le ho eketsa mabaka ao re neng re sa a tsebe, empa re ile ra kopana le tšebeliso e neng e re thibela ho etsa sena.

Re ne re e-s'o itokiselitse ho tlōla lengolo la tumello, kahoo ho ne ho e-na le likhetho tse peli: ho kenya ts'ebetsong ntho e 'ngoe le e' ngoe ka borona kapa ho ikopanya le Tilda ka ho toba, ho bua ka morero le ho kopa tumello ea ho fetola khoutu.

Re khethile khetho ea bobeli 'me ha baa ka ba kopana le rona halofo feela, empa ba bile ba re fa selemo sa akhaonto ea mahala ea khoebo, eo re ba lebohang haholo ka eona. Ho ne ho le thata haholo ho ba bontša moralo oa sebaka sa marang-rang sa Sokol.

Ka lebaka leo, re ile ra hokela js logic sebakeng se ka pele bakeng sa ho romella likopo ho lisebelisoa tsa mantlha, 'me ra fetola hanyane mekhoa ea likonopo bakeng sa ho bulela le ho tima likarolo tsa papali.

Moralo oa sebaka

Nalane ea lipatlisiso, e lokelang ho khaoloa ka thoko.

Re ne re sa batle ho theha setša sa khale feela, empa se nyonyehang ka ho feletseng se tlōlang melao eohle ea motheo ea moralo. Ka nako e ts'oanang, ho ne ho le bohlokoa ho boloka tumelo: e ne e sa lokela ho senya pale ea ENT, ho bontša boikaketsi ba mongoli, 'me libapali li tla tlameha ho lumela hore sebaka se joalo se ka ba teng esita le ho tlisa bareki. Mme a e tlisa! Ha papali e ntse e tsoela pele, re ile ra ikopanya habeli ho theha liwebsaete.

Qalong ke ile ka iketsetsa moralo, ke leka ho kenyelletsa li-gifs le likarolo tse benyang. Empa monna oa ka oa moqapi oa lilemo tse 10 o ile a sheba lehetla la hae mme a re "e ntle haholo." Ho tlōla melao ea moralo, u lokela ho e tseba.

Mokhoa oa morao-rao oa papali ea hacker mabapi le ho senya seva o entsoe joang

Ho na le mefuta e 'maloa ea mebala e bakang boikutlo bo sa feleng ba ho nyonya: botala le bofubelu ba maruo a lekanang, bohlooho le bopinki, boputsoa hammoho le sootho. Qetellong, re ile ra lula holim'a motsoako o mofubelu le o motala e le mebala ea motheo, re eketsa li-gifs tse nang le katse 'me ra khetha lifoto tsa 3-4 tsa Sokolov ka boeena ho tloha setšoantšong sa stock. Ke ne ke e-na le litlhoko tse 'maloa feela: monna ea lilemo li bohareng, ea apereng sutu e sa tšoaneleheng e nang le boholo bo bongata haholo le "setšoantšong sa setsebi sa setšoantšo sa studio". Bakeng sa tlhahlobo, ba ile ba e bontša metsoalle 'me ba botsa "U e rata joang?"

Nakong ea ts'ebetso ea nts'etsopele ea moralo, monna oa ka o ne a tlameha ho robala halofo e 'ngoe le e' ngoe ea hora; helikopthara e ile ea qala ho fofa. Pasha o ile a leka ho bula mochine oa moqapi ho boholo ba skrine ha a ntse a qeta ho qeta pele - ho sireletsa mahlo a hae.

Lisebelisoa tsa sebele

Li-fan le mabone li ne li kenngoa ka li-relays tse tiileng e le hore li se ke tsa bulela matla a feletseng hang-hang - e le hore matla a ka eketseha ka ho tsamaisana le ho beha leihlo.

Empa re tla bua ka sena posong e latelang, ka karolo ea hardware ea papali le kaho ea sebele ea setša.

Lula u mametse!

Lingoliloeng tse ling mabapi le ho batla ho senya seva

Mokhoa oa morao-rao oa papali ea hacker mabapi le ho senya seva o entsoe joang

Source: www.habr.com

Eketsa ka tlhaloso