Here ya go Muffin.
Nadhani nini? Nina mtihani katika siku mbili. Ndiyo, mtihani halisi wa chuo kikuu. Na ninafikiri nini kuhusu 24/7? RAWPA(msaidizi wangu wa mtihani wa upatikanaji). Mradi wangu wa shauku umeharibu kabisa ubongo wangu, na sikuweza kuwa na njia nyingine yoyote.
Hivyo, wakati mimi inapaswa kuwa kumbukumbu hotuba kumbukumbu, nilifikiri kwamba nitakufanya wewe up kasi juu ya gari mbaya ya wiki chache zilizopita. Kabla ya mimi kuingia katika makosa na kipengele kipya, napenda kusema—Nadhani kwa uaminifu ujuzi wa kwanza katika kazi yoyote tech ni debugging.
Sio tu kuhusu kutafuta makosa; ni kuhusu uchambuzi wa tatizo, kuelewa, na kutatua. Ni nguvu ya juu. Ni bure kuunda kitu kipya, lakini kuwa na uwezo wa kurekebisha kile kilichopotea - iwe ni msimbo wako mwenyewe au mfumo wa lengo - ni mahali ambapo uchawi halisi hutokea.
Hata hivyo, hebu tujiingie katika makosa na uchafuzi.
Makosa Yangu ya Kwanza: "Kujibu Nini?" UI
Nitaanza na makosa ya marafiki ambaye alikuja kurudi kunipiga. Sikuwahi kufanya muundo wa UI / UX halisi kabla ya mradi huu. Niliangalia video chache za YouTube, niliwashangaa na kuangalia safi ya Whimsical (chombo niliyotumia kwa wireframing), na tu nilianza ... kuchora.
Hakuna responsiveness ya kifaa. Hakuna ukubwa wa screen maalum. tu rectangles kwenye skrini. Ilikuwa nzuri kwenye PC yangu ya maendeleo, hivyo nilifikiri, "Ship it!" wiki chache iliyopita, mtihani alionyesha kwa haki kwamba mtazamo wa simu ulikuwa umefutwa kabisa. Niliishi siku mbili kamili kuondoa suluhisho hilo na kufanya programu kweli kujibu. Masomo kujifunza: kufikiri juu ya skrini zote kutoka siku ya kwanza.
Makosa ambayo yalisababisha kupungua kwa RAWPA
Mbali na hilo... karibu siku mbili iliyopita, niliona vipengele kwenye RAWPA vilikuwa vya kushindwa. mbinu hazikuwa za kupakia, na data nyingine zilikuwa hazipoteza. Angalia kwa haraka console yangu alisema hadithi:
FirebaseError: [code=resource-exhausted]: Quota exceeded.
Nilikuwa na hit16,000 reads and 20,000 writeskatika siku moja. Hiyo ni kiwango cha bure kamili kwenye Firebase. Na watumiaji 33 tu, hii ilikuwa ya kushangaza. Mimi nilikuwa na asili. Mimi inaweza au kusubiri siku kwa kiwango cha kurejesha, au mimi inaweza kuweka juu ya kapu yangu ya uchunguzi na udhibiti.
A mfululizo wa makosa ya mantiki yaliyoanzishwa kutoka kwa mikutano ya coding ya usiku mwengine.
-
The Infinite Loop: I had created a function that continuously checked Firestore for updates, in case I used my admin panel to disable a methodology. It was a dumb, brute-force way to solve a problem, and it was hammering the database.
-
Sleepy-Dev Syndrome: The new feature I was building needed to save its state. Instead of using
localStorage
for frequent, small updates, I was writing to Firestore on every single change. Why? Because I was sleepy and not thinking straight.
Zaidi ya hayo, programu ilikuwa inashughulikia kazi zote za Firestore kwenye uanzishaji, kuunda mstari ambao ulisababisha muda wa kupakia wa ajabu - wakati mwingine hadi sekunde 10. Nilijua kwamba ufumbuzi uliweza kuhifadhiwa na kitu kama Redis, lakini nilikuwa na shaka. Ilikuwa ina maana ngumu zaidi na kuhamisha mambo kwenye Vercel, ambayo ina kikomo cha 12 API kwenye mpango wa bure.
Nimefanya hivyo kwa namna yoyote ile.Nilikuwa naUpstash RedisWakati mwingine, ningependa kuanza na Next.js, lakini baada ya jaribio la kushindwa la uhamiaji, ninaendelea na mipangilio yangu ya React + Vite na kufanya kazi.
Kipengele kipya, kuzaliwa kutoka kwa Pentest halisi
Hivyo, kipengele hiki kipya nilichojenga kilichosababisha machafuko yote?
Nilianza wakati nilikuwa nikifanya kazi juu ya lengo kutoka kwa HackerOne. Mimi nilitumia chombo changu kingine, AAweRT, kwa ajili ya recon na nilielewa mchakato wangu wa mawazo umebadilika kabisa tangu kujenga RAWPA. Nilikuwa na subdomains 79 kuangalia.
Nilipata pointi za mwisho za kuvutia na udhaifu wa uwezekano, lakini sikuwa na njia iliyoandaliwa ya kufuatilia bila kupoteza fikra zangu kuu.
Kwa kuanzishaHunter's Board.
Ni bodi ya Kanban iliyoundwa moja kwa moja katika RAWPA, iliyoundwa kwa njia ambayo pentester anadhani. Unaweza kuunda kadi kwa kitu chochote: kikoa, mbinu, matokeo, ripoti, vipande vya msimbo, zana, unaweza kuitwa.
Nilipokuwa nikiangalia subdomains hizi 79, nilijitengeneza jukwaa hili. Nilipata kiwango cha utafutaji usio na filters kwenye kiwango kimoja - kizuizi cha filters kuu ya UTF-8 - na mara moja niliunda karatasi kwa ajili yake, kuongeza kiungo na kumbukumbu zangu.
The Hunter's Board ni sasa kuishi kwenye tovuti! Unaweza kuangalia sasa.
Kama update ya haraka, nimeondoa kwa mudaRAWPA AIna yaPentest OrchestratorNinahitaji kuboresha na kurekebisha baadhi ya matatizo ya backend kabla ya kuwa tayari kwa wakati mzuri, na nataka uzoefu wa mtumiaji kuwa kamili.
Je, nimezungumzia kwamba nina mtihani katika siku mbili? Ugh. Nitajaribu kuchapisha updates chache zaidi kabla ya kwenda giza kwa ajili ya kujifunza.
Hadi wakati ujao, kumbuka kuwa RAWPA ni mradi wa jumuiya. Ikiwa una mawazo, maoni, au unataka kuchangia, kutumia kipengele cha "Kusaidia" kwenye tovuti au kuungana nami kwenyeMaelezo ya LinkedInAngalia mradi huu kwenyehttps://rawpa.vercel.app/.
Mwili wako unaanza tu.