"오리처럼 걷고 오리처럼 들린다"는 원칙에 따라 아마존의 SimpleDB가 지원하는 SQL 맛보기 쿼리는 SQL 주입 유형 공격에 취약해야합니다. 다음은 공격자의 입력 변수 $ 범주에 가고, 그가 열 이름을 추측 할 수있는 것으로 가정 간단한 예제 : 당신이 홈 게임을하는 경우SQL 인젝션에서 Amazon SimpleDB를 보호하려면 어떻게합니까?
$category = "Clothes' OR Category LIKE '%";
$results = $sdb->select("SELECT * FROM `{$domain}` WHERE Category = '$category'");
는,이 라인은 현재 위치에서 할 수 있습니다 Amazon의 PHP SDK (1.2)의 샘플 코드에있는 html-sdb_create_domain_data.php
파일의 119 번째 줄 대체.
Amazon은 quoting rules을 게시하며 "또는 '사용자 입력이 두 배로 늘도록하는 것을 쓸 수 있다고 생각하지만 ... 항상 탈출은 기본적으로 무기 경쟁이며 매개 변수화가 내 무기라는 것을 이해했습니다. 선택, 예를 들어, 사용하는 경우 MySQL은.
SimpleDB의 쿼리를 방어하기 위해 사용하는 다른 사람들은 무엇인가?에 대해 보호 할 수있는 유일한 것은 외출 추가 쿼리 데이터 그래서