SQL쿼리로 사용되는 파라미터의 값이 중복 사용될 경우 조합되어 쿼리문으로 동작할 수 있다.

ex)
정상 요청
GET /index.asp?query=computer HTTP/1.1
동작하는 쿼리
select * from board where id=computer

HTTP Parameter Pollution
GET /index.asp?query=a&query=b&query=c HTTP/1.1
동작하는 쿼리
select * from board where id=a,b,c

쿼리가 조합될때 중간에 (,)가 삽입된다.

주석을 사용하면 (,)를 삭제할 수 있다.

GET /index.asp?query=a/*&query=*/b/*&query=*/c HTTP/1.1
동작하는 쿼리
select * from board where id=a/*,*/b/*,*/c
2009/08/27 11:14 2009/08/27 11:14

Trackback Address :: https://youngsam.net/trackback/846