반응형
- 의미
지역변수 설정
변수 할당에는 SELECT @local_variable 대신 SET @local_variable을 사용하는 것이 좋다.
- 구문
SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n] [ ; ]
- 인수
@local_variable
값을 할당할 선언된 변수
오른쪽 값을 왼쪽의 변수에 할당
복합 할당 연산자 사용 가능
expression
유효한 식
- 취약점
union 구문이 필터링 되어있지 않을 때 이를 이용해서 정보를 얻을 수 있다.
id가 admin인 pw를 @test 변수에 할당한다.
SELECT @test:=pw WHERE id='admin'
쿼리문 자체는 변수에 대입할 뿐 리턴하지 않기 때문에 union을 사용하여 반환하면 pw를 확인할 수 있다.
UNION SELECT @test
->
SELECT @test:=pw WHERE id='admin' UNION SELECT @test
반응형
'programming > sql' 카테고리의 다른 글
order by (0) | 2023.01.25 |
---|---|
extractvalue() (0) | 2023.01.24 |
[MySQL] 명령어 (0) | 2023.01.09 |
procedure_analyse (0) | 2023.01.09 |
is null/is not null, in/not in (0) | 2023.01.07 |