목록분류 전체보기 (205)
Bace

이전 문제인 gate에서 구한 gremlin과 PW인 hello bof world를 통해 들어간다. ID : gremlin PW : hello bof world 파일 목록을 보면 cobolt와 cobolt의 소스가 들어있다. gate와 전체적인 내용은 같지만 이번엔 buffer 크기가 16 byte이다. mkdir tmp cp cobolt tmp/ 명령어를 통해 일단 파일을 복사한다. buffer의 크기는 16 byte SFP 크기는 4 byte이므로 ./cobolt `python -c 'print "\x90"*20+"\x61\x61\x61\x61"'` 을 해주면 segmentation fault가 뜬다. gdb -c core 명령어를 통해 들어가본다. RET 에 들어간 0x61616161 가 뭐냐고 물어..

문제를 들어간다. ID : gate PW : gate로 접속한다. vi gremlin.c 위의 프로그램은 ./실행파일, 인자 를 넣어서 실행하는 파일로, 인자를 넣지 않는다면 error, 인자를 넣는다면 인자를 그대로 출력해 주는 프로그램이다. 하지만, strcpy를 통해 buffer의 크기인 256을 넘어가면 문제가 생기게 된다. - GDB 처음 gdb로 확인하려면 자신의 권한으로 까야하기 때문에 main 페이지에 있던 gremlin 파일을 디렉터 리를 새로 만들어서 복사한다. mkdir tmp cp gremlin tmp/ 복사를 하고 나면 소유자와 그룹이 gremlin 이었던 파일이 자신의 이름인 gate와 gate로 바뀐 것을 볼 수 있다. 이제 gdb를 실행할 수 있다. gdb gremlin gdb..

문제를 들어가면 hello.php 로 접속되어 있다. flag를 보면 이게 있다. flag.php를 보면 아무것도 나오지 않는다. flag를 보았을 때 코드 안에 있다고 하니 php에 관련된 것 같아 php wrapper를 찾아보았다. php://filter/convert.base64-encode/resource=파일경로 로 주면 된다고 한다. 주소 창에 아래와 같이 쳤다. http://webhacking.kr:10001/?file=php://filter/convert.base64-encode/resource=flag 문자열이 나왔다. base64로 디코딩하면 Flag가 뜬다. FLAG{this_is_your_first_flag}

문제를 들어가면 Login과 Join이 나온다. login을 누르면 로그인 창이 나오지만, join을 누르면 Access_Denied가 뜬다. 소스를 보면 join 버튼의 onclick에 no를 줘서 Access_Denied가 뜨는거다. 로그인 창에서 admin / admin 으로 로그인 해보았다. wrong password가 뜬다. 이상한 아이디로 로그인해도 wrong password가 뜨는거 보니, join 페이지에서 회원가입을 해야하는 것 같다. 메인 페이지 소스를 수정해보았다. Access_Denied는 뜨지 않지만 아래와 같은 소스가 나오면서 bye가 나온다. llllll -> 이것들을 더해서 문자를 만드는 것 같다. 해석해보면, if(eval(document.cookie).indexOf(old..