일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- IMAGE_IMPORT_DESCRIPTOR
- samsung ctf
- zsh theme customization
- SQL Injection
- DOS Stub
- Windows 11
- NT Header
- Windows Terminal
- powerlevel10k
- ubuntu
- attack vector
- RVA
- DOS Header
- Tutorial
- Windows
- BOF
- WSL
- Buffer Overflow
- sctf 2021
- web
- PE Header
- stack based buffer overflow
- NT File Header
- oh-my-zsh
- 리버싱 핵심원리
- PE file format
- NT Optional Header
- docker
- IMAGE_EXPORT_DIRECTORY
- GetProcAddress()
Archives
- Today
- Total
나만의 메모노트
[SCTF 2021] SQLi 101 본문
SQL Injection이란?
SQL (Structured Query Language) 삽입 공격은 데이터 기반 어플리케이션을 공격하는 데 사용되는 코드 주입 기술로 악성 SQL문이 입력 필드에 삽입되어 실행된다. (예: 데이터베이스 콘텐츠를 공격자에게 덤프)
사용자 입력이 포함된 SQL 구문의 특수 문자들이 제대로 필터링 되지 않았거나 사용자 입력이 제대로 구성되지 않고 의도된 것과 다르게 실행되는 경우 등의 보안 취약점이존재할 때 이를 이용한 SQL 삽입 공격이 발생한다.
'admin'으로 로그인 시도
일반적으로 SQL Injection을 이용하여 관리자 로그인을 하는 방법은 다음과 같다.
http://sqli101.sstf.site/step1.php?id%3Dadmin%27%20or%20%271%27%3D%271%26pw%3D1111
하지만 해당 문제에서는 다음과 같이 or 명령어를 사용할 수 없다.
이 문제는 생각보다 간단했다. 불필요한 부분을 주석으로 제거해버리면 그만이기 때문이다.
SQL 구문에서 '--' 또는 '#'은 주석을 나타내는 문자로 다음과 같이 입력해주면 flag를 찾을 수 있다.
http://sqli101.sstf.site/step2.php?id%3Dadmin%27%20--%20%26pw%3D1111
SCTF{th3_f1rs7_5t3p_t0_the_w3B_h4ckEr}
'Security > CTF Write-Up' 카테고리의 다른 글
[SCTF 2021] BOF 102 (0) | 2021.08.30 |
---|---|
[SCTF 2021] BOF 101 (0) | 2021.08.30 |
[SCTF 2021] SQLi 102 (0) | 2021.08.23 |