본문 바로가기

php개발자(백엔드) /PHP 보안4

XSS와 CSRF 방지 모듈 개발-1 [XSS와 CSRF 방지 모듈 개발-1] 어떤 폼에다가 클래스나 함수를 하나 넣으면 필요한 방지 시스템이 구축되어있다면 얼마나 좋을까?물론 전문적인 보안업체 프로그램을 넘어설만큼의 수준은 아니겠고, 또 만들어놓는다 한들 해커의 공격을 잘 막으리라는 보장은 없다. 눈앞에 당장 간단하게 몇 단계만 만들어놓는 정도로 2-3일의 작업기간을 가지고 진행하려 한다. 모듈에 들어갈 기능을 정리해본다. 1. 사용자 input값 유효성검사- 스크립트 코드를 포함한 특수문자 필터링- 스마트에디터에 입력한경우 스크립트 코드처리- 파일 업로드시 업로드 경로 변경여부 확인- 업로드가 허용된 확장자 설정 2. 폼 요소- 폼에 사용되는 action값 변경여부 확인- 폼 안에 input hidden값을 하나 추가하여 hidden 태.. 2017. 2. 2.
CSRF 기초 [CSRF(Cross-Site request forgery) 기초] XSS가 자바스크립트를 실행시키는거라면 CSRF는 특정한 행동을 시키는 거다. CSRF는 사이트간 요청위조로 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 웹서버를 공격하는 형태로 사용자를 통해 공격을 한다. 사용자의 권한으로 악성공격 수행. 불특정 다수가 피해를 입는것이 특징이다. 개발자가 폼에서 설정해준 action값을 해커가 원하는 링크로 바꾸어 사용자가 submit을 할때 수정,삭제, 등록등의 행위를 하게 한다. 그리고 파일을 업로드 할경우 개발자가 설정한 루트에 업로드 하지 않고알아낸 루트로 변경하여 악성 프로그램을 업로드하는 경우가 CSRF공격에.. 2017. 2. 2.
크로스 사이트 스크립팅(XSS) [크로스 사이트 스크립팅(XSS)] 1.정의 : 가. 사용자가 입력한 정보를 출력할 때 스크립트가 실행되도록 하는 공격기법이다. 다른 사이트로 어떤 정보를 전송하는 행위가 주로 일어나기 때문에 사이트간 스크립팅이라는 이름을 가지고 있다. [출처 : https://opentutorials.org/course/692/3961 ] 나. 애플리케이션에서 브라우저로 전송하는 페이지에서 사용자가 입력하는 데이터를 검증하지 않거나, 출력 시 위험 데이터를 무효화 시키지 않을 때 발생한다 [출처 : OWASP] 2. 공격 종류가. 저장 XSS 공격 : 게시판 같은 곳에서 사용자 입력 폼에 악성 스크립트 태그를 포함하여 게시글을 서버에 업로드 시켜놓고 다른사용자가 페이지를 읽는 순간 브라우저를 공격하는 방식 나. 반사 .. 2017. 1. 31.
PHP 보안 - 서론 [PHP 보안 - 서론] 내가 개발한 사이트에서 내가 올리지 업로드 하지않은 폴더가 하나 발견되었다. 두둥- 파일은 2개, java.exe , java.swf 파일로 사이트 접속시 온통 빨간 화면으로 바뀌며 위험성을 포함한 사이트라고 경고해주는... 그런 화면이 나오게 된다. [사이트에 접속하면 다음과 같은 화면이 나온다] 결국 보안이 뚫리게 되어 의도치 않은 파일이 업로드 되었다는 것이다. ㅠㅠ 업로드 날짜는 지금으로부터 약 1달가량 전... 근데 저번주 금요일까지만 해도 잘 운영되던 사이트가 왜 갑자기 스팸 사이트로 분류가 된걸까? 크롬에서는 하루에 수십억 페이지를 방문하며 악성 코드가 있는지, 스팸코드가 포함된 사이트인지 검사한다.기존에 잘 나왔던 이유는 마지막 URL검사때 없었던 악성코드가 검사 .. 2017. 1. 23.