Noody 2025. 1. 8. 14:33

 

1. dvwa(low) > blind SQL Injection 탭으로 이동

 

2. user ID에 숫자, 문자 넣어보기 -> 여기선 숫자를 넣는 것이 맞음

 

3. User ID에 쿼리 넣기

> 1' and length(database()) = 1 #

-> 파란 1을 넣는 이유는 정상적인 데이터는 일단 앞에 넣어주기

-> 빨간 1은 2,3,4,5... 씩으로 하나씩 변경하면서 넣어보기

-> 4에서 exits 뜸!

-> 데이터베이스 이름 길이는 4이구나를 알 수 있음

 

4. DB이름 뽑아내기(알파벳 유추)

burp로 패킷 수집 > Repeater 로 보내기 > 쿼리 붙여넣기 > send

쿼리 붙여넣

5. 다시 다른 방식으로 확인해보기

 

URL 구성 확인하고

Repeater 부분에 해당 부분 복붙

복붙한 부분 3D = '=' , %23 = #

send 후 response값 확인

+ 기호가 필요했구나!

 

6. 문자열 확인하는 쿼리 날려보기

(이걸 해보고 메시지가 어떻게 나오는지 알아야 코드를 짤 수 있다.)

쿼리 : ' and substr(database(),1,1) = 'a' #

 

dvwa UserID에 해당 쿼리 넣기

1 ' and substr(database(),1,1) = 'a' #

a,b,c,d...바꿔가며 넣어보기

-> d에서 exists 뜨므로 첫번째 문자열은 d임을 알 수 있다.

 

7. GPT 이용해서 파이썬 코드 짜기

Request 부분 전체 복사하여 프롬프트에 붙여넣은 다음

아래와 같이 질문한다.

 

8. 코드 복사 후 터미널 창에서

# mousepad blind.py 만들어 준 다음 해당 내용 붙여넣기

저장 후 다시 #python3 blind.py 입력시 해당 내용 자동 점검 후 결과 도출


9. 내용 추가해보기!

(이전 코드가 동작이 잘 되는 경우 GPT한테 잘 된다고 알려줘야 한다.)

결과 내용 예시

 


~알고가기~

 

개발자 도구 활용(F12)

주 사용 탭

Inspector : 길이제한 해제 및 소스코드 추적,분석할 때 사용

Debugger : step by step으로 코드 불러올 수 있음 (소스코드 찾거나 하드코딩 찾을 때)

Network :  화면에서 새로고침하거나 reload할때 호출되는 데이터 확인

Storage : 접속해야하는 사이트 대상으로 + 을 생성하여 value 값 바꾸는 등 cookies 수정 가능