[웹 취약점] 4. 운영체제 명령 실행, 5. SQL Injection

4. 운영체제 명령 실행

  • 점검내용 : 웹 사이트 내 운영체제 명령 실행 취약점 존재 여부 점검
  • 대상 : 웹 애플리케이션 소스코드, 웹 방화벽
  • 조치방법 : 취약한 버전의 웹 서버 및 웹 애플리케이션 서버는 최신 버전으로 업데이트를 적용해야 하며, 애플리케이션은 운영체제로부터 명령어를 직접적으로 호출하지 않도록 구현하는 게 좋지만, 부득이하게 사용해야 할 경우 소스 코드나 웹 방화벽에서 특수문자, 특수 구문에 대한 검증을 할 수 있도록 조치해야 함

참고

CVE/NVD - 공개적으로 알려진 취약점 검색 가능

점검방법

  1. 에러 페이지 또는 HTTP 응답 헤더에 노출되는 웹 서버 버전 정보를 수집하여 운영체제 명령 실행 관련 알려진 취약점 검색
  2. 웹 애플리케이션에 전달되는 파라미터 값에 공개적으로 알려진 운영체제 명령 실행 코드 삽입 후 명령어가 실행되는지 확인
    • 실행한 명령어()
      • http://host/struts2-blank/example/X.action?action:%25{3\*4}
      • http://host/struts2-showcase/employee/save.action?redirect:%25{3\*4}
      • http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String\[\]{'command','goes','here'})).start()}

5. SQL Injection

  • 점검내용 : 웹페이지 내 SQL 인젝션 취약점 존재 여부 점검
  • 대상 : 웹 애플리케이션 소스코드, 웹 방화벽
  • 조치방법 : 소스코드에 SQL 쿼리를 입력 값으로 받는 함수나 코드를 사용할 경우, 임의의 SQL 쿼리 입력에 대한 검증 로직을 구현하여 서버에 검증되지 않는 SQL 쿼리 요청 시 에러 페이지가 아닌 정상 페이지가 반환되도록 필터링 처리하고 웹 방화벽에 SQL 인젝션 관련 룰셋을 적용하여 SQL 인젝션 공격을 차단함

참고

SQL인젝션 : 사용자의 입력 값으로 웹 사이트 SQL 쿼리가 완성되는 약점을 이용하며, 입력 값을 변조하여 비정상적인 SQL 쿼리를 조합하거나 실행하는 공격. 개발자가 생각지 못한 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작 가능함

DB와 연동된 웹 응용프로그램에서 입력된 데이터에 대한 유효성 검증 하지 않는 경우, 공격자가 SQL문을 삽입해서 정보를 열람하거나 조작할 수 있는 보안 약점

취약한 웹 응용프로그램에서는 사용자 입력값을 필터링 없이 넘겨 받아 동적쿼리를 생성하기 때문에 개발자가 의도하지 않은 쿼리가 생성되어 정보유출에 악용 될 수 있음.

 

점검방법

  1. 사용자 입력 값에 특수문자나 임의의 SQL 쿼리를 삽입하여 DB 에러 페이지가 반환되는지 확인
  2. 사용자 입력 값에 임의의 SQL 참, 거짓 쿼리를 삽입하여 참, 거짓 쿼리에 따라 반환되는 페이지가 다른지 확인
  3. 로그인 페이지에 참이 되는 SQL 쿼리를 전달하여 로그인되는지 확인

점검사항

SQL 쿼리 (참고 https://noirstar.tistory.com/264)

  • 논리적 에러: ' OR 1=1 --
  • Union 명령어: ' UNION SELECT NULL, ID_USER, NULL FROM VW_USER -- (maxlength 해제하고 시도)
  • Blind SQL Injection
    • Boolean based: admin' and (ASCII(SUBSTR(SELECT name From information_schema.tables WHERE table_type='base table' limit 0,1)1,1)) > 100 OR 1=1) OR '1'='1

 

 

참고자료

주요정보통신기반시설_기술적_취약점_분석ㆍ평가_방법_상세가이드

https://server0.tistory.com/87

https://cwiki.apache.org/confluence/display/WW/S2-016

https://kixxf.tistory.com/126?category=796177

https://noirstar.tistory.com/264

 

728x90