본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-

전체 글136

webhacking.kr 12번 문제 chrome console를 이용하여 쉽게 소스 코드를 확인 할 수있습니다. url을 이용해서 여러가지 연산을 하는데요하나 하나 다 해석해도 좋지만, chrome의 console기능을 이용해서 쉽게 문제를 풀 수 있습니다. 해석 enco='';enco2=126;enco3=33;// 위는 변수에 각각을 대입하는 것입니다.ck=document.URL.substr(document.URL.indexOf("=")) 순차적으로 해석하면 document.URL.indexOf("=")는 현재 URL에서 "=" 문자열의 인덱스 값을 가져오는 것입니다.하지만 URL에 "="가 존재 하지 않으므로 -1doucument.URL.substr(-1)은 1입니다.ck에는 1이 들어가게 됩니다. 아래 if문에서 ck를 == 연산자를.. 2017. 6. 13.
webhacking.kr 11번 문제 풀이 안녕하세요 :) webhacking.kr 11번 문제를 풀어보도록 하겠습니다. 일단 문제는 아래의 정규식에 알맞게 출력하면 됩니다. 아래와 같은 정규식을 맞추기 위해서는 정규식을 공부해야 하는데요 https://wikidocs.net/4308 여기서 정규식을 보고 공부하시면 됩니다.테스트는 http://www.regular-expressions.info/javascriptexample.html 저는 이런식으로 정규식을 이용했습니다. 2017. 6. 13.
LOB 8 vampire -> skeleton 안녕하세요 :) 문제 tip스텍을 다시 천천히 보자 코드 쓱싹 변경 사항ultra argv hunter! argv에 있는 모든 내용을 삭제합니다. ㅠㅠ 하지만 심볼릭 링크(shell code)를 걸어 놓고 gdb를 통해서 스텍을 훑어 보면 argv 말고도 다른 공간에 argv[0]의 내용이 저장되어 있습니다. (왜 적제 되는지는 잘 모르겠습니다 ㅠㅠ.) 위는 core dump를 통해서 실제 스텍 주소를 찾은 것입니다. (심볼릭 링크 포함) shell 냠냠:) 2017. 6. 12.
LOB 7 troll ->vampire 안녕하세요 :) 문제 tip 1. 버퍼에 엄청 많은 값을 입력하면 주소는 어떻게 변할까? 코드 쓱싹변경 사항 if(argv[1][46]=="\xff")이면 종료 시킨다. 이번 문제는 단순하면서도 재미있습니다.지금까지 풀었던 문제에서 ret에 담는 주소는 bffff~와 같은 형태였습니다.근데 argv[1][46]이 \xff이면 프로그램을 종료시킵니다.이를 우회 할 수 있는 방법은 엄청 많은 데이터를 입력 하여 주소를 정상적으로 \ff가 아니게 만들면 됩니다. (tmp 폴더에 복사 후 core dump를 통해 주소 값을 알아냅니다 :> ) 위와 같이 NULL을 100000개 넣어주면 0xbffe~ 주소까지 채울 수 있습니다. shell 쓱싹 :) 2017. 6. 12.
LOB 6 orge->troll 안녕하세여 :) 문제 tip 1. 스텍에 올라가는 것들은 무엇이 있을까2. 심볼릭 링크란?$ln -s ./troll ./link_troll 코드 쓱싹 변경 된 사항 argv[1]!=2 가 되면 프로그램을 종료시킵니다. /tmp 폴더에 복사한후 gdb를 통하여 스텍에 올라와 있는 값들을 확인 합니다.그러면 아래와 같이 /tmp/./troll이 보이시나요 ? (gdb) x/1000s $esp-1000 이와 같이 argv[0]이 stack에 올라간다는 것을 알 수 있습니다.페이로드 구조는 argv[0]+A*44+"shell code 주소" 여기서 argv[0]은 심볼릭 링크를 걸어준파일 명입니다.심볼릭 링크는 윈도우에서 바로가기 라고 생각하시면 됩니다. core 파일을 통해서 argv[0]의 주소를 찾을 수 .. 2017. 6. 12.
lob tips (풀기전 알아야할 것들) 안녕하세요 포너블을 다시 공부하기 위해서 lob를 정주행 하고 있습니다. 그전에 lob를 풀기 전에 알아야할 사전 지식? 을 포스팅 할까 합니다.요약1. /bin/bash22. cp ./문제 /tmp/3. gdb -c core gate-> gremlin 문제로 예시를 들겠습니다. 1. /bin/bash2 lob의 모든 문제는 shell 창에 /bin/bash2를 입력하고 하셔야합니다.이유는 정확히 모르겠으나 아래의 예시를 보면 알 수 있습니다. 동일한 페이로드(/bin/bash2 일 때 정상적으로 shell을 얻음) (기본 bash2 일 때 shell을 얻지 못함) 2. 권한 문제lob를 풀기 위해서는 gdb라는 툴을 이용합니다.하지만 주어진 문제에 gdb로 실행 시켜보면 아래와 같이 debug를 할 수.. 2017. 6. 12.