Hacking

    Webhacking.kr - 34

    var a = ['RcOhTDV1Ew==', 'McOVwqpRBg==', 'c8K/w43DvcK8', 'SsOrTCF1CVDCgcKLEsKc', 'NsK/w4Bc', 'G1TDpwk=', 'AcKtwqfDlW7Dsw==', 'e3kkcQJfwoNFDEU9', 'QMOXDBo=', 'w5bCsWlh', 'eWY6bg8=', 'FnbDoEvDtl1LUkB7w4Q=', 'esOZTiPDsg==', 'bzfCkFfCtA==', 'ZmzDjHcn', 'PxLCm3LDvA==', 'IcKlVy9pw57DgMK3w6kmwpvCiUnDhcOKw4A=', 'LMKnwqECawEeEMOZQsK7wrLCscKpSG1AwqvDvjnDpMKhOSDCqQfDmVRowo1nwpzCh8OGc1vDv3cKVR/CgMK4w7PCukbC..

    Webhacking.kr - 4

    도대체 왜 30점 짜리 문제인지 모르겠다. 10000000 ~ 99999999를 md5로 500번 암호화 한 값이 저 위의 해쉬값과 같을때 {숫자}salt_for_you 이걸 질의로 보내면 풀리는 문제이다. 그러려면 10000000 ~ 99999999를 md5로 500번 암호화한 값을 다 저장해야되서 파이썬으로 코딩한뒤 하루동안 돌려서 레인보우테이블을 만들었다. from hashlib import sha1 with open("randowtables.txt", "w") as f: for i in range(10000000,99999999): a = 0 b = (str(i)+"salt_for_you") for j in range(500): b = sha1(b.encode('utf-8')).hexdigest(..

    Mobile - Cat

    이건 풀긴 풀었는데 왜 모바일문제인지 모르겠다 Misc쪽이 더 맞는거같은데 hmm.. 암튼 풀어보면 ab파일을 하나 준다. 이걸 풀어보면 이런게 나오는데 IMAG0004.jpg파일 그림안에 flag가 박혀있다;;; 이..이게 맞나...?

    Misc - misDIRection

    그냥 zip파일을 하나 준다 근데 이게 맥에서 안열려서 승준이한테 풀린 파일을 받았는데 이게 스노우볼로 굴러가버렸다.(사실 풀고보니까 unzip으론 풀리네 이게머다냐) 정석적인 방법으로 풀라면 일단 unzip으로 풀어보면 extracting: .secret/S/1 creating: .secret/V/ extracting: .secret/V/35 creating: .secret/F/ extracting: .secret/F/2 extracting: .secret/F/19 extracting: .secret/F/27 creating: .secret/o/ creating: .secret/H/ creating: .secret/A/ creating: .secret/r/ creating: .secret/m/ crea..

    WEB - Templated

    Flask로 만들어져있다고 한다. Jinja2는 Flask에 내장되어있는 템플릿 엔진이라고 하는데 문제이름도 템플릿이고 템플릿 엔진이라고 하니까 플라스크 템플릿 취약점이라고 구글링하니까 SSTI(Server Side Template Injection)라는 취약점이 있다. 이론적인건 나중에 보고 익스플로잇하는 방법들을 좀 찾아봤다. 가장 기본적으로 {{7*7}}을 넣어보니까 이렇게 49가 나온다 구글링을 해보니 리눅스 커맨드를 실행하려면 "{{ (config|attr("__class__")).__init__.__globals__['os'].popen('cat flag').read() }}" 이렇게 해야되는것 같으니 cat flag 자리에 ls를 넣었더니 flag.txt 가 바로 보인다. 똑같은 방식으로 c..

    WEB - Phonebook

    이런 창이 나온다 이문제는 지훈이랑 같이 풀었는데 지훈이가 "Reese" 이게 U sername이 아니냐고 해서 Reese를 Username에다 박고 Password를 막 입력하다가 *를 입력하니까 로그인이 됬다. 근데 여기서 flag를 어디서 얻어야되는지 모르겠어서 승준이한테 코딩해서 풀어야되냐고 물어봤는데 해서 풀어야된데서 {flag}*이런식으로 브루트포스 해서 풀어야되는것 같아서 파이썬으로 코딩했다. import requests s =requests.session() url = "http://167.99.88.212:31775/login" data = {"username":"Reese", "password":""} flag ='HTB{d' while True: for i in range(32, 12..

    WEB - Emdee five for life

    CU46KprqwPnVQ980ufJ5를 md5로 암호화해서 보내보면 Too slow란다. 그냥 requests모듈로 개빠르게 보내면 될꺼같아서 파이썬으로 짰다. import requests, hashlib from bs4 import BeautifulSoup url = "http://167.99.88.212:31375/" s = requests.session() a = s.get(url) soup = BeautifulSoup(a.content, "lxml") string = soup.h3.string md5 = hashlib.md5(string.encode()).hexdigest() data = {"hash":md5} b = s.post(url, data=data) print(b.text) 원래 세션을 ..

    Web - Server Side(HTML, Open redirect~Install files, File upload - Double extensions~HTTP - Cookies, File upload - Null byte,SQL injection - Authentication )

    HTML f12를 눌러 관리자도구를 키면 바로 flag가 보인다. 저걸 password에 박는게 아니라 그냥 flag에 인증해야된다. Open redirect 페이스북으로 리다이렉트 해주는데 다른곳으로 바꿔본다. 저 h파라미터 안에 들어가는게 hash값인거같은데 문자열이 32개인걸 보니 md5인것 같다. url에 맞는 md5해쉬값을 넣으면 풀린다 User-agent admin 브라우저를 사용하란다. 프록시 툴로 user-agent를 admin으로 바꾸면 풀린다 Weak password 걍 admin/admin 하니까 풀렸다. PHP - Command injection 드림핵에서 비슷한 문제를 본적이 있다. 이름부터 커맨드 인젝션이기 때문에 ip주소 다음에 ls를 쳐봤다. cat index.php를 하면 ..