본문 바로가기

Web Hacking

(18)
overthewire - Natas(0~5) Natas 0 # 소스코드에 답이있다.. ㅠㅠ Natas 1 #우 클릭을 막아놨다... 하지만 링크에 view-source를 통해 쉽게 우클릭 없이 소스코드를 볼 수 있다 .! Natas 2 1). 이 페이지에는 아무것도 없다. 2). 있다. src="files/pixel.png"가 눈에 띈다 3). 현재 경로에 files 디렉터리가 있다는 것을 알 수 있다 수상하다. 접속해보니 다음과 같이 나오는 것을 확인 할 수 있다. 이러한 것을 directory listing 또는 directory traverser라고 한다. 4). users.txt에 접속해보자. 해결완료! Natas 3 1). 또 아무것도 없다 2) 구글에 찾아봐도 없다해서 찾아봤다.! 단서는 rotbots.txt이다. 히 파일은 '로봇 제외..
XSS(Cross Site Scripting) XSS란 ?? 웹 해킹 공격 기법중 하나로서 Cross Site Scripting의 약자이다. CSS라는 약어가 이미 사용중이기 때문에 XSS라고 한다. XSS는 게시판이나 웹 메일 등 자바 스크립트와 같은 스크립트 코드를 삽입해 개발자가 고려하지 않은 기능이 작동하게 하는 단순하고 치명적인 공격이다. XSS는 크게 Reflected XSS와 Stored XSS로 분류할 수 있다. Reflected XSS는 공격 스크립트가 삽입된 URL을 사용자가 쉽게 확인할 수 없도록 변형시킨 후 이메일이나 다른 웹사이트 등에 클릭을 유도하도록 하는 방법이다. 1. 게시판 본문에 다음과 같이 script를 입력해보자. 2. 그럼 다음과 같이 아무 문제 없이 script가 실행되어지는 것을 확인할 수 있다. 3. 소스코..
제로보드 환경 설정 제 1. tar -xvf zboard.tar) 2. 소유권을 707으로 바꿔준다. (페이지 접근을 위함.!) 3. 소유권을 변경 후 http://본인ip주소(zboard경로)/zboard/install.php 로 접속한다. ※ 여기서 글자가 깨져서 나온다면 /etc/php.ini에 short_open_tag를 On으로 해주면 된다. php는 시작을 로 시작한다 하지만 어떤 소스는 'php'를 생략하고 로 쓰기도한다. 제로보드가 그렇다 php를 생략하기 때문에 short_open_tag를 on해줘야 한다. 이 php.ini설정파일에서 register_long_arrays 와 register_globals 도 on으로 해줘야 한다. 새로고침과 로그인문제를 해결해 준다. 4. zboard 폴더의 schema...
MYSQL SERVER , CLIENT 설치 방법 및 기본 쿼리 mysql server , client 설치 방법 및 기본 쿼리 1) #> yum install mysql.server.i686 // mysql과 연관된 의존성 파일 모두 설치된다. 2) #> yum list installed mysql* // 다운로드 확인 3) #>service mysqld start (mysql demon 가동) 4) #>netstat -ant // 3306port 확인. 5) #> mysql -h localhost -u root // 호스트로 localhost 유저로 root를 설정하고 시작 (localhost인 경우 -h localhost 생략 가능) 6) 암호 설정 리눅스 환경에서 .. #> mysqladmin -u root password [사용할 password] # 이제 ..
PHP (GET, POST) 1. super globals 변수 php는 미리 지정된 변수가 몇가지 있다. 이것을 superglobals라고 한다. superglobals는 무조건 사용할 수 있는 글로벌 변수이다. (출처:https://thehackernews.com/2013/09/thanks-to-php-superglobal-80-websites.html) 2. GET and POST (1) GET 방식 - 클라이언트로부터의 데이터를 이름과 값이 결합된 스트링 형태로 전달한다. - 데이터가 주소 입력란에 표시되므로 최소한의 보안도 유지되지 않는다. - 데이터베이스에 대한 질의어 데이터와 같은 요청 자체를 위한 정보를 전송할 때 사용된다. - 데이터를 보낼 수 있는 양이 한정되어있다. - HTTP헤더를 통해 데이터 전달 된다. (다..
PHP PHP란?? 프로그래밍 언어의 일종이다. 원래는 동적 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해 PHP로 작성된 코드를 HTML소스 문서 안에 넣으면 PHP처리 기능이 있는 웹서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성한다. 근래에는 PHP코드와 HTML을 별로 파일로 분리하여 작성하는 경우가 일반적이며, PHP 또한 웹서버가 아닌 php-fpm을 통해 실행하는 경우가 늘어나고 있다. [출처:https://ko.wikipedia.org/wiki/PHP] 1. 리눅스 환경(php(실행기 설치)) 2. 소스 코드 작성 # 설치 후 다음과 같이 hello.php를 만들어보자.. 위에서 알 수 있는 것들 ! # php 코드는 태그 안에 들어 있어야 한다. PHP소스 파일외에 H..
HTML에서 Javascript 로드하기 HTML - 정보를 표현하는 언어 CSS - 정보를 꾸며준다 JavaScript - HTML을 프로그램적으로 제어 inlien # 위의 코드는 Hello world라는 button을 클릭했을때 이벤트가 발생하여 hello world라는 경고창을 보여주는 코드이다. 여기서 onclick=""은 HTML이고 alert('Hello world')는 Javascript이다. 이런것을 inline 방식이라고 한다. inline 방식은 태그에 직접 자바스크립트를 기술하는 방식이다. 장점은 태그에 연관된 스크립트가 분명하게 드러난다는 점이다. 하지만 정보)(html)와 제어(javascript)가 섞여 있기 때문에 정보로서의 가치가 떨어진다. script # script태그를 만들어서 여기에 자바스크립트 코드를 삽입..
HTML(id, class, css) HTML의 글로벌 속성에는 id, class가 있다. id는 유일한 값이고, class는 여러 요소를 표현하는 것이다. 예제를 보면 쉽게 이해할 수 있다. # 먼저, body의 속성값을 눈여겨 보자. 2째 문단에 id속성으로 unique, 3번째 5번째 문단에 class속성으로 multi를 줫다. id속성은 #으로 표시하고 class속성은 .으로 표시한다. 밑의 결과를 보면.. unique는 말그대로 한개 요소만을 위한 스타일이라 생각하면되고 class는 여러 요소를 위한 스타일이라고 보면된다. 다음으로 css란 요약 웹 문서의 전반적인 스타일을 미리 저장해 둔 스타일시트이다. 문서 전체의 일관성을 유지할 수 있고, 세세한 스타일 지정의 필요를 줄어들게 하였다. 예를들면.. 위의 태그 부분을 복사해 다음..