ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Command injection
    Security/Web보안 2020. 8. 1. 15:35

    -웹 애플리케이션에서 시스템 명령어를 실행할 수 있는 함수를 제공하고,

    사용자 입력값에 필터링이 제대로 이루어지지않을 경우

     

    Command injection에 취약한 함수

    java - system.*

    perl - open(), sysopen(), system(), glob()

    PHP - exec(), system(), passthru(), popen(), eval(), include(), preg_replace(), rquire()

     

    공격 예제

    ex)

    127.0.0.1;ls

    127.0.0.1;cat /etc/passwd 

     

    세미클론 대신 파이프(|)나 &사용가능

    ex)

    127.0.0.1| ls

    127.0.0.1& ls

     

    대응 방법

    사용자 입력값에 대해 적절히 필터링을 하여 차단한다.

    만약 os명령어를 불가피하게 사용해야한다면, 화이트리스트를 선정해 해당 명령어만 실행하도록 설정한다.

    ip주소의 경우, 값이 확실히 ip주소가 맞는지 체크한다.(정수.정수.정수.정수)

     

     

     

    'Security > Web보안' 카테고리의 다른 글

    Loose comparison, Magic Hash  (0) 2020.08.04
    Local File Inclusion  (0) 2020.08.02
    Directory indexing  (0) 2020.08.01
Designed by Tistory.