Dork's port

SQL-injection - SQL injection UNION attack, finding a column containing text- 본문

portswigger-academy

SQL-injection - SQL injection UNION attack, finding a column containing text-

Dork94 2020. 7. 14. 16:14
  • 이 문제는, 특정 문자를 row에 함께 return 하게 하는 문제로, 필드의 어느 값이 text data 형식인지 indentify 하는 것이 주요 포인트 이다.

  • 이전 문제와 마찬가지로 3개의 필드로 이루어 져 있으며, 'UNION SELECT NULL, NULL, NULL -- 을 했을경우 테이블이 정상적으로 리턴되는 것을 볼 수 있었다.

  • Text field를 알아내기 위해 'UNION SELECT 'a', NULL, NULL -- , 'UNION SELECT NULL, 'b', NULL -- , 'UNION SELECT NULL, NULL, 'c' -- 와 같이 텍스트를 넣어보면 된다.

  • 그래서 필드의 형식이 text일 경우, 정상적으로 결과 페이지가 return 되며 그렇지 않을 경우 에러 페이지가 리턴 된다. 이 문제에서는 "Internal Server Error" 이 return 됨.

  • 이 문제에서는 두번째 필드가 text 형식을 가지며 'b' 대신, 문제에서 제공하는 텍스트 (e.g., "A3SLBe" ) 를 대신 넣어주면 문제 해결.

  • 사실 이 스킬이 어디에서 활용되는지는 정확히 모르겠다. 조금 더 읽어봐야겠다. portswigger의 document에서 그냥, 데이터 타입을 찾는 방법정도로 기술하고있다. 추후에 실제 공격할때 사용되겠지?

Comments