보안
-
[웹보안] zboard 취약점 분석 - SQL Injection보안/웹보안 2017. 5. 30. 17:13
Injection 기법들SQL injectionphp injectionhtml injectioncommand injection 분석Download : 3 라는 숫자가 저장되면서 변하는 것을 볼 수 있었다.SQL을 사용하며 [ DB ] 를 사용한다는 뜻이다. 소스보기를 살펴보자. [링크]download.php?id=attack&page=1&page_num=20&category=&sn=off&ss=off&sc=off&keyword=&prev_no=&select_arrange=headnum&desc=asc&no=64&filenum=1 링크를 확인하니 download.php에서 DB를 처리하는 것 같다.>> 사실 이부분은 공격자 입장에서 볼 수 없으므로 넘어가는 데이터의 형태와 외부변수를 적극적으로 이용해야 한..
-
[웹보안] zboard 취약점 분석 (서버측언어) - 파일업로드보안/웹보안 2017. 5. 29. 16:52
서버측 언어를 이용한 취약점- 특정 서버를 타겟으로 한 공격 타겟 : 서버-서버의 무력화-루트계정의 탈취-서버의 데이터 탈취 타겟 : 개인-개인정보 탈취( 키로거, 모니터링 )-좀비피시화 타겟 : zboard 상용게시판 언어 : PHP php 파일을 실행하는 방법#1 command line 실행하는 방법php 명령어를 사용해서 실행 #2 웹 브라우저에서 실행하는 방법URL입력으로 실행- 웹브라웆에서 접근이 가능해야 한다.- 실행할 파일이 웹 서버에서 있어야 한다. >> 출력창에 맞게 실행방법을 선택 zboard 게시판 업로드 기능[게시글 다운로드]url이 고스란히 나타났다. >> /zboard/data/naver.png 그럼 if를 출력하는 php코드가 작성된 파일을 업로드해본다.[test.php] > ..
-
[웹보안] zboard의 취약점 분석(클라이언트 측)보안/웹보안 2017. 5. 26. 15:21
1. XSS 취약점html을 통해 script를 넣을 수 있었다.[발견한 취약점]*URL*쪽지 본문, 쪽지 제목*댓글 관리자*게시글(답변) 제목, 본문 >> 부분적으로 제어할 수 있지만 일단은 php에서 preg_match를 통해 script문자를 제어했다.>> URL에서는 링크를 통하여 XSS를 실행시킬수 있었지만 이것은 URL입력창 제어와 링크방지를 조심해야 했다. 2. 레벨변경zboard는 get방식( 쿼리스트림 )으로도 처리가 가능했다.폼이 없어도 관리자 세션만 탈취되었다면 get, post, cookkie ... 등으로 멤버의 레벨을 바꿀 수 있었다.>> 입력값이 어떠한 방법으로든 넘어가면 처리를 하는것으로 보아 [ global ]변수 auto를 사용하는 것 같았다. 물론 모든 input값들은 ..
-
[웹보안] 로그인보안/웹보안 2017. 5. 19. 16:30
로그인 ( 사용자 인증 )TCP 통신을 하는 서비스인 경우 ( session )-- 처음 접속시 인증을 완료하면 다시 요구하지 않는다. 웹 로그인게임 , FTP, SSH ---- 웹도 TCP 통신을 한다. -- 처음 한번만 인증을 요구 -- 웹은 TCP세션을 끊는다. -- 지속으로 유지할 경우 서버의 부담이 많기에 웹 인증1. 웹 서버 인증 ( 아파치 ) 2. 웹 어플리케이션 인증 ( 쿠키와 세션 ) php.ini229 short_open_tag = on #아파치 인증#>vi /etc/httpd/conf/httpd.conf:345 위에 기재AuthType BasicAuthName "abc"AuthUserFile /var/www/html/.htpasswdRequire valid-user .htpasswd ..
-
[웹보안] php보안/웹보안 2017. 5. 15. 16:41
php 관련 데몬 php.i686php-mysql.i686mysql.i686 client 측 mysqlmysql-server.i686 server 측 mysql설치후 httpd 데몬 재시작 ( php는 아파치에서 해석하기떄문이다 ) 확인test.php소스결과 php 구조 #1 php파일의 기본 확장자는 .php를 사용 #2 서버에서 실행되며 결과(html)만을 확인한다.>> 웹브라우저(client)는 php소스코드를 확인할 수 없다. #3 php 파일내에서는 html을 포함할 수 있다. --html code-- // php블록의 끝--html code-- 배열$arr = array( 100, 200, 300, 400, 500 ); //선언$arr2 = array( "frist" => 1, "second"..