/lib/x86_64-linux-gnu/libc.so.6 을 삭제했었다.
심볼릭 링크파일이어서, libc-2.31.so말고 워게임에 나오는 libc-2.27.so를 심볼릭 링크하려고 했었다.
sudo rm /lib/x86_64-linux-gnu/libc.so.6하고
sudo ln -s ~/Unix/dreamhack/systemHacking/uaf_overwrite libc.so.6 를 하려고 했는데
엥? libc.so.6이 없단다.
그래서 인터넷을 뒤져서
LD_PRELOAD=/lib/x86_64-linux-gnu/libc-2.31.so ln -s /lib/x86_64-linux-gnu/libc-2.31.so /lib/x86_64-linux-gnu/libc.so.6
라고 명령하면 된다 하더라.
그런데 웬걸. 권한이 없단다. 현재 쉘을 root로 실행시켜놓질 않아서 그런가보다.
하지만 LD_PRELOAD=/lib/x86_64-linux-gnu/libc-2.31.so sudo su를 하면, libc.so.6이 없단다.
막다른 골목에 다달았다.
또 인터넷을 뒤져보니, ubuntu live usb를 만들어서 mount해서 복구해야한다고 한다. 그래서 다이소에 가서 5천원짜리 sandisk샀고, windows11에서 iso다운받고 ubuntu usb만들었다.
컴퓨터 bios에서 usb를 우선순위 1위로 해놓고 try ubuntu와 install ubuntu중에 try ubuntu를 한다.
이것과 비슷한 화면일것이다.
그리고 정상적으로 바탕화면이 나온다면, 터미널을 실행해서 어디가 리눅스 디바이스인지 알아낸다. 나의 경우에는 /dev/sdb4이다.
마운트 할 디렉토리를 만든다. 나는 /mount로 했다.
/dec/sdb4를 /mount디렉토리에 마운트한다.
/mount디렉토리에 들어가면 내 하드디스크의 폴더들에 접근가능하다!
이제 ln -s /mount/lib/x86_64-linux-gnu/libc-2.31.so /mount/lib/x86_64-linux-gnu/libc.so.6 하면 끝!
다시 bios에서 ubuntu로 우선순위를 바꾼 후 부팅하면 정상부팅된다! 다른 명령어들도 잘 먹힌다~
'Linux > 기본기능과 명령어' 카테고리의 다른 글
셸 변수와 환경 변수 (1) | 2024.01.26 |
---|---|
man 명령 (0) | 2024.01.25 |
debian 이란? (0) | 2023.03.17 |
shell script 파일 리스트 가져오고 md5sum 명령실행 (0) | 2022.05.16 |
파일 아카이브와 압축 명령 (0) | 2021.02.09 |