2009-09-15 4 views
0

현재 SQL 주입과 관련된 프로젝트를 수행 중입니다. 나는 그것이 SQL 인젝션을 서버 측 스크립팅과 독립적으로 발견 할 수있는 그런 방식으로하고있다. jsp 또는 asp 또는 php일지도 모른다. 이제 주요 문제는 웹 페이지에서 SQL 쿼리를 추출해야한다는 것입니다. 예를 들어 제출 버튼을 누르면 데이터베이스에 대한 웹 서버의 요청이 SQL 문의 형태로 전송됩니다. 그래서 내 문제는 그 SQL 문을 캡처하는 것입니다스크립팅 언어와 독립적 인 웹 페이지에서 SQL 쿼리 추출

어떻게해야합니까? 당신은 서버 기반의 SQL 스크립트, 자바 스크립트에서 SQL을 생성하는 모든 웹 사이트를 캡처 할 수 없습니다 사전

답변

1

감사는 브리의 ktheir 사이트에 당신을 요구하고있다.

1

웹 응용 프로그램과 rdbms 사이에 프록시를 넣을 수 있습니다. 일부 시스템 (MySql for example)에는 이러한 프록시가 있습니다.

0

일부 RDBMS에는 실행 된 SQL 쿼리가 기록되는 기능이 있습니다 (예 : SQL Server에 SQL Server 프로파일 러가 있음). RDBMS에이 기능이 없다면 네트워크의 일부 프록시 (웹 응용 프로그램 ----> 사용자의 프록시 ----> RDBMS)로 SQL 쿼리를 잡을 수 있습니다.

입력 값과 녹음 된 쿼리를 쌍으로 연결해야합니다.

코드에서 SQL 쿼리를 검색 할 때의 문제점은 매우 복잡하며 불가능하다고 생각합니다. SQL 조회는 일반 텍스트 형식이 아니거나 동적으로 작성 될 수 있습니다. 예를 들어

:

// this will produce SQL query 
from p in db.Products where p.Size > 1000 && p.Count < 5 order by p.Name select p; 

// this will not produce any SQL query 
from c in ColumnsOf(db.Products) where c.Contains("Name") select c.Type; 

// this will produce SQL query 
var tmp = "SELECT "; 
for(int i = 0; i < columns.Length; i++) { 
    if (i > 0) { tmp += ", "; } 
    tmp += columns[i].Name; 
} 
tmp += "FROM " + someTextVariable; 
관련 문제