본문 바로가기

분류 전체보기

(129)
LOB 8 vampire -> skeleton 안녕하세요 :) 문제 tip스텍을 다시 천천히 보자 코드 쓱싹 변경 사항ultra argv hunter! argv에 있는 모든 내용을 삭제합니다. ㅠㅠ 하지만 심볼릭 링크(shell code)를 걸어 놓고 gdb를 통해서 스텍을 훑어 보면 argv 말고도 다른 공간에 argv[0]의 내용이 저장되어 있습니다. (왜 적제 되는지는 잘 모르겠습니다 ㅠㅠ.) 위는 core dump를 통해서 실제 스텍 주소를 찾은 것입니다. (심볼릭 링크 포함) shell 냠냠:)
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 쓱싹 :)
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]의 주소를 찾을 수 ..
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를 할 수..
LOB 5 (darkelf -> orge) LOB darkelf -> orge 문제 풀이 1. 소스코드 분석 문제는 동일 합니다. 하지만 달라진 것은 argv[0]의 길이가 77이 아닐 때 종료 시킨다는 것 입니다.if(strlen(argv[0]!=77){} 그럼 일단 우회 하는 방법으로는 .//////////////////////(77개) 로 하는 방법이 하나 있습니다.(./orege == .//////////////////////orege) 다른 방법으로는 심볼릭 링크가 있는데 저는 1번째 방법으로 풀어 보겠습니다. 권한 문제 때문에 /tmp 폴더로 복사합니다.gdb를 실행 시킬 때는 /의 갯수가 67개여야 합니다. 77-10(/tmp/.oreg) 확인을 해보면 정상적으로 종료되지 않고 프로그램이 돌아가는 걸 알 수 있습니다. 자 그러면 페이..
SSG CTF 2017[noitcejni] payload 및 후기 페이로드 문제 소스 코드 및 문제 설명(payload/2017_ssg_noitcejni.pdf)https://github.com/intadd/noitcejni 안녕하세요 올해에도 SSG CTF가 개최 되었습니다. !!!!!!! 저는 noitcejni[web 250]을 출제했습니다. 이름은 noitcejni (사람들은 다 notic jni 라고 생각하시더라고요 ㅠ) 하지만 noitcejni는 reverse("injection") 입니다. ㅋㅋㅋㅋ 그냥 제 페이로드에 reverse() 라는 mysql 함수를 많이 사용하기 때문에 이름을 이렇게 만들었습니다. 후기.열심히 만들었는데 솔버가 0... 슬펐습니다.사실 PHP magic 해쉬를 이용해서 간단한 문제를 만들어 볼까 했습니다만은, 작년에 선배님께서 문제..
OWASP 취약점 정리(4/10) 취약점 직접 객체 참조 웹 취약점 종류(OWASP TOP 10)1. 어떤 상황에서 이 취약점이 발생하는지2. 어떻게 공격 해야하는지3. 취약점이 미치는 영향 1. OWASP란?Open Web Application Security Project의 약자이다.OWASP란 오픈소스 웹 애플리케이션 보안 프로젝트로, 주로 웹에 관한 정보노출,악성 파일 및 스크립트, 보안 취약점 등을 연구한다. 2.4 insecure Direct Object References (취약점 직접 객체 참조) 직접 객체 참조는 개발자가 파일, 디렉토리, DB 키와 같은 내부 구현 객체를 참조하는 것을 노출시킬 때 발생한다. 접근 통제를 통한 확인이나 다른 보호 수단이 없다면, 공격자는 노출된 참조를 조작하여 허가 받지 않은 데이터에 접근 할 수 있는 취약점이..
OWASP 취약점 정리(3/10) XSS 웹 취약점 종류(OWASP TOP 10)1. 어떤 상황에서 이 취약점이 발생하는지2. 어떻게 공격 해야하는지3. 취약점이 미치는 영향 1. OWASP란?Open Web Application Security Project의 약자이다.OWASP란 오픈소스 웹 애플리케이션 보안 프로젝트로, 주로 웹에 관한 정보노출,악성 파일 및 스크립트, 보안 취약점 등을 연구한다. 2-3) Cross-site Scripting (XSS) 크로스 사이트 스크립팅이란 신뢰 할 수 없는 데이터를 적절한 검증이나 제한 없이 웹 브라우저로 보낼 때 발생하며 공격자가 피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 이동하게 하는 할 수 있는 취약점이다. 2-3-1) 예제코드일단 xss 란..