SlideShare une entreprise Scribd logo
1  sur  16
에러 노출
12차 웹 모의해킹
최일선
E-mail : isc0304@naver.com Writing by Ilsun Choi 1
Index
1. 에러 노출 개요
2. 에러 노출의 종류
• 1) 데이터베이스 스키마 노출
• 2) 운영체제와 어플리케이션 정보
• 3) 디렉터리 정보 노출
3. 에러 노출과 SQL Injection과의 관계
4. 모의실습
• 1) 에러 출력
• 2) 에러 노출 자동 점검
5. 조치방안
• 1) IIS
• 2) PHP
• 3) Apache
• 4) Tomcat
E-mail : isc0304@naver.com Writing by Ilsun Choi 2
1. 에러 노출 개요
 사용자의 실수 또는 고의적인 입력 데이터에 대해 어플리케이션은 시스템 에러를 노출시키는 취약
점을 가질 수 있다.
 에러 노출에는 웹 어플리케이션 스택 정보 및 데이터베이스 덤프 등의 내용이 포함될 수 있어 공격
자에게는 잠재적인 취약점을 알려주는 요인으로, 정상적인 사용자에게는 사이트의 신뢰성을 저해
시키는 요인으로 작용할 수 있다.
E-mail : isc0304@naver.com Writing by Ilsun Choi 3
http://www.daimto.com/google-api-error-list/
2. 에러 노출의 종류 > 1) 데이터베이스 스키마 노출
 SQL Injection은 고의적으로 에러를 발생시켜 DB 테이블 혹은 필드 정보를 취득하는 기법
 시스템 측면에 적절한 에러 처리가 없기 때문에 발생
E-mail : isc0304@naver.com Writing by Ilsun Choi 4
 관련 변수나 설정 값 등을 확인
 phpinfo() 함수를 이용하여 작성한 페이지
 관련 설정 정보를 노출시켜 에러노출여부를 확인 가능
E-mail : isc0304@naver.com Writing by Ilsun Choi 5
2. 에러 노출의 종류 > 2) 운영체제와 어플리케이션 정보
 웹 어플리케이션의 에러를 통해 시스템 디렉터리 정보가 노출될 수 있음
E-mail : isc0304@naver.com Writing by Ilsun Choi 6
2. 에러 노출의 종류 > 3) 디렉터리 정보 노출
3. 에러 노출과 SQL Injection과의 관계[1/3]
 SQL Injection : GET, POST 요청 필드, HTTP 헤더 값, 쿠키 값 변조
 특수문자(싱글쿼터(‘) 혹은 세미콜론(;) 삽입에 따라 에러 노출
1. MSSQL Server 에러 정보 예
Microsoft OLE DB Provider for ODBC Drivers error ‘80040e14’
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ‘’.
/target/target.asp, line 113
2. MySQL 에러 정보 예
You have an error in your SQL syntax; check the manual that corrensponds to your MySQL server version for the
right syntax to use near ‘’’ at line 1
3. Oracle 에러 정보 예
ORA-00933: SQL command not properly ended
4. PostgreSQL 에러 정보 예
Query failed: ERROR: syntax error at or near
“’” at character 56 in /www/site/test.php on line 121.
E-mail : isc0304@naver.com Writing by Ilsun Choi 7
 SQL Injection 응답 코드
 500: 일반적으로 시스템 에러가 발생되는 경우
 200: 에러가 정상적인 페이지에 중간에 삽입되는 경우
 Union SQL Injection : 2개 이상의 쿼리를 요청
 공격자는 원래 요청에 추가 쿼리를 삽입하여 정보를 얻어냄
E-mail : isc0304@naver.com Writing by Ilsun Choi 8
3. 에러 노출과 SQL Injection과의 관계[2/3]
널 삽입 수에 따른 필드 개수 확인 결과
select * from test where id=1 union all select null; 에러 발생
select * from test where id=1 union all select null, null; 에러 발생
select * from test where id=1 union all select null, null, null; 에러 없음
3. 에러 노출과 SQL Injection과의 관계[3/3]
 SQL Injection 사례
 CVE: 2014-9178
 WordPress Client Document Manager Plugin 2.4.1 – SQL Injection
 id 파라미터에 SQL 인젝션 발생
 having이나 group by를 통하여 에러구문 출력 시 필드 이름을 얻을 수 있다.
E-mail : isc0304@naver.com Writing by Ilsun Choi 9
4. 모의실습 > 1) 에러 출력
E-mail : isc0304@naver.com Writing by Ilsun Choi 10
 적절한 예외 처리 실패 시 에러 구문
4. 모의실습 > 2) 에러 노출 자동 점검
 파로스를 사용하여 룰을 추가한 뒤 점검
 쿼리에 추가된 패턴 : ‘or
 감지 패턴 : Warning mysql_fetch
E-mail : isc0304@naver.com Writing by Ilsun Choi 11
5. 조치방안 > 1) IIS
 500 대 에러 발생 시 404 에러페이지 출력
 인터넷 정보 서비스 – 오류페이지 – 500-502 편집 – 404 페이지
 서버 재시작 후 정상 동작하는 지 반드시 확인
E-mail : isc0304@naver.com Writing by Ilsun Choi 12
 C:APM_Setupphp.ini
 display_errors = Off
E-mail : isc0304@naver.com Writing by Ilsun Choi 13
5. 조치방안 > 2) PHP
 C:APM_SetupServerApacheconfhpptd.conf
 Error Document [에러코드] [이동 페이지] 형식을 사용 : 에러 발생 시 해당 페이지로 이동
 주석 처리(#) 제거
 아파치 버전 정보 노출 차단 (동일한 파일, httpd.conf)
 ServerTokens ProductOnly
 ServerSignature Off
E-mail : isc0304@naver.com Writing by Ilsun Choi 14
5. 조치방안 > 3) Apache
 rootWEB-INFweb.xml 파일에 에러 처리
 소스에 직접 에러 처리
E-mail : isc0304@naver.com Writing by Ilsun Choi 15
5. 조치방안 > 4) Tomcat
참고문헌
 웹 모의해킹 및 시큐어코딩 진단 가이드, 최경철 외 1명 지음
E-mail : isc0304@naver.com Writing by Ilsun Choi 16

Contenu connexe

Similaire à Error Expose

컴퓨터보안.pptx
컴퓨터보안.pptx컴퓨터보안.pptx
컴퓨터보안.pptx
dalonn
 
파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)
kangsumin
 
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
봉조 김
 

Similaire à Error Expose (20)

컴퓨터보안.pptx
컴퓨터보안.pptx컴퓨터보안.pptx
컴퓨터보안.pptx
 
Sqlinjection - union based
Sqlinjection - union basedSqlinjection - union based
Sqlinjection - union based
 
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
[Devfest Campus Korea 2021]보안과 함께 하는 개발, 시큐어코딩
 
Sql injection 정의 및 구현
Sql injection 정의 및 구현Sql injection 정의 및 구현
Sql injection 정의 및 구현
 
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
 
한호정
한호정한호정
한호정
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
 
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
 
OWASP TOP 10 in 2007
OWASP TOP 10 in 2007OWASP TOP 10 in 2007
OWASP TOP 10 in 2007
 
파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10
 
Opensource APM SCOUTER in practice
Opensource APM SCOUTER in practiceOpensource APM SCOUTER in practice
Opensource APM SCOUTER in practice
 
웹서버 정보 노출 방지
웹서버 정보 노출 방지웹서버 정보 노출 방지
웹서버 정보 노출 방지
 
Owasp top 10 2013 - 정다운 -
Owasp top 10   2013 - 정다운 -Owasp top 10   2013 - 정다운 -
Owasp top 10 2013 - 정다운 -
 
OWASP TOP 10 - 2013 (정다운)
OWASP TOP 10 - 2013 (정다운)OWASP TOP 10 - 2013 (정다운)
OWASP TOP 10 - 2013 (정다운)
 
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
가장 심각한 웹 애플리케이션 보안 위험 10가지-2013
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
JSP 프로그래밍 2014-2018년 기말시험 기출문제
JSP 프로그래밍 2014-2018년 기말시험 기출문제JSP 프로그래밍 2014-2018년 기말시험 기출문제
JSP 프로그래밍 2014-2018년 기말시험 기출문제
 
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 TestOkjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
 

Error Expose

  • 1. 에러 노출 12차 웹 모의해킹 최일선 E-mail : isc0304@naver.com Writing by Ilsun Choi 1
  • 2. Index 1. 에러 노출 개요 2. 에러 노출의 종류 • 1) 데이터베이스 스키마 노출 • 2) 운영체제와 어플리케이션 정보 • 3) 디렉터리 정보 노출 3. 에러 노출과 SQL Injection과의 관계 4. 모의실습 • 1) 에러 출력 • 2) 에러 노출 자동 점검 5. 조치방안 • 1) IIS • 2) PHP • 3) Apache • 4) Tomcat E-mail : isc0304@naver.com Writing by Ilsun Choi 2
  • 3. 1. 에러 노출 개요  사용자의 실수 또는 고의적인 입력 데이터에 대해 어플리케이션은 시스템 에러를 노출시키는 취약 점을 가질 수 있다.  에러 노출에는 웹 어플리케이션 스택 정보 및 데이터베이스 덤프 등의 내용이 포함될 수 있어 공격 자에게는 잠재적인 취약점을 알려주는 요인으로, 정상적인 사용자에게는 사이트의 신뢰성을 저해 시키는 요인으로 작용할 수 있다. E-mail : isc0304@naver.com Writing by Ilsun Choi 3 http://www.daimto.com/google-api-error-list/
  • 4. 2. 에러 노출의 종류 > 1) 데이터베이스 스키마 노출  SQL Injection은 고의적으로 에러를 발생시켜 DB 테이블 혹은 필드 정보를 취득하는 기법  시스템 측면에 적절한 에러 처리가 없기 때문에 발생 E-mail : isc0304@naver.com Writing by Ilsun Choi 4
  • 5.  관련 변수나 설정 값 등을 확인  phpinfo() 함수를 이용하여 작성한 페이지  관련 설정 정보를 노출시켜 에러노출여부를 확인 가능 E-mail : isc0304@naver.com Writing by Ilsun Choi 5 2. 에러 노출의 종류 > 2) 운영체제와 어플리케이션 정보
  • 6.  웹 어플리케이션의 에러를 통해 시스템 디렉터리 정보가 노출될 수 있음 E-mail : isc0304@naver.com Writing by Ilsun Choi 6 2. 에러 노출의 종류 > 3) 디렉터리 정보 노출
  • 7. 3. 에러 노출과 SQL Injection과의 관계[1/3]  SQL Injection : GET, POST 요청 필드, HTTP 헤더 값, 쿠키 값 변조  특수문자(싱글쿼터(‘) 혹은 세미콜론(;) 삽입에 따라 에러 노출 1. MSSQL Server 에러 정보 예 Microsoft OLE DB Provider for ODBC Drivers error ‘80040e14’ [Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ‘’. /target/target.asp, line 113 2. MySQL 에러 정보 예 You have an error in your SQL syntax; check the manual that corrensponds to your MySQL server version for the right syntax to use near ‘’’ at line 1 3. Oracle 에러 정보 예 ORA-00933: SQL command not properly ended 4. PostgreSQL 에러 정보 예 Query failed: ERROR: syntax error at or near “’” at character 56 in /www/site/test.php on line 121. E-mail : isc0304@naver.com Writing by Ilsun Choi 7
  • 8.  SQL Injection 응답 코드  500: 일반적으로 시스템 에러가 발생되는 경우  200: 에러가 정상적인 페이지에 중간에 삽입되는 경우  Union SQL Injection : 2개 이상의 쿼리를 요청  공격자는 원래 요청에 추가 쿼리를 삽입하여 정보를 얻어냄 E-mail : isc0304@naver.com Writing by Ilsun Choi 8 3. 에러 노출과 SQL Injection과의 관계[2/3] 널 삽입 수에 따른 필드 개수 확인 결과 select * from test where id=1 union all select null; 에러 발생 select * from test where id=1 union all select null, null; 에러 발생 select * from test where id=1 union all select null, null, null; 에러 없음
  • 9. 3. 에러 노출과 SQL Injection과의 관계[3/3]  SQL Injection 사례  CVE: 2014-9178  WordPress Client Document Manager Plugin 2.4.1 – SQL Injection  id 파라미터에 SQL 인젝션 발생  having이나 group by를 통하여 에러구문 출력 시 필드 이름을 얻을 수 있다. E-mail : isc0304@naver.com Writing by Ilsun Choi 9
  • 10. 4. 모의실습 > 1) 에러 출력 E-mail : isc0304@naver.com Writing by Ilsun Choi 10  적절한 예외 처리 실패 시 에러 구문
  • 11. 4. 모의실습 > 2) 에러 노출 자동 점검  파로스를 사용하여 룰을 추가한 뒤 점검  쿼리에 추가된 패턴 : ‘or  감지 패턴 : Warning mysql_fetch E-mail : isc0304@naver.com Writing by Ilsun Choi 11
  • 12. 5. 조치방안 > 1) IIS  500 대 에러 발생 시 404 에러페이지 출력  인터넷 정보 서비스 – 오류페이지 – 500-502 편집 – 404 페이지  서버 재시작 후 정상 동작하는 지 반드시 확인 E-mail : isc0304@naver.com Writing by Ilsun Choi 12
  • 13.  C:APM_Setupphp.ini  display_errors = Off E-mail : isc0304@naver.com Writing by Ilsun Choi 13 5. 조치방안 > 2) PHP
  • 14.  C:APM_SetupServerApacheconfhpptd.conf  Error Document [에러코드] [이동 페이지] 형식을 사용 : 에러 발생 시 해당 페이지로 이동  주석 처리(#) 제거  아파치 버전 정보 노출 차단 (동일한 파일, httpd.conf)  ServerTokens ProductOnly  ServerSignature Off E-mail : isc0304@naver.com Writing by Ilsun Choi 14 5. 조치방안 > 3) Apache
  • 15.  rootWEB-INFweb.xml 파일에 에러 처리  소스에 직접 에러 처리 E-mail : isc0304@naver.com Writing by Ilsun Choi 15 5. 조치방안 > 4) Tomcat
  • 16. 참고문헌  웹 모의해킹 및 시큐어코딩 진단 가이드, 최경철 외 1명 지음 E-mail : isc0304@naver.com Writing by Ilsun Choi 16