webhacking.kr - old 33
·
Wargame/Webhacking.kr
문제 첫 화면이다 33-1........ 문제가 많다는 걸 여기서 깨달았어야 했는데.......[문제안에 문제가 많으니 천천히 보도록 하자] 들어가기 앞서 python request를 주로 이용해서 문제를 풀었기에 (그냥)문제풀이에 쓰인 코드들은 다 https://github.com/GrayOM/webhacking.kr_code GitHub - GrayOM/webhacking.kr_codeContribute to GrayOM/webhacking.kr_code development by creating an account on GitHub.github.com 여기에 전부 있습니다.           문제 시작 먼저 코드를 확인해 보자 일단 핵심코드는 $_GET으로 전달된 파라미터가 "hehe"라는 문자열인..
webhacking.kr - old 19 (JavaScript Space Filter)
·
Wargame/Webhacking.kr
문제 화면이다. 제출을 눌러보자. 당연한 결과다. 아무렇게나 입력해도 접속이 돈다. 다시 돌아와서 admin으로 접속을 시도했을 때 id를 확인하는 과정이 있었다. guest로 다시 실험해 보자. id 값을 guest로 바꾸니 guset로 접속되는 걸 확인할 수 있다. 그럼 admin에서 공백 필터링으로 우회를 시도해 보자. %09 : Tab (공백)
webhacking.kr - old 32
·
Wargame/Webhacking.kr
문제화면이다. 'Hit' 부분을 한번 눌러보자. 'Hit'이 1 증가한 걸로 보인다 마우스 클릭을 하면 증가하나 보다. 한번 더 누르니까 투표를 이미 했다고 뜬다. 다른 아이디도 누르니 똑같이 나왔다. 한번 누를 때마다 '? hit=tmdals7205'으로 들어가게 된다. 쿠키를 보니 'vote_check' value로 ok 가 되어있다. 아마 투표를 완료했으니 'ok'라고 뜬 거 같다. 'ok' 값을 지워서 다시 투표를 시도해 보자. 값을 공백으로 바꾸고 1등에게 투표를 했는데 아까 26이었던 'Hit'가 '27'로 변했다. 쿠키 값이 공백이면 투표권이 주어지는 거 같다. 일일이 지우면 비효율적이니까 python으로 코드를 작성해 보자. 'requests' 패키지를 이용해서 python을 가지고 HTT..
webhacking.kr - old 05
·
Wargame/Webhacking.kr
문제 화면을 보면 'Login' , 'Join'이 있다. 하나씩 눌러보자. 'Join'을 눌렀더니 'Access_Denied'이 뜬다 해당 페이지 소스코드를 한번 보자. 코드를 보니 'Login' 은 정상적으로 작동되는 거 같다. 'Login'을 눌러보자. 'login.php'에는 id, pw를 입력하여 login을 시도하는 거 같다. 그런데 경로를 보면 중간 상위 디렉토리에 'mem' 란게 존재한다 mem으로 한번 이동해 보자. 'mem' 디렉터리 에는 'join.php'가 있다 눌러서 한번 들어가 보자. 들어가자마자 'bye'가 출력된다. 이것도 아마 'alert'로 출력되는 거 같다 소스코드를 한번 봐보자. 읽기 힘들 정도로 난독화되어있는 거 같다. 가독성 있게 바꿔보자. l = 'a'; ll = ..
webhacking.kr - old 23
·
Wargame/Webhacking.kr
문제 화면이다. ' inject 하면 문제 해결이라고 합니다. XSS 관련 문제인거같다. 양심 없게 한번 써보자 어차피 필터링 어느 정도인지는 봐야 하니까. 당연히 막힌다. 다른 것들도 실험해 보자. [,,/,(),(,),1,;] 을 대입해 봤더니 정상적으로 출력이 되었고 [alert,script,img,table] 이러한 tag_name 종류들은 다 막힌 거 같다. (예시 보다 더 많이) 대문자도 물론 막힌다. 그 외 상관없는 문자, 문자열들은 정상적으로 출력이 된다. URL Encode으로 한번 해보자. 특수문자들은 필터링에 막히지 않으니 encode 해봤자 의미가 없다 그럼 공백을 한번 넣어보자. a%09l%09e%09r%09t(1); 안되네...... tab 이 막힌다면 띄어쓰기인 '%20'도 막..
webhacking.kr - old 25 (PHP wrapper [LFI])
·
Wargame/Webhacking.kr
문제화면이다. Linux에서 'ls -l' 명령어를 친듯한 모습이 보인다. ? file=hello로 되어있으니 flag로 이동해서 확인해 보자. flag에서 확인해 본 결과 플래그는 코드 안에 있다고 나와있다. 그러면 코드를 확인할 수 있어야 하는데 php wrapper를 이용해서 확인해 보자. php wrapper는 데이터의 앞에서 어떤 막(?)을 감싸 주는 데이터 또는 다른 프로그램이 실행되도록 설정하는 프로그램이다. 그리고 php wrapper를 이용한 LFI(Local File Inclusion) 공격에 대해서 알아봐야 한다. LFI = 웹 브라우저를 통해 서버에 파일을 포함시키는 과정 대부분의 LFI 취약점은 URL를 통해 이뤄진다. LFI 공격 형식은 'www.[sitename]. index...
webhacking.kr - old 27 (SQL INJECTION)
·
Wargame/Webhacking.kr
문제 화면이다. 소스코드를 확인해 보자. SQL INJECTION
webhacking.kr - old 54
·
Wargame/Webhacking.kr
문제를 포면 Password 가 '?' 칸에 한 글자씩 출력되면서 사라진다. 소스 코드를 확인해보자. function run(){ if(window.ActiveXObject){ try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { return null; } } }else if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else{ return null; } } x=run(); function answer(i){ x.open('GET','?m='+i,false); x.send(..