기술/Script Kids Defender2011. 10. 19. 18:35
download download
stage 1 : OWASP IMAGE 이미지를 나타나도록 해야 함.
   - OWASP IMAGE 링크에 주소를 복사합니다.
   - 절대주소로 이미지 태그를 작성합니다.
   - 아래 내용을 텍스트 박스에 입력합니다.

   - Submit Solution 버튼을 클릭합니다.

stage 2 : 이미지 테그에다가 javascript의 alert 창을 띄우면 됩니다.

stage 3 : iframe로  alert 창을 띄우면 됩니다.

stage 4 : 아래 그림의  HTML 테그를 복사하여 입력합니다.
   - 아래와 같이 Hello, Please... 나오면 아무거나 입력합니다.



stage 5 : 방어 코딩을 해야 합니다. escape.js 를 활용해서 해야 합니다.
   - firebug를 열어 escape.js를 확인합니다.


   - escapeHTML 함수를 input 에 적용하여 줍니다. 
   - input에 onkeyup="displayGreeting(person.value)" 이부분의 함수를 찾아 봅니다.
   - 서버의 WebGoat-5.2\tomcat\webapps\WebGoat\javascript 위치에 DOMXSS.js 파일을 열어 줍니다.
   - 아래와 같이 name부분에 escapeHTML함수를 적용하고 저장합니다.
   - js 파일이 변경이 되었기 때문에 파이어폭스를 새로고침하여 주고 위에서 작성한 자바 스크립트 코드를 아무거나 적용하여 테스트 합니다.

download download download
Posted by yachtie_leo
기술/Script Kids Defender2011. 10. 19. 11:18
download download
1. Using an Access Control Matrix
user, resource : 가 어떻게 변화되는지 잘 보시고 목표를 찾으시면 됩니다.

 
2. Bypass a Path Based Access Control Scheme

아래 경로에 그림과 같은 파일이 있습니다.
D:\WebGoat-5.2\tomcat\webapps\WebGoat\lesson_plans 
톰켓의 사용자 환경설정 파일인 tomcat/conf/tomcat-users.xml 파일을 접근해보겠습니다.

URL과 디렉토리를 보면 알수 있듯이 tomcat 디렉토리에 webapps가 웹 루트로 된것을 알수 있습니다.
파일 다운로드 시스템을 악용하여 공격합니다.

   -Firefox에서 Tamper Data를 실행합니다.
    : 파이어 폭스 에드온 프로그램인 Tamper Data를 실행합니다.( Post 데이터 값이나 Head값을 변경할 수 있는 에드온입니다.)
    : 다운로드 경로 : https://addons.mozilla.org/en-US/firefox/addon/tamper-data/
   - Start Tamper를 클릭하여 시작합니다.
   - 파이어 폭스에서 Choose the file to view : 목록에 파일을 아무거나 클릭 후에 View File를 클릭하면
   - 아래와 같은 Tamper with request? 창이 나타납니다.
   - Tamper 를 클릭하여 데이터을 합니다.


   - 오른쪽에 Post Data란에 File 부분에 
   /../../../conf/tomcat-users.xml 을 입력합니다. ( 이러 상대경로 설정 접근으로 PC에 있는 모든 파일을 열어 볼수 있습니다. )


   - 확인을 누르시면 파이어 폭스 화면에서 공격 성공 메시지를 확인 할 수 있습니다.



3. LAB : Role Based Access Control
 문제는 톰(일반계정) 계정을 사용하여 계정을 지워 버리면 성공 할 수 있습니다.
 문제를 읽어 보면 비밀번호는 prename 을 사용하다 되어 있네요.
 아직도 상당수의 일반인들이 아이디와 같은 비밀번호를 많이 사용하고 있다고 하지요?? 문제입니다.
 
   - 직원 목록에서 Tom Cat를 선택합니다.
   - 비밀번호 란은 tom입니다.
   - 로그인 화면을 보면 계정을 삭제 하는 기능이 없습니다.
   - 프로그래머들의 습성을 이해하고 URL을 파악을 하면 풀이가 가능한 부분입니다.
      보통의 프로그래머들은 View, Delete, Search 과 같은 것을 자주 사용하게 됩니다.
      아래에서는 ViewProfile를 변경하여 계정을 삭제 하면 됩니다.
   - Tamper Data를 실행 합니다.
   - 아래 화면에서 ViewProfile 을 클릭합니다.
 


   - Post 데이터를 아래와 같이 변경합니다.


    - 공격이 성공 하였되었습니다.

4. Stage 2 : Add Business Layer Access Control
   -  소스에서 방어 하는 방법입니다.
   - D:\WebGoat-5.2\tomcat\webapps\WebGoat\
           JavaSource\org\owasp\webgoat\lessons\RoleBasedAccessControl\RoleBasedAccessControl.java 
           파일을 수정하고 컴파일 한 후 WEB-INF\classes 디렉토리에 위에 패키지 경로를 찾아가서 수정된 class파일로 변환합니다.

추가할 코드 RoleBasedAccessControl.java 236 라인 부분   CODE HERE 아래 부분에 추가



   - 수정후에 톰켓을 다시 시작합니다.
   - State 1과 동일한 방식으로 Tom 계정을 삭제 합니다.
   - 아래와 같이 에러가 나타나면 정상적으로 방어 코딩을 한것 입니다.


5. Stage 3: Bypass Data Layer Access Control
   Tom의 약한 계정을 가지고 다른 계정을 컨트롤 하는 방법입니다.
   - Firebug를 열어 아래와 같이 select 박스의 value를 확인합니다.


   - manager 권한을 가진 사용자는 vlaue가 102입니다.
   - employee 권한을 가진 tom(105)으로 로그인 하여 102의 프로파일을 확인하면 됩니다.
   - tom의 프로파일로 로그인 합니다.
   - Tamper Data를 실행 하고 ViewProfile를 클릭합니다.
      tom의 employee_id 가 105입니다. 이것을 manager권한의 102로 수정하고 확인인 하면 성공.


   - 성공 하면 Moe의 프로파일을 보실 수 있습니다.


6. stage 3 방어 코딩을 하시면 됩니다.
   - stage 2와 동일한 파일을 수정합니다.
   - 아래는 수정 코드입니다. employeeld 를 가져 오기 위하여 코드를 수정하였습니다. userid도 약간 수정했습니다.
  - stage 3 과 동일한 방법으로 공격을 시도 합니다.

  - 아래와 같은 화면이 나오면 성공입니다.


7. Remote Admin Access
   - Goat에 어드민 모드가 있다는 군요.
   - 주소창 파라미터 부분에 &admin=true 를 입력합니다.
   - Admin Functions 에 몇가지 메뉴가 나타나는것을 확인합니다.
     User Information을 클릭하면 처음 화면으로 돌아가게 됩니다. 이것을 볼수 있도록 URL을 수정 합니다.
   - User Information의 마우스를  오른쪽 클릭 후 주소를 복사합니다.
   - 복사한 주소를 주소창에 입력 후 마지막에 &admin=true를 붙여 줍니다.
   - product information도 동일한 방법으로 합니다.
   - 모두 성공하였습니다.







download download download
Posted by yachtie_leo
기술/Script Kids Defender2011. 10. 7. 18:14
download download
HTTP 요청을 조작하여 수행을 하면 됩니다.

CR(%0d) : Carriage Return
LF(%0a) : Line Feed
을 활용하여 공격을 합니다.




방법1 .
http://yehg.net/encoding/
사이트에 접속하여 위에 코드처럼 Response 헤더를 작성합니다. 쿠키값을 보여주겠습니다.


- encodeURIComponent 버튼을 눌러 줍니다.
  내용이 인코딩 된것을 확인 할 수 있습니다.
 


-인코딩된 코드에 엔터 부분이 LF(%0A)로 표시 됩니다
-LF앞에 CR(%0D)를 입력하여 줍니다.  이렇게 해주면 ko-KR부분은 값 뒷부분은 헤더 정보로 인식하게 됩니다.
-CR코드를 쉽게 입력하기 위해서 아래의 항목을 선택합니다.



방법 2. 
다양한 방법과 툴이 만능 개발툴 UltraEdit로 코드를 바꿔보겠습니다.
울트라 에디터로 해당 내용을 작성합니다. 글을 모두 선택후에 
아래 그림처럼 HTML URL Encode 버튼을 누르변 CR코드까지 한번에 변환이 됩니다.





- 완료된 코드를 복사하여 WebGoat 화면에 INPUT 박스에 입력하고 버튼을 눌러 봅니다.

-Response 값이 공격자에 의해 변경되어 세션아이디가 나옵니다.


Stage 2: Cache Poisoning:
Victim의 캐쉬를 감염시키겠습니다.

Last-Modified: Mon, 27 Oct 2090 14:50:18 GMT  <--해당 라인을 추가 합니다.



-Congratulations. You have successfully completed this lesson.
이 표시되면 정상적으로 적용이 된것입니다.

download download download
Posted by yachtie_leo
기술/Script Kids Defender2011. 10. 6. 23:46
download download
웹 어플리케이션 보안에 대한 정보를 볼 수 있는 사이트입니다.
https://www.owasp.org/

WebGoat를 가지고 가상의 웹 어플리케이션 해킹 존을 구축 할 수 있다.
다운로드 : http://webgoat.googlecode.com/files/WebGoat-OWASP_Standard-5.2.zip

압축을 풀면 WebGoat-5.2라는 디렉토리가 생성이 됩니다.
해당 디렉토리로 가보면 webgoat_8080.bat 파일이 존재합니다.

참고로 자바에 톰켓 기반으로 구동되는 웹 어플리케이션입니다.
환경 설정에 자바 관련 설정이 있어야 합니다.

WebGoat-5.2\tomcat\conf\server_8080.xml을 열어 75번 라인을 변경합니다.
로컬아이피로 셋팅되어 있는것을 본인의 아이피로 셋팅합니다.
<Connector address="127.0.0.1" port="8080"
<Connector address="자신의 아이피" port="8080"
저장 완료 후 WebGoat-5.2\webgoat_8080.bat 을 실행합니다.

브라우저를 실행 하여 http://192.168.2.34:8080/WebGoat/attack 에 접속 합니다.
기본 계정은 아이디 : guest -  비밀번호 : guest 입니다.



Start WebGoat를 클릭합니다.


 
접속 화면입니다.



XSS, Injection등 다양한 공격을 테스트 할 수 있습니다.

이걸 보니 오래전에 국내에 해커스랩이 생각이 나는군요.
download download download
Posted by yachtie_leo
기술/Script Kids Defender2011. 10. 6. 16:33
download download

- 방화벽과 보안 솔루션을 우회하여 접근하는 방법

보안솔루션에서 보통 in 은 80,443 포트외에 거의 막아 놓기에 Victim에 접근하기 어려움이 있습니다.
하지만 보통 out은 제한을 하지 않습니다.

Reverse 공격 기법은 Victim에서 역으로 공격자 쪽으로 접근하는 방법을 말합니다.

Reverse 공격에 사용되는 툴중에 Social-Engineer Toolkit 이 있습니다.
SET 툴을 가지고 다양한 공격을 할 수 있습니다.


SET 사용법 연구하려면 시간좀 걸리겠군요.
download download download
Posted by yachtie_leo
기술/Script Kids Defender2011. 10. 6. 15:03
download download

윈도우용 최고의 해킹 툴로 알려져 있는 Cain&Abel 입니다.
다운로드는 아래의 경로에서 받으실수 있습니다.
http://www.oxid.it/cain.html

ARP 스푸핑을 해보겠습니다.
1. 처음 실행 후 메뉴에서 Configure 선택합니다.
  - Sniffer 탭에서 자신의 네트워크 카드를 선택합니다.
  - 네트워크 카드 아이콘을 선택합니다.


2. 서브넷에서 Host를 검색합니다.
   - Sniffer 탭을 클릭합니다.
   - 하단에 Host 탭을 클릭합니다.
   - 상단에 + 아이콘을 클릭하여 호스트들을 검색합니다.


3. ARP spoofing 시작
   - 하단에 방사능 탭을 클릭합니다.
   - 왼쪽 트리에서 APR을 클릭합니다.
   - 오른쪽 빈공간을 마우스로 클릭하면 상단에 +가 활성화가 됩니다.
   - ARP Poison Routing 화면에서 좌측에 모니터링 할 아이피를 선택합니다.
   - 오른쪽 탭에서는 Gateway를 선택하여 줍니다.


타겟 PC의 arp 테이블을 보면 변경이 된것을 확인 할수 있습니다.
-확인 명령어 : cmd 창에서 arp -a 엔터



4. 방사능 아이콘을 클릭하면 모니터링을 시작합니다.

 


download download download
Posted by yachtie_leo