gremlin
-
Level2 (gremlin -> cobolt)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:12
소스 코드를 확인해 보겠습니다. 소스코드가 매우 level1과 같습니다. 똑같은 방식으로 풀이을 해보겠습니다. 이번에도 dummy 없이 정확히 16인것으로 보아 Buffer + SFP + RET 형식으로 되어 있습니다. 환경변수에 쉘코드를 입력해 보겠습니다. 사용한 쉘코드는 25바이트의 쉘코드 입니다. \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 해당 sh이름의 환경변수의 주소를 찾기 위해서 코드를 작성해 보겠습니다. gcc -o 를 이용해서 컴파일해서 실행해 보겠습니다. 페이로드를 작성해 보겠습니다. login : cobolt Password : hacking expo..
-
Level1 (gate -> gremlin)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:10
시스템 해킹을 매우 하기 싫었지만.. cve 분석을 해야하는데 거의 대부분의 cve에는 시스템해킹적인 요소가 포함되어 있어서 열심히.. 해야할거 같습니다. login : gate Password : gate gremlin 실행파일과 해당 실행파일의 소스코드인 gremlin.c가 존재 합니다. 주석처리로 되어있는 부분을 보면 기본적인 BOF 라고 설명이 되어 있습니다. buffer의 크기는 256으로 되어있고 취약점 함수인 strcpy가 사용 되어 있습니다. strcpy함수를 이용해서 bof를 실행 시키면 될 것 같습니다. 한번 gdb를 이용해서 한번 확인해 보겠습니다. FTZ를 했던 저는 할당 값이 dummy 가 없는 256 이라는 점에서 좀 당황스러웠습니다. 그 이유는 gcc의 버전이 낮아서 dummy..
-
[Lord of SQL_injection] #1 gremlin$ 웹 해킹 $/los.rubiya.kr 2019. 2. 10. 22:44
php코드가 제공되어 있습니다. If($result['id']) solve("gremlin")에서 id의 결과값이 있다면 해결되는 문제 입니다. 하지만 query를 보면 select id from prob_gremlin where id='' and pw='' 에서 id와 pw가 and로 연결 되어 있기 때문에 두값이 전부 참이어야 한다는 것을 알수 있습니다. 파라미터값에 id = "1"을 넣어 보겠습니다. 파라미터값을 1개 넣을 때는 ?id=1과 같이 ?를 사용해 줍니다.파라미터 값에 따라서 query에 나타나 있습니다. 이번엔 id=1와 pw=1을 넣어 보겠습니다.하지만 query빼고는 달라진 점이 없습니다. Id의 값이 무엇이든 간에 pw가 참이어야 할것 같습니다.파라미터를 다음과 같이 ?id=1&p..