본문 바로가기
반응형

프로그래밍194

[WEB HACKING] 파일 업로드 우회기법 이용 방법 / 원격쉘 개념 및 종류 / RFI( Remote File Inclusion ) 취약점 파일 업로드 우회기법 이용 방법 / 원격쉘 개념 및 종류 / RFI( Remote File Inclusion ) 취약점에 대해서 정리한다. 파일 업로드 우회기법 - 파일 확장자를 우회하는 방법 - .htaccess - 공격자 파일 - 한 디렉터리에 존재 * 여러가지 방법 중 하나의 우회기법일 뿐이고 시나리오는 여러가지로 바뀔수가 있다!! 원격 쉘 1. 웹 쉘 - php 파일 업로드 취약점을 이용해서 웹쉘에 대한 간단한 개념만을 이해했다. * 보통 웹쉘의 경우 파일을 업로드 시켜 웹에서 마우스 클릭만으로 조작이 가능하다. ( 파일 업로드 취약점을 이용해서 웹 쉘의 개념을 간단히 알아보려고 한다... ) ( .htaccess는 이미 웹 서버 해당 디렉토리에 저장 되어있기 때문에 attack2.txt 파일만 .. 2017. 9. 1.
[WEB HACKING] img 태그를 이용한 CSRF / 서버측 언어를 이용한 취약점( php 파일 업로드 취약점, RFI< Remote File Include > ) / 필터링 우회 / 아파치 웹서버 설정 이해 img 태그를 이용한 CSRF / 서버측 언어를 이용한 취약점( php 파일 업로드 취약점, RFI ) / 필터링 우회 / 아파치 웹서버 설정 이해에 대해서 정리한다. img태그를 이용한 CSRF ! img, iframe, embed, ... 태그를 사용 - img 태그를 예로 들면 src 속성에 그림이 아닌 주소와 보내려는 데이터를 넣게 되면 서버로 해당 요청이 일어나게 되면서 만약 해당 img 태그가 걸려있는 게시글에 관리자가 접속하게되면 이미지를 가져와야 되기 때문에 서버로 해당 요청을 자동으로 보내게 되면서 해당 요청이 관리자 권한으로 실행이 된다. ( img 태그를 이용해서 제로보드 게시판에 CSRF 실습을 진행하기 위해서 일반회원으로 가입을 했다 ) (.. 2017. 8. 31.
[WEB HACKING] XSS 종류 및 차단 방법( 입력값 검증 ) / CSRF( Cross Site Request Forgery ) 취약점 개념 XSS 종류 및 차단 방법( 입력값 검증 ) / CSRF( Cross Site Request Forgery ) 취약점에 대해서 정리한다. XSS 종류 1). stored XSS - 게시글, 쪽지, 회원정보, ... 2). reflected XSS - 입력값이 그대로 되돌아오면서 스크립트가 실행 - 링크: shorten url을 이용해서 script를 감추는 방법 1. 기존의 보안 방식 1). 솔루션의 이용: 방화벽, 웹 방화벽, IPS, IDS, 백신, ... - 가장 오래된 전통적인 보안 방식 - 완벽하진 않지만 최소한의 보안을 위해서 사용한다.. ( 예를 들어 우리가 집에서 나올때 현관문을 잠그고 나오는 것과 비슷한 개념이라고 보면 된다 ) 2). 보안 패치 ! 일반적인 개발 과정 기획 -> 설계 -.. 2017. 8. 30.
[WEB HACKING] 제로보드 설치 / 제로보드 XSS( Cross Site Scripting ) 취약점 제로보드 설치 / 제로보드 XSS( Cross Site Scripting ) 취약점에 대해서 정리한다. 제로보드 설치 1. 클라이언트측 언어를 이용한 취약점 2. 서버측 언어를 이용한 취약점 3. SQL을 이용한 취약점 1. 제로보드 다운로드 #> wget http://192.168.12.186/zboard.tar 설치 경로: /var/www/html 2. 설치 페이지 접속 웹 브라우저: http://ip/zboard/install.php ( 제로보드가 옛날에 나온거라서 설치를 진행하기 위해서는 이전에 설정을 해줘야 되는 부분이 여러가지가 존재한다.. ) * 글자가 깨져서 나오거나 무한 refresh 되는 경우에는 설정을 통해서 수정이 가능하다. ( /etc/php.ini 설정파일에서 229 short_.. 2017. 8. 30.
[WEB HACKING] 게시판 만들기(4) 전체 코드 게시판 만들기(4) 코드에 대해서 정리한다. - 클라이언트 언어로는 HTML, JAVASCRIPT 사용 - 서버 언어로는 PHP 사용 - DB는 MySQL 사용 * 조금더 완성도를 높이기 위해서 처리할 부분들은 많이 있지만 게시판을 만들어보면서 게시판 동작 과정에 대해서 이해하려고 하였고 추후에 시간이 된다면 게시판 기능을 조금더 보완해볼 생각이다.. index.php 메인 페이지 write.php 글쓰기 페이지 signup.php 회원가입 페이지 - 게시판 전체 코드 index.php Toggle navigation 게시판 Sign in Sign out 번호 게시글 제목 작성자 작성시간 2017. 8. 29.
[WEB HACKING] 게시판 만들기(3) 로그아웃 기능 / 글쓰기 기능 / 페이징 처리 게시판 만들기(3) 로그아웃 기능 / 글쓰기 기능 / 페이징 처리에 대해서 정리한다. 3. write.php / write_ok.php 1). write.php - 입력 폼 2). write_ok.php - 입력 폼으로부터 데이터를 전달받아서 디비에 저장 - board 테이블: 게시글 번호(식별자), 게시글 제목, 게시글 본문, 글 작성자, 작성 시간( 자동으로 처리 ) - db 복구 방법 1). 기존 DB의 데이터는 삭제2). DB가 없으면 먼저 생성 #>mysql -u root -p 디비이름 < backup.sql ( 로그아웃 기능을 확인하기 위해서 가입된 사용자로 로그인을 했고 정상적인 로그인을 알려주는 alert창이 나오게 된다 ) ( 오른쪽에 있는 코드는 signout.php의 코드로써 inde.. 2017. 8. 29.
[WEB HACKING] 게시판 만들기(2) 메인 페이지 / 로그인 구현하기 / DB 연결 페이지 게시판 만들기(2) 메인 페이지 / 로그인 구현하기 / DB 연결 페이지에 대해서 정리한다. 2. sign in( 로그인 ) - signin.php - session 테이블에 로그인된 사용자의 정보를 저장 - 사용자 번호, 사용자 아이디, 세션 번호(session_id()) ( 부트스트랩을 이용해서 index.php의 디자인과 뼈대를 구성해줬다 ) ( index.php 페이지에서 id, pw를 입력해서 signin.php 페이지로 전송하게 되고 그 값이잘 전송이 되는지를 $_POST에 들어있는 내용을 출력해보면 알 수 있다 ) ( 위 그림을 보면 user_id와 user_pw에 대한 정보가 정상적으로 signin.php로 전달이 되는걸 볼 수 있다 ) ( 로그인된 사용자의 no, 사용자 아이디와 세션 아.. 2017. 8. 29.
[WEB HACKING] 게시판 만들기(1) 시나리오 / 회원가입 페이지 만들기 게시판 만들기(1) 시나리오 / 회원가입 페이지 만들기에 대해서 정리한다. 게시판 만들기(1) 시나리오 1. 사용자는 회원가입 후에 로그인할 수 있다. 2. 이미 가입된 사용자의 아이디는 사용할 수 없다. 3. 중복 로그인은 허용하지 않는다. 4. 로그인 하지 않은 사용자도 게시글 목록을 볼 수 있다. 5. 로그인 하지 않는 사용자는 게시글 내용을 보거나, 작성할 수 없다. 6. 로그인한 사용자는 게시글 내용을 볼 수 있으며, 게시글을 작성할 수 있다. 7. 로그인한 사용자는 자기가 작성한 게시글에 대해서 수정이나 삭제가 가능하다. 세부 기능 1. 회원가입 - 사용자 아이디, 사용자 패스워드, 이메일 - 아이디 중복체크 기능 - 공백은 허용하지 않음 2. 로그인 - 사용자 아이디, 사용자 패스워드 - 이.. 2017. 8. 29.