목록list (398)
y0u_bat
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
[FC4] 2. cruel -> enigma 풀이 짤려서 안보이는데 리모트입니다. canary가 있네여. gdb로 보니 버퍼가 더미포함 260바이트네여.. 일단 대충 ret뒤에는 무조건 카나리가 들어와야 됩니다. 오타는 무시해주세요.. strcpy가 00을 만나면 복사가 거기까지 해서 끝기는데요.그래서 fake_ebp로 풀어야되는 문제입니다. 입력하는곳이 fgets이고 임시버퍼는 stdin입니다. 임시버퍼를 찾았습니다. 0x8cb740 이네요. 대충 a *260 해주시고, 실행 아까 구한 주소 stdin주소 넣으면 저렇게 나오는데,앞에 하나 하나 뒤지다가 입력한 값이 있는곳을 발견했데요.stdin 에서 4번째 부분을 보면 입력한 값들이 들어있는걸 볼수있는데요. 다시 실행해보면 알겠지만 저 값은 b7f[X..
[Python] 예외 처리 try ~ except 프로그램 실행중에 있어 에러가 발생 했을때 적절한 처리를 해주는게 예외 처리 이다. Python은 try ~ except로 예외처리를 할 수 있다. ex1) // try 코드 수행중 에러가 나면 에러 내용과 상관 없이 무조건 excpet 실행 try:~~except:~~ ex2) // try 코드 수행중 지정한 특정 에러가 날 경우 except 실행 try:~~except 에러명:~~ ex3) // try 코드 수행중 지정한 특정에러가 날경우 에러 내용 담는 변수생성 후 excpet 실행 try:~~excpet 에러명, 변수명:~~
[FC4] 4. dark_stone -> cruel 풀이 gate랑 문제는 같는거같다. ret sled로 풀었다. 버퍼는 더미가 없어서 256바이트 그대로 이다. ret의 브포걸고 ret까지 덮어서 실행시켜서 스택을 보면 주소값들이 랜덤으로 변경되는 걸 볼 수 있다. 여기서 고정된 값을 찾아야되는데, 고정된 값에서 3번째가 null인걸 찾아야 된다. 찾았으면 여기서 첫번째인 0x008cad3c에 쉘실행시키는파일을 심볼릭 링크로 걸어야된다. 심볼릭 링크 걸어주고, execl 함수 주소를 구해준다. 그리고 a * "260 + ret * 7 + execl 하면 쉘이 따진다. ret sled라는 개념은 이미 알고 있다고 생각하고 대충 넘어가서 설명한다. 클리어.
[Pwnable.kr] ascii_easy - 33pt 풀이 ulimit이 힌트네여. 자 0x80000000부터 4098바이트만큼 메모리 맵핑해줍니다저 mmap의 리턴값은 0x80000000 입니다.여기서 뒤에보면 do while문 나오는데 v6은 0x18F보다 작아서 IF문은 패스v3 = (v7+v6) 인데 v7는 아까 mmap의 리턴값이고 v6은 0이므로 v3은 0x80000000 입니다. *v3 = getchar(); 로 v3의 주소로 문자열을 입력받네여, 즉 0x80000000 주소에 입력 할 수 있습니다. is_ascii 함수가 32~127까지 16진수만 입력가능하게 해줍니다. 마지막 메인의 리턴보면 vuln으로 되어있는데 여기서 취약점이 일어납니다. dest라는 부분을 buffer 라고 생각합..
보호되어 있는 글입니다.
보호되어 있는 글입니다.