본문 바로가기

전체 글177

■ DBMS 점검 가이드 1-1 기본 계정의 패스워드, 권한 등을 변경하여 사용 1.점검내용 : DBMS 기본 계정의 디폴트 패스워드 및 권한 정책 변경사용 점검 2. 점검목적: DBMS 기본 계정의 디폴트 패스워드 및 권한 정책 변경 사용 유무 점검, 비인가자의 디폴트 패스워드 대입 공격차단하고 있는지 확인 하기 위함 3. 보안위협 : DBMS 기본 계정 디폴트 패스워드 및 권한 정책을 변경하지 않을 경우 비인가자가 인터넷을 통해 DBMS 디폴트 패스워드 획득가능 ★ 주요정보통신기반시설에서 잘못된 점 1. 실제 가이드를 살펴보면 Mysql에서 root 계정 패스워드 변경는 다음과 같이 하라고 나타남 그러나 이렇게 실제로 실행을 하면 에러가 발생됨 그 이유는 주요정보통신기반시설 버전이 너무 오래전이라 최신 Mysql 버전과 맞지 않는다. 지금의 Mysql 최신버전은 8.0.18로 나.. 2020. 1. 13.
colorcop 2019. 6. 2.
■ 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.. 2019. 2. 12.
■ 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.. 2019. 2. 11.
■ Day 1 웹 해킹-디렉토리 리스팅 1. 디렉토리 리스팅을 통해 해당 홈페이지의 구조를 한번에 파악할수 있다. 가령 다음과 같이 디렉토리 리스팅이 존재를 한다면 방지를 하여 디렉토리의 구조를 볼수 없도록 하여야 한다.If 아파치 웹 서버를 사용하는 경우는 다음과 같이 처리를 한다.보통 OS에 따라 다르긴 하지만 다음과 같은 위치에 존재하는 conf 파일에서 indexes를 제거해야 한다. 즉 이 부분 때문에 디렉토리 리스팅이 존재한다고 보면 된다. CentOS이면 /etc/httpd/conf/httpd.conf우분투이면 /etc/apache2/apache2.conf원도의 경우 설정-->제어판-->관리도구-->"인터넷서비스관리자" 선택 후 해당 웹 사이트에 오른쪽 클릭 하고 홈 디렉토리 탭에서 디렉토리 검색 해지 2019. 2. 10.
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.. 2019. 2. 1.