보안 테스트를 시작하는 방법을 모르시나요? 숙련된 운전기사가 실습 교육을 진행해드립니다!

그림

01 컨셉 소개

1.1xss

XSS 공격은 일반적으로 웹 개발 중에 남겨진 취약점을 악용하고 교묘한 방법으로 웹 페이지에 악성 명령 코드를 주입하여 사용자가 공격자가 악의적으로 만든 웹 프로그램을 로드하고 실행할 수 있도록 하는 것을 말합니다. 이러한 악성 웹 프로그램은 일반적으로 JavaScript이지만 Java, VBScript, ActiveX, Flash 또는 일반 HTML도 포함될 수 있습니다. 공격이 성공한 후 공격자는 더 높은 권한(예: 일부 작업 수행), 개인 웹 콘텐츠, 세션 및 쿠키를 포함하되 이에 국한되지 않는 다양한 콘텐츠를 얻을 수 있습니다.
참고: 바이두백과사전

1.2 홍보 권한 승격

PR 권한 상승은 Windows의 로컬 오버플로 취약점을 이용합니다. 주요 기능은 권한이 낮은 사용자를 시스템 권한으로 상승시키는 것입니다. 웹셸 권한 상승에서 일반적으로 사용됩니다. 패치 번호는 KB952004입니다.

그림

02 사격장 환경

공격 머신: Mac ip: 10.211.55.2

대상 드론: Windows Server2003 + xycms

이동하는 웹사이트 IP: 10.211.55.17:81

보안 테스트 기능을 검토합니다.

그림

그림

03 보안 테스트 프로세스

ps: 현재 사격장에서 테스트할 수 있는 다양한 안전 솔루션이 있습니다. 기사에 나온 솔루션은 참고용일 뿐입니다!

3.1 정보 수집

웹사이트를 찾아보세요:

그림

3.1.1 디렉토리 검색

여기에서는 먼저 디렉터리 스캐너를 사용하여 디렉터리를 검색합니다.

dirsearch -u http://10.211.55.17:81/

그림

[14:59:34] 301 -  149B  - /js  ->  http://10.211.55.17:81/js/[14:59:34] 403 -   32B  - /%2e%2e//google.com[14:59:34] 500 -    3KB - /.ashx[14:59:34] 500 -    3KB - /.asmx[14:59:34] 500 -    3KB - /.aspx[14:59:34] 500 -    3KB - /.axd[14:59:37] 301 -  152B  - /ADMIN  ->  http://10.211.55.17:81/ADMIN/[14:59:37] 301 -  152B  - /Admin  ->  http://10.211.55.17:81/Admin/[14:59:38] 500 -    3KB - /Trace.axd[14:59:39] 500 -    3KB - /WebResource.axd?d=LER8t9aS[14:59:39] 403 -   32B  - /\..\..\..\..\..\..\..\..\..\etc\passwd[14:59:40] 301 -  152B  - /admin  ->  http://10.211.55.17:81/admin/[14:59:40] 200 -    3KB - /admin/[14:59:40] 200 -    3KB - /admin/?/login[14:59:46] 301 -  153B  - /editor  ->  http://10.211.55.17:81/editor/[14:59:46] 200 -    1KB - /editor/[14:59:46] 500 -    3KB - /elmah.axd[14:59:48] 301 -  153B  - /images  ->  http://10.211.55.17:81/images/[14:59:48] 200 -    3KB - /images/[14:59:48] 301 -  150B  - /inc  ->  http://10.211.55.17:81/inc/[14:59:48] 200 -  806B  - /inc/[14:59:48] 200 -  739B  - /js/[14:59:53] 500 -    3KB - /service.asmx[14:59:54] 301 -  152B  - /style  ->  http://10.211.55.17:81/style/[14:59:55] 500 -    3KB - /umbraco/webservices/codeEditorSave.asmx[14:59:56] 500 -    3KB - /web.config
Task Completed

여기에는 몇 가지 배경 정보가 있어야 합니다.

3.1.2 플러그인 모음

Wappalyzer 플러그인을 통해 수집된 정보는 다음에서 확인할 수 있습니다.

시스템은 Windows Server에서 실행되어야 하며, 웹 사이트를 실행하는 언어는 asp, 웹 서버는 IIS입니다.

그림

3.2 주입 취약점 테스트

일반 페이지:

 http://10.211.55.17:81/news_detail.asp?id=109

그림

작은따옴표를 추가한 후의 페이지:

http://10.211.55.17:81/news_detail.asp?id=109'

그림

따라서 여기서는 SQL 주입 가능성이 의심됩니다.

3.3 취약한 비밀번호 취약점

그림

현재 백그라운드에는 다음 정보가 있습니다.

  • 배경 디스플레이는 상업용 CMS인 XYCMS 기업 웹사이트 구축 시스템입니다.

  • 백그라운드에 취약한 비밀번호가 있을 수도 있고, 인증코드가 있어서 무차별 대입으로는 풀 수 없는 것 같습니다.

위의 정보에 대해서는 먼저 취약한 비밀번호를 사용해 보십시오.

그림

테스트를 위해 백그라운드에서 admin admin을 사용하면 백그라운드로 직접 진입할 수 있어 취약한 비밀번호 취약점이 있는 것으로 나타났습니다.

그리고 여기에서 백업 파일이어야 할 bak 파일이 발견되었습니다. 다운로드하여 사용해 보려면 클릭하세요.

그림

따라서 여기의 현재 파일은 별로 의미가 없습니다.

3.4 인증코드 취약점

또한 백그라운드 인터페이스에서 무차별 대입 크래킹을 위해 Burpsuite를 사용할 때 인증 코드가 있지만 테스트 후 여기의 인증 코드를 여러 번 재사용할 수 있으므로 인증 코드 재사용 취약점이 있습니다.

그림

3.5 xss 취약점

웹사이트를 검색하다가 여기에 예약 정보를 입력할 수 있는 것을 보았는데, 경험에 비추어 볼 때 이러한 유형의 cms에는 xss 취약점이 있어야 하며 향후 테스트될 것이라는 것을 알고 있습니다.

그림

그림

04 취약점 검증

4.1 주입 취약점

3.2에서는 여기에 SQL 인젝션 취약점이 있을 수 있다는 사실이 발견되었기 때문에 여기서는 sqlmap을 테스트용으로 사용했습니다.

sqlmap -u http://10.211.55.17:81/news_detail.asp?id=109

그림

이때 Boolean blind 주입이 있는 것으로 확인되어 데이터베이스에 접근하게 되는데 이런 종류의 데이터베이스에는 빠른 주입을 위해 Pangolin(Pangolin) 주입 툴을 사용할 수 있다.

이 시점에서 주사가 있다는 사실도 금방 발견됩니다.

그림

데이터베이스 계정 및 비밀번호 정보를 직접 가져옵니다.

그림

이때 계정과 비밀번호의 md5 값을 가져옵니다.

admin|21232f297a57a5a743894a0e4a801fc3|

지금 md5의 암호를 해독해 보세요.

비밀번호는 admin

그림

4.2 xss 터치 타이핑

블라인드 타이핑은 XSS 취약점이 존재할 수 있는 위치를 알지 못하고 js 문을 삽입할 수 있는 여러 위치에서 테스트하는 것을 의미합니다.

3.5에서는 cms에 xss 취약점이 있을 수 있다는 것이 입증되었으므로 여기에서 테스트할 수 있습니다.

먼저 자체 구축된 xss 플랫폼에서 xss 페이로드를 설정합니다.

그림

현재 페이로드를 복사해서 지금 바로 게시판에 삽입하고, 프런트 엔드 코드를 수정하고 xss 코드를 직접 삽입하세요.

그림

이때 xss 문이 성공적으로 삽입되었음을 나타냅니다.

그림

백엔드에서 방금 알고 있던 주소와 비밀번호를 기반으로 로그인하고 온라인 약속 관리를 클릭하면 여기에 있는 모든 메시지가 보이지 않는 것을 볼 수 있으며, 아무 메시지나 열어서 살펴볼 수 있습니다.

그림

열어본 후에는 유효한 정보를 볼 수 없습니다.

그림

현재 xss 플랫폼으로 이동하여 다음을 확인하세요.

이 시점에서 백그라운드 주소와 쿠키 정보를 획득한 것을 확인할 수 있습니다.

그림

다른 새 브라우저를 통해 여기를 방문하세요.

http://10.211.55.17:81/index.asp,

그리고 쿠키 편집기를 사용하여 지금 바로 쿠키를 교체하세요.

그림

다시 방문하다

http://10.211.55.17:81/admin/xycms.asp

 이 시점에서 성공적으로 배경에 들어갔습니다.

그림

이는 웹사이트에 저장된 XSS 취약점이 있음을 증명합니다.

4.3 배경 getshell

배경에 들어간 후 쉘을 얻으십시오.

그림

백그라운드에서 우리는 이 cms가 XYCMS임을 발견했으며 인터넷에서 이 cms에 대한 취약점을 수집했습니다.

xycms 백그라운드에서 쉘을 얻는 방법에 관한 기사를 인터넷에서 찾았습니다.

그림

그런 다음 백그라운드에서 시도해 보세요.

웹사이트 이름에 이 문장을 삽입하고(실제로는 여기에서 웹사이트 이름, 웹사이트 설명, 웹사이트 키워드 중 하나를 선택할 수 있습니다) 시스템 설정을 저장합니다.

그림

방문: http://10.211.55.17:81/inc/config.asp

그림

웹쉘 관리 도구를 사용하여 연결합니다. 여기에서는 Ant Sword를 사용합니다.

아래와 같이 추가한 후 더블클릭하여 엽니다.

그림

Webshell 연결 성공:

그림

이제 웹 보안 테스트 단계가 완료되었습니다.

추천

출처blog.csdn.net/m0_58552717/article/details/132689580