본문 바로가기

프로그램132

GDB를 사용한 CORE 파일의 분석 프로세스가 비정상적으로 종료될 경우, core 파일을 통하여 원인 분석을 할 수 있으며, 프로세스가 비정상적으로 종료될 경우, core 파일을 남길지 여부는 다음과 같은 명령어를 통해서 설정이 가능합니다. [step 1] 비정상 종료 되는 샘플 프로그램 작성#include #include void Abnormal() { int n = 1024; char *p = (char *)malloc(sizeof(char) * 1); free(p); free(p); /* double free */ } void AbnormalContainer() { Abnormal(); } void Normal() { printf("normal function.\n"); } int main(int argc, char **argv) {.. 2009. 3. 1.
[Paros] 개발자가 알아야 할 웹 보안 SQL Injection, 파라미터 변조, 쿠키 변조, 세션 변조 공격 등으로부터 필자가 개발 중인 블로그 형태의 "바투"라는 웹 사이트가 얼마나 안전한지, 문제점은 무엇인지에 대해 알아보자. 1. SQL Injection SQL Injection 공격으로부터 사이트를 보호하기 위해서는 우선적으로 다음 3가지 과정을 지켜야 한다. ① DB 최소권한으로 웹 사이트를 운영한다. ② 입력값 검증( ' " ) # || + > )을 통해 SQL Injection 공격을 대비한다. ③ 저장 프로시저(Stored Procedure)를 이용한다. 바투 웹 사이트에서 테스트 결과 SQL Injection에 대한 공격이 발생하지 않는다. 모든 데이터 처리를 저장 프로시저로 처리하기 때문에 ' or 1=1 등과 같은 공격이.. 2009. 2. 27.
유닉스를 능숙하게 사용하기: 고급 셸 스크립트 기법 한번 더 셸 스크립트를 제대로 느껴보자 유닉스에는 길고 따분한 작업을 단순하게 만들기 위해 작업을 자동화하는 셸 스크립트가 있습니다. 이 기사는 셸 스크립트를 좀 더 제대로 배우기를 원하며 고급 스크립트를 작성하는 방법이 궁금한 독자들에게 팁을 제공합니다. 다른 유닉스 운영체제나 리눅스와 마찬가지로 IBM AIX 운영체제는 시스템 관리자, 개발자, 사용자가 일상 업무를 처리하고 고객 비즈니스를 단순하게 만들기 위한 여러 가지 강력한 도구를 제공한다. 유닉스에는 길고 따분한 작업을 단순하게 만들기 위해 작업을 자동화하는 셸 스크립트가 있다. 몇 년 동안 유닉스에서 셸 스크립트를 끼적거려 본 경험이 있을지라도 주로 운영체제 안팎을 파느라고 스크립트를 마스터하지는 못했을 것이다. 이 기사는 셸 스크립트를 좀 .. 2009. 2. 17.
DTrace 를 이용한 Ajax/자바 어플리케이션의 완벽한 추적 Amit Hurvitz, 2007년 7월 Ajax 와 DTrace 가 만나는 곳 Ajax 는 새롭게 급부상 하고 있는 신기술로 Google Map 같은 어플리케이션의 등장에 의해 크게 탄력을 받고 있습니다. Ajax 는 브라우저와 서버 간의 코드 수준의 상호작용을 높임으로써 Google Map 같은 웹 어플리케이션을 좀 더 상호작용적으로 만들어 줍니다. 서버와의 대단위 통신은 퍼포먼스 이슈를 이해 하기 어렵게 만들 수 있습니다. 종종 여러분은 호출 흐름을 이해하고 자바스크립트와 서버 메소드(아마도 자바로 쓰여진) 에서 소비되는 시간을 확인할 필요가 있습니다. 이러한 경우 DTrace 가 도움을 줄 수 있습니다. DTrace 는 솔라리스 (10 혹은 그 이상)에서 스크립팅 능력을 가진 추적 설비로 시스템과.. 2009. 2. 17.
AlexaSiteThumbnail Web Services class alexa extends webservices { public function thumbnail() { $query = $this->parameters['url']; // full url $domain = 'http://' . parse_url($query,PHP_URL_HOST) . '/'; // just the main domain page $urls = array($query,$domain); $access_key_id = $this->setting_variable('apikey.amazon.access_key_id'); $private_key = $.. 2009. 2. 11.