23.12.24 삭제예정/웹해킹 9

File Upload

- 서버쪽에서 특정 Content-Type만 업로드가 가능한 경우 중간에서 Content-Type만 수정해주면 우회가 가능 - 소스코드 상에서는 우측에서 부터 확장자를 인식하는 반면, 서버에서는 좌측에서부터 확장자를 인식한다. 때문에 서버에서 .jsp든 .php든 뒤에 이상한 확장자가 붙어있어도 좌측부터 확장자를 찾기 때문에 기존에 코딩된 php 또는 jsp로 인식됨

■ Day 3 Sql injection- medium

■ 기존의 low에서와 달리 특별한 syntax에러가 발견되지 않는다. 다음의 예제를 통해 확인을 해보자 ■ Sql injecion - select 다음과 같이 하단의 select a movie를 선택할때 마다 url이 변경되는 것을 확인해 볼수 있다. 그렇다면 url 부분에 sql문을 집어 넣어 출력을 하게 된다면 어떻게 될것인가? 다음과 같이 컬럼의 개수를 파악하는것이 중요한데 다음처럼 삽입을 하게 된다면 하단과 같이 하단의 컬럼 개수가 다르다는 문구가 나타나는것을 확인 즉 컬럼의 개수만을 맞추게 된다면 원하는 결과값을 얻을수 있다는 결론이 나온다. http://localhost/bWAPP/sqli_2.php?movie=0 %20 union %20 select %20 all %201,table_nam..

■ Day 2 HTML INJECTION (레벨 medium)

■ Low 레벨에서는 손쉽게 웹 해킹이 가능하였지만 medium에서는 다름 ■ 예시 실제 똑같은 Html injection 이자만 일반 텍스트로 인식을하여 출력되는 것을 확인해 볼수 있다. 즉, 개발자가 개발된 function이 잘 작동하고 있다는 의미 이러한 일반 텍스트를 우회하기 위해서는 인코딩을 통한 방법이 한가지로 존재한다. 인코딩을 변환하는 사이틑 하단을 참조 https://coderstoolbox.net/string/#!encoding=url&action=encode&charset=utf_8 https://www.w3schools.com/tags/ref_urlencode.asp 이렇게 인코딩된것을 앞서 실행한 firstname , lastname에 기입을 하게 된다면? low레벨에서 처럼 XS..

■ Day 1 웹 해킹-디렉토리 리스팅

1. 디렉토리 리스팅을 통해 해당 홈페이지의 구조를 한번에 파악할수 있다. 가령 다음과 같이 디렉토리 리스팅이 존재를 한다면 방지를 하여 디렉토리의 구조를 볼수 없도록 하여야 한다.If 아파치 웹 서버를 사용하는 경우는 다음과 같이 처리를 한다.보통 OS에 따라 다르긴 하지만 다음과 같은 위치에 존재하는 conf 파일에서 indexes를 제거해야 한다. 즉 이 부분 때문에 디렉토리 리스팅이 존재한다고 보면 된다. CentOS이면 /etc/httpd/conf/httpd.conf우분투이면 /etc/apache2/apache2.conf원도의 경우 설정-->제어판-->관리도구-->"인터넷서비스관리자" 선택 후 해당 웹 사이트에 오른쪽 클릭 하고 홈 디렉토리 탭에서 디렉토리 검색 해지

sql injection(sqlite)

■ SQL Injection(Sql Lite) sqlite란 무엇? mysql이나 postgreSQL과 같은 dbms이지만 서버가 아니라 응용프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스 가운데 api는 단순히 라이브러리를 호출하는 것만 있고, 데이터를 저장하는데 하나의 파일만을 사용하는 것이 특징(주로 모바일 실제로 입력되는 값들을 찾아보면 'union select 1, sqlite_version(), 3,4,5,6--를 통해 SQLite 버전 정보가 출력되는 것을 확인 뒤의 --는 주석처리를 한다는 의미 즉 뒤에 무엇이 오든 상관이 없다는 의미이다. 앞에 어떠한 쿼리가 존재하지는 모르나 union으로 sql을 통합하고 그결과를 가져온다고 생각!! 'union select 1, sql, 3,4,5..

oracle

■ 주요정보통신기반시설 Oracle-DBMS의 취약점 가이드 2.5 일정 횟수의 로그인 실패 시 잠금 정책 설정취약점 구분 접근관리실제 취약점을 살펴 보면 접근 횟수 제한을 위해 파라미터 설정을 하라고 정의됨그렇다면 프로파일이 현재 계정에 어떻게 되어 있는지 조회할 필요성이 존재이유 프로파일의 현재 상태를 보고 안되어 있다면 조치를 해야 하기 때문에... ◆ 작업순서 정책에 따른 프로파일을 만든다-->만든 프로파일을 해당 계정에 적용시킨다. 실제 작업 방법을 확인 다음과 같이 실제 system 계정의 프로파일을 확인해 보면 다음과 같이 결과 값이 나옴 failed_login_attempts는 계정잠금: 계정을 잠그기 전까지 로그인을 시도하다 실패한 횟수, 만약 오라클 서버는 faied_login_atte..

bee box를 이용한 취약점 점검 방법

다음과 같이 아이디 및 패스워드를 전송 함 &를 통해 키=값의 쌍으로 이뤄진 것을 확인 를 통해 다음과 같이 쿠키값을 얻을수 있음의 삽입을 통해 정보 획득 이를 방지하기 위해서는 다음과 같이 변환할 필요!! 다음의 내용은 apt-get install gedit를 설치후, login.php로 들어갈시 나타남 실제 이 함수가 적용된 위치는 다음과 같다. 실제 편집을 하기 위해서는 sudo명령어를 통해 접근을 실시 실제 호출된 함수가 호출된 login.php에 불러 들여지는 xss_check_0을 추가함으로써 실제 0으로 low레벨로 불러 들여지는 것을 방지한다.