본문 바로가기

프로그램132

안전한 PHP 파일 업로드 구현 체크 리스트 1. Content Type 검증 $_FILES['uploadfile']['type']로 MIME type 검증 * PHP가 받아오는 MIME type은 웹브라우저가 넘겨주는 값을 그대로 쓴다. 대다수 웹브라우저들은 확장자로 MIME type을 결정하기 때문에 신뢰도가 떨어지는 건 어쩔 수 없다. 2. Image 파일 검증 $imageInfo = getimagesize($_FILES['uploadfile']['tmp_name']); getimagesize로 MIME type 검증하기 * 이미지 업로드시 쓰는 방법이다. 이미지라면 제대로 값을 return 해주지만 그렇지 않으면 return을 못한다. 3. 확장자 검증 $filename = $strtolower($_FILES['uploadfile']['na.. 2009. 9. 23.
mysqli 활용한 SQL Injection 예방 SQL Injection 예방을 위한 DB 쿼리 방식을 mysqli 를 활용하여 Executes a prepared Query 방식을 통해 안전한 DB 쿼리를 할 수 있다. 이에 대한 예제를 참고로 기존 코드 및 차후 코드를 변경하는 것이 보안성 및 편리성을 추구할 수 있다. 아래에서 동일한 기능을 하는 간단한 예제 두가지 방식을 제시한다. Example #1 Object oriented style Example #2 Procedural style 위 예제의 출력: Stuttgart (DEU,Baden-Wuerttemberg) Bordeaux (FRA,Aquitaine) 예제 출처 : http://kr.php.net/ 2009. 9. 21.
PHP V6 새로운 기능과 미래 PHP V6에서 등장할 새로운 기능과 PHP 스크립트에서 달라질 부분을 살펴보자 Nathan A. Good, 선임 정보 엔지니어, Consultant 옮긴이: 박재호 이해영 dwkorea@kr.ibm.com 2008 년 7 월 29 일 PHP 다음 버전인 V6는 객체 지향 관점에서 사용하기 쉽도록 새로운 기능을 제공하고 문법을 개선합니다. 또한 핵심 함수에서 유니코드를 지원하는 등 다국어 지원과 안정성이 한층 높아졌습니다. PHP는 이미 인기가 높다. (Netcfaft에 따르면) 수백만 도메인이 PHP를 사용하며, 대다수 ISP가 PHP를 지원하며, 야후!와 같이 대표적인 웹 회사에서도 PHP를 사용한다. 이에 PHP V6는 유용성과 안정성을 더욱 높여주는 새로운 기능을 제공하여 현재 성공에 박차를 가하.. 2009. 9. 17.
PHP 입력값 SQL 인젝션 예방 magic_quote_gpc Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically. 이것은 자동으로 addslashes() 를 하는 옵션입니다. 하지만 sql 문법에 완전히 맞지 않습니다. 물론 \ 로 escape 하는 문법을 지원해 주긴 합니다만, 원래의 문법은 아닙니다. 게다가 ; 는 escape 시키지 않으니 사소한 실수로 큰 보안구멍이 발생할 수 있습니다. *_escape_string() 각 sql .. 2009. 9. 17.
프로그램 취약성 점검 및 보안 코딩을 위한 방안 비교 1. 소스 보안 분석 툴 활용 포티파이 SCA(Fortify Source Code Analysis) 4.0 클록워크(Klockwork) K7,5, 온스 랩스(Once Labs)의 온스 4.1 아모라이즈(armorize)의 Securecode 컴퓨웨어(Compuware)의 DevPartner Security checker 사용시점 : 개발시 부터 활용 가능 사 용 자 : 개발자 적용기간 : 1주일 이내/Web Application 금 액 : 2~3천/개발자(최소 사용자수 제한으로 가격 매우 고가) 리 뷰 : 어플리케이션 보안의 가장 근본적인 대책은 소스보안 이라는 부분에서 접근하였으나 비용 측면에서 매우 고가이며, 툴은 툴 일뿐이라는 상식 을 벗어나지는 못함. 단 점 : 투자대비 효과 측면에서 타 솔루션과.. 2009. 9. 16.