728x90 ์ ์ฒด ๊ธ720 Dreamhack - ์๊ฒ์, Mango ํ์ด https://dreamhack.io/wargame/challenges/90/ Mango Description ์ด ๋ฌธ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ํ๋๊ทธ๋ฅผ ํ๋ํ๋ ๋ฌธ์ ์ ๋๋ค. ํ๋๊ทธ๋ admin ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ์ ๋๋ค. ํ๋๊ทธ์ ํ์์ DH{...} ์ ๋๋ค. {'uid': 'admin', 'upw': 'DH{32alphanumeric}'} Reference Serv dreamhack.io NOSQL Injection์ ๊ดํ ๋ฌธ์ ๋ค. ํ์ด์ง๋ก ๋ค์ด๊ฐ๋๊น ๋ค์ง๊ณ ์ง /login์์ ๋ก๊ทธ์ธ์ ํ๋ผ๊ณ ๋ฌ๋ค. ์ฃผ์์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํด๋ณด๋ guest๋ก ๋ก๊ทธ์ธ์ด ๋๋์ง ํ๋ฉด์๋ guest๋ง ๋ธ ๋ง์ฝ์ uid ๊ฐ์ผ๋ก admin์ ์ฃผ๊ฒ ๋๋ฉด ํ์ด์ง์๋ filter๋ผ๊ณ ๋จ๊ฒ ๋๋ค. ๋ฌธ์ ์์ ์ ๊ณตํ๋ ์๋ฒ ํ์ผ์ ํ์ธํด๋ณด๋ฉด .. 2021. 12. 9. ํ๋ก๊ทธ๋๋จธ์ค - ๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น, MySQL https://programmers.co.kr/learn/courses/30/lessons/59040 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋ programmers.co.kr SELECT ANIMAL_TYPE, count( ANIMAL_TYPE ) AS count FROM ANIMAL_INS WHERE ANIMAL_TYPE = 'Cat' UNION SELECT ANIMAL_TYPE, count( ANIMAL_TY.. 2021. 12. 8. ํ๋ก๊ทธ๋๋จธ์ค - ์คํ์ฑํ ๋ฐฉ, ํ์ด์ฌ https://programmers.co.kr/learn/courses/30/lessons/42888?language=python3 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ์ฑํ ๋ฐฉ ์คํ์ฑํ ๋ฐฉ ์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์ค programmers.co.kr users = {} def solution(record): answer = [] for line in record: data = line.split() action, userId = data[0], data[1] if action in ("Enter", "Change"): nick = data[2] users[userId] = ni.. 2021. 12. 8. ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์, ํ์ด์ฌ https://programmers.co.kr/learn/courses/30/lessons/12916 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ ๋๋ฌธ์์ ์๋ฌธ์๊ฐ ์์ฌ์๋ ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง๋๋ค. s์ 'p'์ ๊ฐ์์ 'y'์ ๊ฐ์๋ฅผ ๋น๊ตํด ๊ฐ์ผ๋ฉด True, ๋ค๋ฅด๋ฉด False๋ฅผ return ํ๋ solution๋ฅผ ์์ฑํ์ธ์. 'p', 'y' ๋ชจ๋ ํ๋๋ ์๋ ๊ฒฝ์ฐ๋ ํญ์ True๋ฅผ programmers.co.kr import re def solution(s): if re.subn("[pP]", "", s)[1] == re.subn("[yY]", "", s)[1]: return True else: return False ์ ๊ท ํํ์ re.subn์ผ๋ก ๋ฌธ์ ๊ธธ์ด ์์๋ด๊ธฐ 2021. 12. 8. Lord of SQLinjection - succubus https://los.rubiya.kr/chall/succubus_37568a99f12e6bd2f097e8038f74d768.php https://los.rubiya.kr/chall/succubus_37568a99f12e6bd2f097e8038f74d768.php los.rubiya.kr ์์ด๋์ ํจ์ค์๋๋ฅผ ์ ๋ ฅ์ ๋ฐ๊ณ ์์ผ๋ฉฐ, (')๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋๋ค. ์ ๋ต) ?id=\&pw=OR 1=1;%00 id์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํด์ pw์ ์ฒซ๋ฒ์งธ ' ๊น์ง ๋ฌธ์์ด ํํ๋ก ๋ง๋ ๋ค. id='\' and pw='OR 1=1;%00 ๊ทธ๋ฆฌ๊ณ ์ฐธ์ด ๋๋ ์กฐ๊ฑด๊ณผ ๋ค์ '๋ฅผ ๋ฌด์ํ๊ธฐ ์ํด ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ฉด ํด๊ฒฐ 2021. 12. 8. Lord of SQLinjection - assassin https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php los.rubiya.kr ํจ์ค์๋๋ฅผ ์ ๋ ฅ์ ๋ฐ๋๋ฐ '๋ฅผ ๊ธ์งํ๊ณ ์์ด์ ๋ค๋ฅธ ์ฟผ๋ฆฌ๋ฌธ์ ๋ฃ๋ ๊ฒ ํ๋ค๋ค. ๋ฌธ์ ์์ ์คํ๋๋ ์ฟผ๋ฆฌ๋ฌธ์ ์ ์ดํด๋ณด๋ฉด pw๊ฐ =๊ฐ ์๋ like๋ก ์ผ์นํ๋ ์กฐ๊ฑด์ ๊ตฌํ๊ณ ์๋ค. LIKE๋ =์ ๋ค๋ฅด๊ฒ ํน์ ๋ฌธ์๊ฐ ํฌํจ์ด ๋์ด์์ด๋ ์กฐ๊ฑด์ ์ฐธ์ผ๋ก ๋ง๋ค ์๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด A๋ก ์์ํ๋ ๋ฌธ์๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ฉด A% A๋ก ๋๋๋ ๋ฌธ์๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ฉด %A A๊ฐ ํฌํจํ๋ ๋ฌธ์๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ฉด %A% ์ด๋ฐ ์์ผ๋ก ๋ง์ด๋ค. ๋ํ _๋ฅผ.. 2021. 12. 8. Lord of SQLinjection - giant https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php los.rubiya.kr shit์ด๋ผ๋ ์ธ์๋ฅผ ์ ๋ ฅ๋ฐ์์ ์ฟผ๋ฆฌ๋ฌธ์ ์คํ์ํค๋ ๊ฒ์ด ๋ชฉ์ ์ฟผ๋ฆฌ๋ฌธ์ select 1234 from{$_GET[shit]}prob_giant where 1 ์ด๋ ๊ฒ ๊ตฌ์ฑ๋์ด์์ผ๋ฉฐ, ์ฟผ๋ฆฌ๋ฅผ ์ ์ ๋์์ ์ํค๊ธฐ ์ํด์๋ from ๋ค์ ๊ณต๋ฐฑ์ ๋ฃ์ด์ผ ํ๋ค. ๊ณต๋ฐฑ์ ๋๊ฒจ์ฃผ๋๊ฒ ์ฝ์ง๋ง์ ์๋ค. URL ์ฃผ์์ ์คํ์ด์ค๋ฅผ ๋ฃ์ด๋ ์ ๋ฌ์ด ๋์ง ์๋๋ค. ๊ทธ๋์ ๊ณต๋ฐฑ์ ๋์ ํ ๋ค๋ฅธ ๊ฒ์ ๋ฃ์ด์คฌ๋ค. ๋ฐ๋ก "%0b" ์๊ฒ์ ์ฐธ๊ณ : https://jan.. 2021. 12. 8. ์น ํดํน - ํฌ๋กฌ ์คํ์ด์จ์ด ํ์ฅ ํ๋ก๊ทธ๋จ , Bad Extension ํฌ๋กฌ ํ์ฅ์๋ฅผ ์ด์ฉํด ๋ธ๋ผ์ฐ์ ์ ์ฉ ์คํ์ด์จ์ด๋ฅผ ๋ง๋ค์ด๋ณด์์ต๋๋ค. ์ฐ์ ๋์์ ์ปดํจํฐ์ ์ค์น๋ฅผ ํ๋ ๊ฑด ์์์ ๋งก๊ธฐ๊ณ , ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ๊ฒ ๋๋ฉด ๋ณ ๋ค๋ฅธ ์ด์ ์ฆ์์ ์์ต๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ ์์ด์ฝ์ ํด๋ฆญํด๋ ๋ณ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์์ต๋๋ค. ํ์ง๋ง ๋ง์ฝ ์ ์ ๊ฐ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋์ ํ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๋ฉด ๊ณต๊ฒฉ์์ PC์๋ ์ ์ ๊ฐ ๋์๋ค๋ ํ์ด์ง์ html ํ์ผ๊ณผ ์คํฌ๋ฆฐ์ท ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ๊ฒ ๋ฉ๋๋ค. ์๋ฆฌ: ๊ณต๊ฒฉ์๊ฐ ํ์ด์ฌ Flask๋ก CDN(์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ) ์๋ฒ๋ฅผ ์ด๊ฒ ๋ฉ๋๋ค. ์ด ์ ์ฑ ํ์ฅ ํ๋ก๊ทธ๋จ์ ํ์ด์ง๋ฅผ ์ด๋ํ ๋๋ง๋ค ๊ณต๊ฒฉ์์๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝํ ์ธ ํ์ผ์ ์๊ตฌ๋ฅผ ํ๊ฒ ๋๊ณ , ๊ณต๊ฒฉ์ ์๋ฒ๋ ์ฝํ ์ธ ๋ฅผ ์ ๊ณต์ ํ๊ฒ ๋ฉ๋๋ค. ๊ทธ ์ ๊ณต๋ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ajax ์คํฌ๋ฆฝํธ์ ๋ฌธ์.. 2021. 12. 8. ํ์ด์ฌ - base64๋ฅผ ์ด๋ฏธ์ง ํ์ผ๋ก ์ ์ฅํ๊ธฐ import base64 imgdata = base64.b64decode(imgstring) filename = 'some_image.jpg' # I assume you have a way of picking unique filenames with open(filename, 'wb') as f: f.write(imgdata) # f gets closed when you exit the with statement # Now save the value of filename to your database ์ถ์ฒ: https://stackoverflow.com/questions/16214190/how-to-convert-base64-string-to-image/16214280 How to convert base6.. 2021. 12. 8. ์๋ฐ์คํฌ๋ฆฝํธ - canvas base64 ๋ฐ์ดํฐ ์ถ์ถ var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // here is the most important part because if you dont replace you will get a DOM 18 exception. ์ถ์ฒ: https://stackoverflow.com/questions/10673122/how-to-save-canvas-as-an-image-with-canvas-todataurl How To Save Canvas As An Image With canvas.toDataURL()? I'm currently building a HTML5 web app/Phonegap native app.. 2021. 12. 8. ํ์ด์ฌ - ์ฌ๋ฌ๊ฐ์ ๋ฌธ์์ด ๋ณ๊ฒฝํ๊ธฐ import re txt = "Hi, my phone number is 089992654231. I am 34 years old. I live in 221B Baker Street. I have 1,000,000 in my bank account." def processString3(txt): txt = re.sub('[0-9]', 'X', txt) print(txt) processString3(txt) ์ถ์ฒ: https://www.delftstack.com/ko/howto/python/python-replace-multiple-characters/ Python์์ ๋ฌธ์์ด์ ์ฌ๋ฌ ๋ฌธ์๋ฅผ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ ์ด ๊ธฐ์ฌ๋ Python์์ ๋ฌธ์์ด์ ์ฌ๋ฌ ๋ฌธ์๋ฅผ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. www.delftstack.com 2021. 12. 8. ์๋ฐ์คํฌ๋ฆฝํธ - html ์คํฌ๋ฆฐ์ทํ๊ธฐ html2canvas https://html2canvas.hertzen.com/ html2canvas - Screenshots with JavaScript Try out html2canvas Test out html2canvas by rendering the viewport from the current page. Capture html2canvas.hertzen.com 2021. 12. 8. ์ด์ 1 ยทยทยท 48 49 50 51 52 53 54 ยทยทยท 60 ๋ค์ 728x90