- Today
- Total
Phantom
음…우선 공유메모리가 무엇인지부터 알아야겠다 한 공간을 여러 프로세스가 공유 한다는 것으로만 알았지 이런 실습적인 부분은 아직 본적이 없어서…;; 자 그럼 이제 공유하고 여럿이서 사용할 수 있다는 것도 알았다 그럼 어떻게 공유를 하고 사용할 것인가 우선 공유메모리 함수부터 봐야 알 것 같다 #include #include Shmget() – 공유메모리 생성 접근 Int shmget(key_t key, int size, int shmflg); Key_t key : 공유 메모리를 구별하는 식별 번호 Int size : 공유 메모리 크기 Int shmflg : 동작 옵션 IPC_CREATE : key에 해당하는 공유 메모리가 없다면 새로 생성한다 IPC_CREAT값을 입력한 후 |(pipe) 연산자를 덧붙여 ..
먼저 level10소유의 파일을 먼저 찾는다 디버깅을 하려했지만 권한이 없다 어차피 소스코드가 있으니 컴파일하고 디버깅한다 이번 문제는 다른 내용들은 크게 중요하지 않다 먼저 스택 프레임, 즉, 프로그램이 로딩될 때 얼마의 용량을 차지하는지에 대한 부분을 볼것이다 0x28, 40바이트가 할당된다 소스코드를 보면 char buf2[10]; char buf[10]; 이렇게 총 20바이트가 할당된다 더미가 들어간다는 것이다 그럼 더미가 어디에, 얼마나 들어가는지 알아보자 저 부분을 보면 ebp-40에 fget함수를 사용하고 0x10을 정리한다 즉 ebp-40부터 10만큼을 사용하는 것이다 그리고 ebp-24를 strcmp에 사용하면서 0x10을 정리한다 ebp-24부터 10만큼 사용하는 것이다 소스코드를 보면..
힌트를 보고 조금 멍했다 단서는 용량이 2700이라는 것 find에 용량으로 검색하는 것이 있나 찾아봤는데 있더라. 그래서 그걸 이용했다 Find / -size 2700 2>/dev/null 결과는 아무것도 안나왔다 네이버에 검색해보니 단위가 c, b, k등등 여러 가지가 있더라 그래서 그걸 이용해봤다 C와 b는 아무것도 나오지 않았다 저기서 /etc/rc.d/found.txt라는게 관심이 간다 무엇인지 열어보자 level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 진짜 shadow 파일이다 이걸 이용해 패스워드를 얻으라 비밀번호의 salt세글자 $1$를 보니 MD5인 것 같다 John-the-ripper 를 이용하자 VM에 ..