- SQL Injection/[03] MySQL

CONCAT, CONCAT_WS, GROUP_CONCAT

n3015m 2010. 12. 7. 18:34
MySQL의 문자열 합치기인 CONCAT에 대해서 정리한다.

아래의 예제와 같이 참 간단하다. CONCAT이라는 명령어를 필터링 해놔서 애먹었는뎅 CONCAT_WS로 하니 우회가 되었다. 상황에 따라서 우회 기법의 하나로 쓰일 수 있다.

※ CONCAT과 CONCAT_WS 비교

    SELECT CONCAT('N','3','0','1','5','M')               → N3015M
    SELECT CONCAT_WS('-','N','3','0','1','5','M')    → N-3-0-1-5-M



※ GROUP_CONCAT

    SELECT GROUP_CONCAT(CONCAT_WS('-',COL1,COL2)SEPARATOR ';') FROM
    TABLE_NAME GROUP BY GROUPNUM;

    COL1_DATA1-COL2_DATA1;COL1_DATA2-COL2_DATA2;
    COL1_DATA4-COL2_DATA4....