Unix

pchero on 4월 13th, 2011

프로그램 TEST 중 아래와 같은 오류가 발생했다. 결과는 Core dump. jonathan@jonathan-laptop:~/workspace/TEST$ ./TEST *** stack smashing detected ***: ./TEST terminated ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0×50)[0xb775c390] /lib/tls/i686/cmov/libc.so.6(+0xe233a)[0xb775c33a] ./TEST[0x804a2f4] ./TEST[0x8049189] ./TEST[0x8049258] ./TEST[0x8049205] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb7690bd6] ./TEST[0x8049081] ======= Memory map: ======== 08048000-0804f000 r-xp 00000000 08:05 7344439    /home/jonathan/workspace/TEST/TEST 0804f000-08050000 r–p 00007000 08:05 7344439    /home/jonathan/workspace/TEST/TEST 08050000-08051000 rw-p 00008000 08:05 7344439    /home/jonathan/workspace/TEST/TEST 08051000-080fd000 rw-p 00000000 [...]

Continue reading about stack smashing detected

pchero on 9월 2nd, 2010

 Linux/Unix 프로그래밍을 하다보면 GCC 버전에 영향을 받는 경우가 있다.  예를 들면 ACE 라이브러리를 컴파일 할 경우, gcc-4.x 대의 버전에는 컴파일 오류가 발생한다.  그래서 부득이 gcc/g++ 을 다시 설치하려고 해도 여의치 않는 경우가 많다. 이럴 경우 다른 배포판을 찾아보게 되는데, 여기에 배포판마다 가지고 있는 gcc의 버전 정보를 싣는다. Distribution Version Compiler version Provided by Date BeOS [...]

Continue reading about 배포판에 설치된 GCC 버전정보

pchero on 8월 11th, 2010

 KLDP 에서 자료를 검색하던 중 GDB와 관련된 매우 유용한 글타래를 발견하고 여기에 링크를 걸어둔다.  http://kldp.org/node/71806

Continue reading about GDB 사용 관련

pchero on 7월 10th, 2010

 * fwsnort 탐지와 psad 동작의 결합  fwsnort는 공격을 탐지하면 iptables 로그 메시지를 생성한다. 이 메시지는 사용자에게 해당 로그 메시지를 촉발한 스노트 규칙 ID, fwsnort 체인내의 규칙 번호, 패킷이 수립된 TCP 세션의 일부인지 여부를 알려주는 로그 접두어를 포함한다.  ** WEB-PHP Setup.php access 공격  스노트 규칙 ID 2281은 미디어위키 소프트웨어(원래는 위키피디아를 보조하기 위해 설계된 소프트웨어다. http://en.wikipedia.org/wiki/Mediawiki 참조)의 [...]

Continue reading about 11.psad와 fwsnort의 결합

 * 들어가며..  스노트 규칙을 항상 깔끔하게 변활할 수는 없으며, 스노트 규칙 언어는 매우 복잡하기 때문에 fwsnort는 스노트 버전 2.3.3 에 포함된 규칙의 약 60% 정도를 변환할 수 있다.  fwsnort가 전체 스노트 서명 집합을 iptables 규칙으로 변활할 수는 없지만 fwsnort 는 항상 네트워크 트래픽에 인라인으로 배치된다. 스노트는 주로 수동적 전략으로 배치되며 네트워크 트래픽에서 수상한 활동을 감시하는 [...]

Continue reading about 9.스노트 규칙을 iptables 규칙으로 변환

 scanf 로 문자열을 받고 나면 공백으로 구분되서 남은 문자들이 아직 버퍼에 남아 있기 때문에… fflush(stdin); 을 해줌으로써 버퍼를 비워주는 프로그래밍 기법이 있다.  하지만 이것은 엄밀히 말하면 틀린것이다. 더 정확히 이야기하자면 VC 에서만(아마도..) 된다.  사용자들의 편의를 위해 VC에서 확장의 개념으로 만든것이라 생각하면 이해가 쉬울 것이다.  그렇다면 왜 이것이 안되는 것일까? C FAQ 12.26을 보면 다음과 같은 [...]

Continue reading about 리눅스(Unix)에서 fflush(stdin) 사용시 발생하는 문제점.