Conas a cruthaíodh inneall cluiche hacker maidir le freastalaí a scriosadh

Conas a cruthaíodh inneall cluiche hacker maidir le freastalaí a scriosadh
Leanaimid de bheith ag insint duit conas a socraíodh ár gcuardach léasair le scriosadh an fhreastalaí. Tosaigh i roimhe seo alt faoi réiteach na ceiste.

San iomlán, bhí 6 aonad ailtireachta ag backend an chluiche, a ndéanfaimid anailís orthu san Airteagal seo:

  1. Inneall aonáin chluiche a bhí freagrach as meicníochtaí cluiche
  2. Inneall agus bus malartaithe sonraí suímh ar VPS
  3. Aistritheoir ó iarratais inneall (eilimintí cluiche) go Arduino agus crua-earraí ar an suíomh
  4. Fuair ​​Arduino, a bhí freagrach as na hathsheachadáin a rialú, orduithe ón aistritheoir agus rinne an obair iarbhír
  5. Feistí iarbhír: lucht leanúna, garlands, lampaí urláir, etc.
  6. Frontend - an suíomh Gréasáin Falcon féin, as a imreoirí feistí rialaithe

A ligean ar dul trí gach ceann acu.

Cúlra na n-eintiteas cluiche

Cuireadh an t-inneall i bhfeidhm mar fheidhmchlár tosaithe earraigh: bhí roinnt rialtóirí scíthe aige, críochphointe soicéad gréasáin agus seirbhísí le loighic cluiche.

Ní raibh ach trí rialtóir ann:

  • Megatron. Seoladh an leathanach reatha Megatron trí iarratais GET: roimh agus tar éis an chumhacht a chur ar siúl. Scaoil an léasair tríd an iarratas POST.
  • Leathanaigh tilde a mhapáil ionas go bhfreastalaítear orthu de réir ainm an leathanaigh. Táirgeann Tilde leathanaigh le honnmhairiú ní le hainmneacha bunaidh, ach le haitheantas inmheánach agus faisnéis chomhlíonta.
  • Rialaitheoir captcha chun freastal ar captcha freastalaí pseudo-ard-load.

Baineadh úsáid as críochphointe Websocket chun giuirléidí a rialú: lampaí, garland agus litreacha. Roghnaíodh é chun stádas reatha an fheiste a thaispeáint go sioncronach do gach imreoir: cibé an bhfuil sé ar siúl nó as, gníomhach nó nach bhfuil, cén dath den litir atá ar lasadh ar an mballa faoi láthair. D'fhonn an tasc an léasair a chasadh beagán níos deacra, chuireamar údarú leis an garland agus leis an léasair leis an logáil isteach agus an pasfhocal céanna admin/admin.

D'fhéadfadh imreoirí é a thástáil tríd an garland a chasadh air agus an rud céanna a dhéanamh arís leis an léasair.

Roghnaigh muid a leithéid de phéire focal faire logála isteach fánach ionas nach gcaithfí imreoirí a chéasadh gan roghnú gan ghá.

Chun an tasc a dhéanamh beagán níos suimiúla, baineadh úsáid as IDanna oibiachta ó mongodb mar aitheantóirí gléis sa seomra.

Tá stampa ama ag ObjectId: dhá luach randamacha, ceann acu bunaithe ar aitheantóir an ghléis, agus an dara ceann bunaithe ar pid an phróisis a ghineann é agus ar an gcuntarluach. Bhí mé ag iarraidh na haitheantóirí a ghintear go rialta agus le próisis pid éagsúla a dhéanamh, ach le cuntar coitianta, ionas go mbeadh roghnú aitheantóir gléas léasair níos suimiúla. Mar sin féin, sa deireadh, thosaigh gach duine le aitheantóirí a bhí difriúil ach amháin sa luach gcuntar. B’fhéidir go ndearna sé seo an chéim ró-shimplí agus nár ghá anailís a dhéanamh ar struchtúr objectId.

Aistritheoir ón inneall iarratais

Script Python, a d'oibrigh ar amadóirí agus a d'aistrigh iad ó astarraingtí cearrbhachais go múnla fisiceach. Mar shampla, “cas air an lampa urláir” → “cas air sealaíochta N2.”

Cheangail an script leis an scuaine RabbitMQ agus aistríodh iarratais ón scuaine go Arduino. Chuir sé loighic an lasctha solais comhthreomhar i bhfeidhm freisin: mar aon le roinnt feistí, cuireadh an solas orthu ar siúl, mar shampla, nuair a soláthraíodh an chumhacht do Megatron ar dtús, bhí sé soilsithe le solas stáitse. Is scéal ar leith é dearadh soilsithe do chineamatagrafaíocht an radhairc ar fad faoi obair iontach ár gcomh-léiritheoir tionscadail agus an dearthóir táirgeachta Ilya Serov, agus inseoidh muid faoi i bpost ar leith.

Bhí an t-aistritheoir freagrach freisin as loighic an shredder a sheoladh ag baint úsáide as lasc ama agus an íomhá a tharchur chuig an teilifís: an t-amadóir chun an shredder a sheoladh, capybara screadaíl, fógra ag deireadh an chluiche.

Conas a struchtúraíodh an loighic chun an comhartha Megatron a ghiniúint

Lámhaigh tástála

Gineadh comhartha nua gach 25 soicind agus d'fhéadfaí é a úsáid chun an léasair a chur ar siúl ar feadh 10 soicind ag cumhacht 10/255. Nasc le github le cód Megatron.

Ansin fuaraigh an léasair síos ar feadh 1 nóiméad - ní raibh sé ar fáil le linn an ama seo agus níor ghlac sé le hiarratais nua lámhaigh.

Ní raibh an chumhacht seo go leor chun sruthán tríd an rópa, ach d'fhéadfadh aon imreoir dóiteáin Megatron agus an léas léasair a fheiceáil i ngníomh.

Baineadh úsáid as an algartam hashing MD5 chun an comhartha a ghiniúint. Agus d'oibrigh an scéim amach MD5 ó MD5 + gcuntar + rún mar chomhartha comhraic agus gan rún le haghaidh comhartha tástála.

Is tagairt é MD5 do thionscadal tráchtála a rinne Pavel, ár n-aisíocóir. Díreach cúpla bliain ó shin d'úsáid an tionscadal seo MD5, agus nuair a dúirt sé le hailtire an tionscadail gur algartam criptithe as dáta a bhí ann, thosaigh siad ag baint úsáide as MD5 ó MD5. Ós rud é gur shocraigh muid an tionscadal is noob a dhéanamh, chuimhnigh sé ar gach rud agus chinn sé tagairt bheag a dhéanamh.

Lámhaigh do chomhrac

Is é modh comhraic Megatron cumhacht léasair 100% ag 3 vata. Tá sé seo go leor ar feadh 2 nóiméad chun é a dhó tríd an rópa a shealbhaigh an meáchan, chun an t-uisceadán a bhriseadh agus an freastalaí a thuilte le huisce.

D'fhág muid roinnt leideanna ar Github an tionscadail: is é sin, an cód giniúna comharthaí, óna bhféadfaí a thuiscint go ndéantar na comharthaí tástála agus comhraic a ghiniúint bunaithe ar an gcuntar táscaire céanna. I gcás comhartha comhraic, chomh maith leis an gcuntarluach, úsáidtear salann freisin, atá beagnach go hiomlán fágtha i stair an gist seo a athrú, ach amháin an dá charachtar dheireanacha.

Agus na sonraí seo ar eolas agat, bhíothas in ann an 2 shiombail dheireanach den salann a shórtáil agus a fháil amach gur úsáideadh na huimhreacha ó Lost, a tiontaíodh go dtí an córas heicsidheachúil dó.

Ansin bhí ar na himreoirí an cuntarluach a ghabháil (trí anailís a dhéanamh ar an chomhartha tástála) agus comhartha comhraic a ghiniúint ag baint úsáide as an gcéad chuntar eile agus an salann a roghnaíodh ag an gcéim roimhe sin.

Go simplí, mhéadaigh an cuntar le gach lámhaigh tástála agus gach 25 soicind. Níor scríobh muid faoi seo áit ar bith, bhí sé ceaptha a bheith ina iontas cluiche beag.

Seirbhís idirghníomhaíochta Captcha

I saol an chearrbhachais, ba é seo an captcha céanna a bhí le luchtú chun an lucht leanúna a chasadh air agus an smeach-chairt a oscailt le leid. In aice leis an gceamara bhí ríomhaire glúine le monatóireacht ualaigh.

Conas a cruthaíodh inneall cluiche hacker maidir le freastalaí a scriosadh

TSeirbhís Ríomh mé cad atá le taispeáint i monatóireacht mar an t-ualach atá ann faoi láthair: teocht agus LAP Fan. Aistríodh méadracht chuig an mbunachar sonraí bonn ama agus tarraingíodh grafana orthu.

Más rud é le 5 soicind anuas bhí níos mó ná 50 iarratas chun an captcha a thaispeáint, ansin mhéadaigh an t-ualach le líon seasta + randamach céimeanna. Ba é an ríomh go bhféadfaí ualach 100% a bhaint amach i dhá nóiméad.

Go deimhin, bhí níos mó loighic sa tseirbhís ná mar a taispeánadh sa chluiche deiridh: chuireamar an monatóir sa chaoi is nach raibh ach rothlú an LAP Fan le feiceáil.

Ag tús na rompu bhí siad ag iarraidh Grafan a fhágáil inrochtana ó shuíomh Gréasáin Falcon. Ach chuimsigh sé freisin méadracht springboot ón tuarascáil iarratais backend, nach raibh am againn a ghlanadh, agus mar sin shocraigh muid bac a chur ar rochtain air. Agus mar sin ceart - fiú ag tús na rompu, rinne roinnt imreoirí buille faoi thuairim go raibh an t-iarratas scríofa i gcreat springboot agus fiú d'aimsigh siad ainmneacha roinnt seirbhísí.

Óstáil agus bus sonraí

Uirlis chun faisnéis a aistriú ón inneall go dtí an suíomh, an freastalaí VPS ar a raibh RabbitMQ ag rith.

Coinníodh an t-inneall agus an bus sonraí ar ár VPS. Bhí a chumhacht inchomparáide leis an ríomhaire a chonaic tú ar an scáileán: VPS 2-lárnach le dhá ghigibheart de RAM. Gearradh an taraif ar acmhainní, ós rud é go raibh an buaic-ualach pleanáilte ach ar feadh cúpla lá - is é seo a dhéanann ár gcliaint a bheartaíonn VPS a luchtú ar feadh tréimhse ghearr ama. Ansin d'éirigh sé amach go raibh an t-ualach níos airde ná mar a bhí súil againn, agus go mbeadh taraif sheasta níos brabúsaí. Má dhéanann tú rompu, roghnaigh na taraifí líne turbo.

Chun an freastalaí a chosaint ó DDoSa, d’úsáideamar Cloudflare.

Is fiú a rá gur sheas an VPS gach rud le onóir.

Fuair ​​Arduino, a bhí freagrach as na hathsheachadáin a rialú, orduithe ón aistritheoir agus rinne an obair iarbhír

Is é seo níos mó ábhar an chéad airteagal eile mar gheall ar an chuid crua-earraí den tionscadal: an t-inneall a sheoladh go simplí iarratais chun sealaíochta ar leith a chur ar. Tharla sé sin go raibh aithne ag an inneall ar na heintitis go léir nach mór agus bhí an chuma ar na hiarratais uaidh “an t-aonán seo a chasadh air”. Rinneamar é seo chun an suíomh a thástáil go luath (ní raibh an Arduino agus na hathsheachadáin go léir curtha le chéile againn go fóill), sa deireadh d'fhág muid gach rud mar sin.

Ceann tosaigh

Chruthaigh muid an suíomh go tapa ar tilde, thóg sé lá oibre amháin agus shábháil dúinn 30 míle ar ár mbuiséad.

Ar dtús, smaoinigh muid ar an suíomh a onnmhairiú go simplí agus an loighic a bhí in easnamh a chur leis, ach ritheamar isteach i dtéarmaí úsáide a chuir cosc ​​orainn é seo a dhéanamh.

Ní raibh muid réidh chun an ceadúnas a shárú, agus mar sin bhí dhá rogha ann: gach rud a chur i bhfeidhm sinn féin nó teagmháil a dhéanamh go díreach le Tilda, labhairt faoin tionscadal agus cead a iarraidh an cód a athrú.

Roghnaigh muid an dara rogha agus ní hamháin gur bhuail siad linn leath bealaigh, ach fiú thug siad bliain de chuntas gnó saor in aisce dúinn, agus táimid an-bhuíoch dóibh as. Bhí sé thar a bheith deacair dearadh suíomh Gréasáin Sokol a thaispeáint dóibh.

Mar thoradh air sin, cheangaileamar loighic js leis an aghaidh chun iarratais a sheoladh chuig gléasanna bunúsacha, agus d'athraigh muid beagán stíleanna na gcnaipí chun eilimintí cluiche a chasadh air agus as.

Dearadh an láithreáin ghréasáin

Stair na gcuardach, ar fiú caibidil ar leith.

Theastaigh uainn ní hamháin láithreán sean-aimseartha a chruthú, ach suíomh fíor-náireach a sháraíonn na bunrialacha dearadh. Ag an am céanna, bhí sé tábhachtach inchreidteacht a choinneáil: níor mhór dó scéal ENT a bhriseadh, pretentiousness an údair a léiriú, agus bheadh ​​ar imreoirí a chreidiúint go bhféadfadh suíomh den sórt sin a bheith ann agus fiú cliaint a thabhairt. Agus thug sé leis! Cé go raibh an cluiche ar siúl, rinneadh teagmháil linn faoi dhó chun láithreáin ghréasáin a chruthú.

Ar dtús rinne mé an dearadh mé féin, ag iarraidh níos mó gifs agus eilimintí lonracha a chur san áireamh. Ach d'fhéach mo fhear céile dearthóir 10 mbliana thar a ghualainn agus dhíbhe sé mar "ró-mhaith." Chun rialacha dearaidh a bhriseadh, ní mór duit fios a bheith agat orthu.

Conas a cruthaíodh inneall cluiche hacker maidir le freastalaí a scriosadh

Tá roinnt comhcheangail dathanna ann a spreagann mothú marthanach de disgust: glas agus dearg ar chomhshaibhreas, liath agus bándearg, gorm móide donn. Sa deireadh, shocraigh muid ar mheascán de dearg agus glas mar na dathanna bonn, chuir gifs le cat agus roghnaigh 3-4 grianghraif de Sokolov féin ó ghrianghraf stoc. Ní raibh ach cúpla riachtanas agam: fear meánaosta, ag caitheamh culaith mhí-oiriúnach cúpla méideanna ró-mhór agus i “stiúideo gairmiúil photo shoot”. Don scrúdú, thaispeáin siad do chairde é agus d’fhiafraigh siad “conas is maith leat é?”

Le linn an phróisis forbartha dearaidh, bhí ar m’fhear céile dul ina luí gach leathuair, thosaigh an héileacaptar ag eitilt. Rinne Pasha iarracht consól an fhorbróra a oscailt don chuid is mó den scáileán agus é ag críochnú an tosaigh - chun a shúile a chosaint.

Feistí iarbhír

Suiteáladh an lucht leanúna agus na soilse trí athsheachadáin soladach-stáit ionas nach gcuirfidís ar aghaidh ag lánchumhacht láithreach - ionas go n-ardódh an chumhacht ag an am céanna le monatóireacht.

Ach labhróimid faoi seo sa chéad phostáil eile, faoi chuid crua-earraí an chluiche agus tógáil iarbhír an tsuímh.

Fanacht tiúnta!

Ailt eile faoin tóraíocht chun an freastalaí a scrios

Conas a cruthaíodh inneall cluiche hacker maidir le freastalaí a scriosadh

Foinse: will.com

Add a comment