WebGoat - A1 injection (Compromising confidentiality with String SQL injection)

oolongeya

·

2021. 8. 27. 14:13

당신은 대기업에서 일하는 John Smith 라는 직원이다.

회사는 모든 직원이 자신이 근무하는 부서와 급여 등 자신의 내부 데이터를 볼 수 있는 내부 시스템을 갖추고 있다.

시스템에서는 직원이 고유한 인증 TAN을 사용하여 데이터를 볼 것을 요구한다.
현재 TAN은 3SL99A 이다.


항상 연봉이 가장 높은 직원이 되고자 하는 충동이 있기 때문에 시스템을 활용해서 자신의 내부 데이터를 보는 대신

모든 동료의 데이터를 검토하여 현재 급여를 확인하고자 한다.

아래 양식을 사용하여 직원 테이블에서 모든 직원 데이터를 검색하시오.

필요한 정보를 얻기 위해 특정 이름이나 TAN을 몰라도 된다.
요청을 수행하는 쿼리는 다음과 같다.

 

"SELECT * FROM employees WHERE last_name = '" + name + "' AND auth_tan = '" + auth_tan + "'";

 

우선 테이블이 어떻게 생겼는지 확인하기 위해 주어진 정보로 인증을 해보자.

 

Smith, 3SL99A

 

 

테이블을 확인할 수 있다고 생각을 하면,

 

Name AND TAN 모양의 구문일 것이다.

 

SELECT * From USERS where last_name='' AND tan=''

 

tan = '' 부분에 

 

1' or '1'='1 를 넣어보자.

 

 

반응형