Vampire
-
Level10 (vampire -> skeleton)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:27
이번 문제는 ultra argv hunter 라는게 추가가 되었는데... 버퍼의 전범위를 초기화 하는 강력한 기능이다.. 이번에는 쉘코드를 어디다가 넣어야 할까.. 위와 같이 똑같은 실행파일을 하나 만들어주고 gdb -q 옵션으로 디버깅을 한번 해봐야 겠다. $esp 값을 문자열로 한번 확인해 보자. 혹시 쉘코드를 가지고 있는 주소가 있을 수도 있으니까? x/2000s $esp 로 확인하다가 거의 끝쪽에 현재 gdb로 열고있는 파일명이 들어가 있는 변수를 찾았다. 변수 명에 쉘코드를 넣어서 문제를 해결해야 할것 같다. 원본 파일의 파일명을 변경하면 위험할 수 있기 때문에 ln -sf 명령어를 이용해서 원본 파일에 심볼릭링크를 걸어서 문제를 해결하면 될것 같습니다. 해당 심볼릭 링크 파일에 core dum..
-
Level9 (troll -> vampire)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:25
코드를 확인해보면 argv[1][46]가 \xff면 안된다는 구문이 추가가 되어있습니다. \xff\xbf 를 피하기 위해서 NOP Sled 를 이용해서 쉘코드 중간에 NOP를 10만개 정도 넣어 보겠습니다. 위와 같이 core dump를 생성하고 쉘코드 앞에 적은 \x90 주소중 아무거나 하나 정해서 RET에 적으면 클리어가 됩니다. login : vampire password : music world
-
[Lord of SQL_injection] #9 vampire$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:10
8번문제와 비교를 해봤을때 8번에서 언급한 대소문자 차이로 인한 우회법은 통하지 않을 것 같다.. strtolower로 인해서 모두 소문자가 되기 때문이다. 하지만 어디에나 취약점이 있는법 이번에 필터링 하는 함수명은 str_replace이다. 그렇다는 것은 admin 만 공백으로 치환한다는 것이기 때문에 다음과 같이 우회할수 있다. ?id=adadminmin 이다. 그 이유는 한 문자열당 필터링이 1번만 된다는것을 이용하는 것이다. adadminmin에서 필터링이 완료된 문자열은 가운데 admin을 제외한 겉부분의 admin 이다. 그래서 우회가 가능한 것이다.