본문 바로가기
정보보안/Web Hacking

[SQL Injection] - 특정 텍스트를 포함한 열 찾아내기 // PortSwigger 예제

by 우동이 2020. 8. 7.
300x250

PortSwigger의 Sql Injection 두번째 문제이다

Union Sql Injection이며 

지급받는 특정 문자열을 포함하는 컬럼을 찾는듯하다

 

문제 페이지로 넘어오니 'FK5ILT'라는 특정 문자열을 제공했다

우리는 이 문자열이 포함된 컬럼을 찾으면 된다

동일하게 UNION으로 컬럼의 개수와 자료형을 찾아보자

 

'UNION SELECT NULL--   
--ERROR 발생

'UNION SELECT NULL,NULL--   
--ERROR 발생

'UNION SELECT NULL,NULL,NULL--   
--코드 삽입 성공 컬럼 개수 3개

 

하나 그리고 두개의 NULL로 컬럼 개수를 찾아봤지만 에러가 발생했다세개의 NULL을 삽입했을때 코드가 먹혔으니 세개의 컬럼이 존재한다는걸 알수있다

 

코드가 그대로 삽입되었다

 

이제 NULL로 판명된 컬럼들의 자료형을 판별하기 위해 값을 넣어주자

'UNION SELECT NULL,NULL,123--

123이라는 값을 넣어주자 view details 이 활성화되었다

 

두번째 NULL에는 문자값을

'UNION SELECT null,'ASD',123--

 

그리고 하나 남은 NULL에 정수값을 넣어준다

 

 

세 개의 컬럼의 자료형을 다 찾아냈다 그리고 그중 문자열의 자료형을 가진

컬럼은 두번째 컬럼 하나뿐이니 그 부분에 제공받은 문자열을 넣어준다

 

-끝!-

300x250

댓글