관리 메뉴

Information Security

SQL Injection (Login Form/User) 본문

Web Security/Bee-Box

SQL Injection (Login Form/User)

HackingPractice 2019. 8. 25. 14:12

SQL Injection (Login Form/User)

 

Level (Low)

Login 1234 Password 1234를 입력해 Invaild credentials! 메시지를 보여주는 것을 알 수 있다.

그림 1-1 로그인 실패

Login bee Password bug를 입력해 bee 계정 정보를 알려주는 것을 알 수 있다.

그림 1-2 bee계정 정보

Login ‘ or 1=1 # Password bug를 입력해 A.I.M. 계정 정보를 알려주는 것을 알 수 있다.

그림 1-3 A.I.M 계정

Level (Medium)

Level (Medium)은 그림 1-3처럼 Iron Man ‘ or 1=1# bug 입력해 Invalid credentials! 메시를 보여준다.

그림 1-4 로그인 실패

대응방안

addslashes 함수를 통해 쿼터(', ") 같은 특수 문자들을 포함하고 있는 문자열에 역 슬래쉬(\)를 넣음으로써 오류를 최소화시키는 역할을 한다. mysql_real_escap_string 함수를 사용하여 입력한 데이터를 우회한다. 사용자 입력 값에 SQL 문법에서 사용하는 특수 문자가 있을 경우 백 슬래시를 붙여 입력 데이터를 SQL 문법으로 인식하지 않게 방어한다.

그림 1-5 functions_external.php 코드

'Web Security > Bee-Box' 카테고리의 다른 글

Time Based  (0) 2019.08.25
Blind SQL Injection 공격  (0) 2019.08.25
SQL injection (Login Form/Hero)  (0) 2019.08.25
SQL Injection (CAPTCHA)  (0) 2019.08.25
SQL Injection(POST/Search)  (0) 2019.08.25