BEE-BOX(bWAPP) 실습(1)

estar987·2023년 9월 13일
0

Security

목록 보기
38/43
post-thumbnail

HTML Injection - Reflected (GET)

    ● 테스트 1(bee-box)
       → 텍스트 출력 후 작업 
    ● 테스트 2(bee-box)
       → 텍스트 출력 후 작업 
    ● 결론
       → url에 입력한 first name과 last name이 그대로 출력된다(get 방식의 특징)
    ● 테스트 3
       → 사진 출력하기 
    ● 테스트 4
       → cookie 출력하기

HTML Injection - Reflected (POST)

    ● 개요
       → <body> (실제 웹 브라우저에 표시되는 부분) 태그에 정보를 포함하고 있다
       → 따라서 URL 주소창에 서버에 전송되는 데이터 (정보)가 노출되지 않는다
    ● 테스트 항목
       → 일반 텍스트 입력하기
       → 벌 사진
       → cookie 
       → <h1></h1>
       → low / medium / high 차이 비교
    ● 테스트 1
       → Kali에서 bWAPP의 스크립트 코드를 입력하고 Paros 프록시로 학인하기
    ● 테스트 2
       → Win10 에서 bWAPP에 스크립트 코드를 입력하고 Burp Suite 프록시로 확인하기
       

HTML Injection - Reflected (Current URL)

    ● 테스트 1
       → Win 10에서 Burp Suite으로 History로 target을 설정하고 Intercept를 키고 
          bWAPP에서 URL 공격을 누르고 해킹 한다
       → 그리고 RAW와 Headers를 확인한다
       

HTML Injection – Stored(Blog)

    ● 테스트 1
      1. blog injection에 정보 입력
      2. 누가 언제 올렸는지 확인 가능(게시판과 비슷)
      3. Win 10의 Burp Suite로 확인
    ● 결론
       → Security Level을 Medium과 High로 하는 겨웅 엔트리 아느이 소스가 그대로 노출됨
       → bWAPP의 소스 코드에서 (Html injection Post) <form></form> 부분을 긁어 온다
       → 입력하고 submit을 하면 입력창이 나온다
       → 이것이 피싱사이트의 기본이다
       

iFrame Ingection : (POST방식이다)

    ● HTML Injection 방식
       → Reflected 방식(URL 클릭)
         : 피싱 사이트 접속한 이후 개인정보 유출, 인증 안된 프로그램 설치 등 
       → Stored 방식(게시물 클릭)
         : 피싱사이트 접속 유도, 쿠키 정보 탈취, 악성 코드 유입, 랜섬웨어, 인증 
           안된 프로그램 설치 등 
    ● 테스트 1
      1. 작업 선택한다 
      2. 들어가서 html 코드를 확인하고 <iframe> ~ </iframe>을 복사한다
      3. 상단 url 주소를 복사한다 
      4. 자신의 주소를 입력해서 아래와 같이 코드를 생성해서 4줄의 코드들을 주소창에 검색
      5. HTML 프레임 안에 사이트가 출력된다
    ● 테스트 2
      1. 테스트 1과 동일한 방법으로 만든 코드에서 height와 width를 0으로 설정해서 출력
      2. 아무것도 나타나지 않는다
      
    ● 테스트 3
       → 팝업창 띄우기
      1. popup.html 생성(/var/www/bWAPP/popup.html)
        <script>alert(CLOUD CD)</script>
      2. 테스트 1과 테스트 2에서 만든 html 코드에서 src 뒤에 localhost를 새로 생성한 
        popup.html로 바꾼다
        
        

Injection(인젝션) - Server-Side-Includes(SSI)

    ● 개요
       → 웹 브라우저를 통해 사이트에 접속할 때 URL에 출력되는 내용(*.shtml)을 확인한다
       → SSI 기능을 사용하는 사이트를 파악한 후 명령을 통해 인젝션하고 정보 등을 확인한다
    ● *.shtml
       → HTML 코드 전체가 아닌 일부 내용(공통 모듈)을 추가하는 기능을 가지고 있다
       → SSI를 사용하는 웹 사이트를 처리하기 위한 파일이다
       → SSI를 사용하지 않는 웹 사이트는 이 파일이 주석처리 되어있다
       → 사이트 누적 조회수 등을 처리할 때 사용된다

    ● 테스트 1
       → First name : samadal Last name : 12 입력
       → 주소 검색 url에 localhost검색하면 loopback(127.0.0.1)이 나오고 내 시스템의 주소인
          192.168.95.128을 입력하면 그 주소가 나온다
   


    ● 테스트 2
       → /var/www/bWAPP/ssii.php 파일 74번째 줄

else
{

    $line = '<p>Hello ' . $firstname . ' ' . $lastname . ',</p><p>Your IP address is:' . '</p><h1><!--#echo var="REMOTE_ADDR" --></h1>';

    // Writes a new line to the file
    $fp = fopen("ssii.shtml", "w");
    fputs($fp, $line, 200);
    fclose($fp);

    header("Location: ssii.shtml");

    exit;

}

       → First name : <!--#exec cmd="cat /etc/passwd"--> 
       → Last name : 아무거나
       → 사용자의 정보가 출력된다

       → First name : <!--#exec cmd="cat /etc/shadow"--> 
       → Last name : 아무거나
       → 아무 것도 출력되지 않는다(권한 문제)

       → /etc/passwd 와 /etc/shadow 파일의 권한 확인

Injection(인젝션) - SQL Injection(GET/Search)

    ● 개요
       → SQL 쿼리문의 일부로 사용되는 사용자 입력 데이터를 적절하게 검증하지 
          못 할 때 발생한다
       → URL 창 또는 ID, PW 입력화면에서 SQL 문에 사용되는 기호(‘,”) 및 입력을 적절하게 
          필터링 하지 않을 때 발생한다
    ● 테스트 1
       → 취약점 유무 점검(작은 따옴표(‘) 한개만 입력)
       → 오류가 발생한다

    ● 테스트 2
       → 1’ or 1=1

    ● 테스트 3
       → 1’ or 1=1#


    ● 테스트 4
       → ' union select all 1#

    ● 테스트 5
       → ' union select all 1,2,3,4,5,6,7#

    ● 테스트 6. 인젝션 추가 및 결과 출력
       → union
         : Select 명령에서 2개 이상의 Select 문을 실행하기 위해 사용
         : 필드 개수를 정확히 입력해야 SQL Injection 실행한 후에 정보확인 가능하다
       → ' union select all 1,database(),user(),system_user(),@@version,6,7#
         : 데이터 베이스 이름
         : 사용자 아이디
         : 관리자 권한이 부여된 사용자 아이디
         : SQL 버전

    ● 테스트 7. information_schema(테이블들의 데이터 베이스 정보)
       → bWAPP의 데이터 베이스를 확인한다





: 굉장히 위험하다 데이터 베이스안에서 확인했던 내용이 그대로 출력된다

profile
System / Cloud / DevOps Engineer

0개의 댓글

관련 채용 정보