ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL Injection 기초
    Hack/Web 2015. 2. 25. 21:26

    SELECT * FROM users WHERE login = 'victor' AND password = '123' 


    취약한 코드이다.


    users테이블에서 각각 컬럼을 뽑아와서 로그인하는 쿼리이다.


    id와 pw 폼이 존재할것이다


    id에 victor

    pw에 123을 입력한 쿼리가 저 위의 쿼리이다.


    우리가 1을넣는다면


    SELECT * FROM users WHERE login = '1' AND password = '1' 

    해당 쿼리가 전송될것이다.


    이를 악용하여보자


    id폼에 'or 1=1--

    pw에는 아무거나 넣어주자


    그럼 쿼리는 아래와같이 된다.


    SELECT * FROM users WHERE login = ''or 1=1-- AND password = '123' 


    이렇게보면 이해가 잘안된다.


    그럼 db에 들어갈때는 어떻게 들어가는지 보자


    SELECT * FROM users WHERE login = ''or 1=1-- 


    쿼리는 login에 '' 로 닫혀버린다. 그뒤에 or 1=1이란 명령이 실행된다.


    -- 주석을통해 password가 무시된다.



    'Hack > Web ' 카테고리의 다른 글

    Blind SQL Injection  (0) 2015.03.02
    dun_worry_vase  (0) 2015.02.23

    댓글

Designed by Tistory.