나만의 메모노트

[SCTF 2021] SQLi 101 본문

Security/CTF Write-Up

[SCTF 2021] SQLi 101

sp3arm4n 2021. 8. 23. 15:32

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