[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:arrow-up-right":8,"i-lucide:moon":10,"i-lucide:sun":12,"i-lucide:rss":14,"i-simple-icons:github":16,"i-simple-icons:linkedin":18,"post-\u002F2020\u002Fpuzzle-box-christmas-gift":21,"surround-\u002F2020\u002Fpuzzle-box-christmas-gift":291,"i-lucide:arrow-left":300,"i-lucide:arrow-right":302},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19,"hidden":20},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",true,{"id":22,"title":23,"body":24,"category":278,"comments":279,"date":280,"description":30,"excerpt":279,"extension":281,"image":282,"meta":283,"navigation":20,"path":284,"readingTime":285,"seo":286,"stem":287,"subtitle":288,"tags":279,"wordCount":289,"__hash__":290},"posts\u002F2020\u002Fpuzzle-box-christmas-gift.md","Puzzle box Christmas gift",{"type":25,"value":26,"toc":270},"minimark",[27,31,36,39,43,46,53,58,69,72,80,83,91,94,108,111,119,122,127,130,141,144,148,159,170,184,193,196,200,216,219,257,261,264,267],[28,29,30],"p",{},"Here's a gift box I built for this Christmas. A wooden box, locked with a combination lock. To get the code of the lock (and the gift inside),\none has to get the box open... somehow... without knowing the lock combination.",[32,33,35],"h2",{"id":34},"why-do-this","Why do this",[28,37,38],{},"I wanted to make obtaining the gift just a bit challenging - this would make the reward more satisfying. Idea of a locked box w\u002F combination\nlock fit well, as making a puzzle to disclose a password is doable enough. Oddly, I couldn't find a small lockable box from local nor\nonline stores, so I built one.",[32,40,42],{"id":41},"the-build","The build",[28,44,45],{},"I'm no woodworker, and did this in the living room, with limited tooling available. The build is rough.\nI discovered plenty of small tips how to make my next box cleaner, but that's for another time.",[28,47,48],{},[49,50],"img",{"alt":51,"src":52},"","\u002Fcontent\u002F2020\u002Fgift-box\u002F1.jpg",[28,54,55],{},[49,56],{"alt":51,"src":57},"\u002Fcontent\u002F2020\u002Fgift-box\u002F2.jpg",[28,59,60,63,66],{},[49,61],{"alt":51,"src":62},"\u002Fcontent\u002F2020\u002Fgift-box\u002F3.jpg",[49,64],{"alt":51,"src":65},"\u002Fcontent\u002F2020\u002Fgift-box\u002F4.jpg",[49,67],{"alt":51,"src":68},"\u002Fcontent\u002F2020\u002Fgift-box\u002F5.jpg",[28,70,71],{},"(above) I started by cutting a length of 90cm x 2cm x 100cm pine board into ~15cm pieces, fitting the pieces together into a box, then sanding the edges.\nBox lid was made of a bit larger and thicker pine. A heavier lid was needed in order to fit the loops for the lock without splitting the wood, but was a mistake in retrospect,\nas this took the center of gravity for the box too high - it would tip over when empty and open.",[28,73,74,77],{},[49,75],{"alt":51,"src":76},"\u002Fcontent\u002F2020\u002Fgift-box\u002F6.jpg",[49,78],{"alt":51,"src":79},"\u002Fcontent\u002F2020\u002Fgift-box\u002F7.jpg",[28,81,82],{},"(above) I pained the inside with an oil-based glossy dark brown wood oil, and the outside with water-based dark brown wood pigment. The pieces are glued together\nwith wood glue.",[28,84,85,88],{},[49,86],{"alt":51,"src":87},"\u002Fcontent\u002F2020\u002Fgift-box\u002F8.jpg",[49,89],{"alt":51,"src":90},"\u002Fcontent\u002F2020\u002Fgift-box\u002F9.jpg",[28,92,93],{},"(above) I wanted to engrave a name into the lid of the box. First attempt of this did not look nice - the text was very small, and I used a regular drill to\nengrave the wood. The drill was too big for the too-small letters. Result was sloppy-looking (if artistic), uneven edges, with some of the \"freestanding\" bits in letters like R (the middle outcrop) breaking off.",[28,95,96,99,102,105],{},[49,97],{"alt":51,"src":98},"\u002Fcontent\u002F2020\u002Fgift-box\u002F10.jpg",[49,100],{"alt":51,"src":101},"\u002Fcontent\u002F2020\u002Fgift-box\u002F11.jpg",[49,103],{"alt":51,"src":104},"\u002Fcontent\u002F2020\u002Fgift-box\u002F12.jpg",[49,106],{"alt":51,"src":107},"\u002Fcontent\u002F2020\u002Fgift-box\u002F13.jpg",[28,109,110],{},"(above) I got a better drill meant for sideways engraving from the hardware store, and used bigger letters with more straight edges (no freestanding bits) - result looked much better.\nI filled the engraved letterings with white filler meant for fixing indents in wood, then let it dry and sanded the top. The result - nicely freestanding, filled out lettering.",[28,112,113,116],{},[49,114],{"alt":51,"src":115},"\u002Fcontent\u002F2020\u002Fgift-box\u002F14.jpg",[49,117],{"alt":51,"src":118},"\u002Fcontent\u002F2020\u002Fgift-box\u002F15.jpg",[28,120,121],{},"(above) I attached small brass hinges to the backside of the box.",[28,123,124],{},[49,125],{"alt":51,"src":126},"\u002Fcontent\u002F2020\u002Fgift-box\u002F16.jpg",[28,128,129],{},"(above) Finishing touches - fully oiled and attaching front-facing loops for the lock. Sadly, I had to forgo adding a box-lid inlay piece, as this would have messed up the center of balance even further.",[28,131,132,135,138],{},[49,133],{"alt":51,"src":134},"\u002Fcontent\u002F2020\u002Fgift-box\u002F24.jpg",[49,136],{"alt":51,"src":137},"\u002Fcontent\u002F2020\u002Fgift-box\u002F25.jpg",[49,139],{"alt":51,"src":140},"\u002Fcontent\u002F2020\u002Fgift-box\u002F26.jpg",[28,142,143],{},"(above) The box is complete. There are plenty of areas where I knew I could do better (paint drips, uneven sanding, balance and weight...), but as this was my very first box and the point\nwasn't to get it perfect, I let it be. Regardless, the final result looks rather nice.",[32,145,147],{"id":146},"guess-the-code","Guess the code",[28,149,150,153,156],{},[49,151],{"alt":51,"src":152},"\u002Fcontent\u002F2020\u002Fgift-box\u002F21.jpg",[49,154],{"alt":51,"src":155},"\u002Fcontent\u002F2020\u002Fgift-box\u002F22.jpg",[49,157],{"alt":51,"src":158},"\u002Fcontent\u002F2020\u002Fgift-box\u002F23.jpg",[28,160,161,162,169],{},"(above) The box would go under the Christmas tree locked with a combination lock.\nIn the box would also be a sheet with Maths tasks as well as a ",[163,164,168],"a",{"href":165,"rel":166},"https:\u002F\u002Fwww.rahvaraamat.ee\u002Fp\u002Fmatemaatika-valemeid\u002F29049\u002Fet?isbn=9789985025901",[167],"nofollow","formula book",".\nIn order to open the box, you'd need to solve the math.",[28,171,172,175,178,181],{},[49,173],{"alt":51,"src":174},"\u002Fcontent\u002F2020\u002Fgift-box\u002F17.jpg",[49,176],{"alt":51,"src":177},"\u002Fcontent\u002F2020\u002Fgift-box\u002F18.jpg",[49,179],{"alt":51,"src":180},"\u002Fcontent\u002F2020\u002Fgift-box\u002F27.png",[49,182],{"alt":51,"src":183},"\u002Fcontent\u002F2020\u002Fgift-box\u002F19.jpg",[28,185,186,187,192],{},"(above) I took the Maths problems from Estonian national Maths exam for high-schoolers, from last year\n(see: ",[163,188,191],{"href":189,"rel":190},"https:\u002F\u002Fwww.innove.ee\u002Feksamid-ja-testid\u002Friigieksamid\u002Friigieksamite-materjalid\u002F",[167],"Math exam problems and answers for 2019 year",").\nI picked problems that were relatively easy to solve, and also tested them on friends - the goal was to offer a slightly complex challenge, but not to frustrate people.",[28,194,195],{},"Solving all three problems would give you the three-digit combination of the lock; and you'd be able to open the box.",[32,197,199],{"id":198},"ways-to-open-the-box","Ways to open the box",[28,201,202,203,207,208,212,215],{},"Having learned from ",[163,204,206],{"href":205},"\u002F2017\u002Fgirlfriend-puzzle","Girlfriend Puzzle",", I wanted to make it possible to open the box in multiple different ways.\nAgain - to avoid frustration. The point wasn't so much to solve the Maths puzzles, but to think outside the box (pun intended) and ",[209,210,211],"em",{},"hack it",[209,213,214],{},"(yes - I'm deviously trying to get the hacker mindset into gf)",".",[28,217,218],{},"These were the different ways how to get into the box:",[220,221,222,226,229,232,235,238,241,244,247,254],"ul",{},[223,224,225],"li",{},"Solve all three Maths problems and get the combination",[223,227,228],{},"There are 3 problems on the assignment sheet, each one giving X points (listed).\nRealize the numbers of points for the three tasks are actually individual numbers in the lock combination. Permute and open the lock.",[223,230,231],{},"Top and footer of the assignment sheet has, in faint letters the text: \"Some SECRETS are only visible by candlelight\".\nRealize this means invisible ink - I wrote the combination to the paper with lemon juice. Heating the paper would yield the answer.",[223,233,234],{},"Unscrew back hinges (I left hinges on the outside on purpose)",[223,236,237],{},"Unscrew front lock loops (requires Torx screw head - on purpose)",[223,239,240],{},"Use online tools (Wolfram Alpha) to solve the Maths problems",[223,242,243],{},"Google the text of the assignments, discover it's from national exams - with answer sheet included",[223,245,246],{},"Ask friends and family to help with solving Maths (distributed computing)",[223,248,249,250,253],{},"Outright guess the combination (it's a significant, guessable number - a ",[209,251,252],{},"terrible"," password)",[223,255,256],{},"Physically break the box",[32,258,260],{"id":259},"how-it-played-out","How it played out",[28,262,263],{},"The box was opened via a combination of brute-forcing and solving Maths - friends and family helped to solve most of the Maths problems, getting the answer \"900\".\nAs there were only 99 possible other combinations, they were brute-forced without solving the last Maths problem, and the box was opened.",[28,265,266],{},"Overall, the present-puzzle was a success, and - I think - the gift was appreciated.",[28,268,269],{},"Ho-ho-ho =)",{"title":51,"searchDepth":271,"depth":271,"links":272},2,[273,274,275,276,277],{"id":34,"depth":271,"text":35},{"id":41,"depth":271,"text":42},{"id":146,"depth":271,"text":147},{"id":198,"depth":271,"text":199},{"id":259,"depth":271,"text":260},"Projects",null,"2020-12-23","md","\u002Fcontent\u002F2020\u002Fgift-box\u002Fheader.jpg",{},"\u002F2020\u002Fpuzzle-box-christmas-gift","about 5 minutes",{"title":23,"description":30},"2020\u002Fpuzzle-box-christmas-gift","A Christmas present with a twist - to get the gift, you'll have to hack the giftbox",951,"2cJLvHC--BDNs5pJ6yPC1vPlpT3Q2vF6Y0fbNfa5z7E",[292,296],{"title":293,"path":294,"stem":295,"children":-1},"eCoop open redirect and XSS on login page","\u002F2020\u002Fecoop-xss-on-login-page","2020\u002Fecoop-xss-on-login-page",{"title":297,"path":298,"stem":299,"children":-1},"Õhtuhämarus","\u002F2021\u002Fohtuhamarus","2021\u002Fohtuhamarus",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":301},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":303},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1790228552485]