
웹 해킹에 대한 틀은 알고 있지만 내용이 정리되지 않아서 세부 개념을 정리하고자 해당 게시물을 작성하였다. 1. 웹 해킹이란? 1) 개념 웹 어플리케이션 해킹 이라고도 부르고 웹 서비스 상에서 발생될 수 있는 모든 보안 허점(Security Hole)을 이용해 악의적인 행위를 하는것이다. 웹 서비스를 대상으로 공격을 주로하지만 프레임워크(Spring), 웹 어플리케이션 서버 대상으로 공격을 수행할수도 있다. 웹 어플리케이션: PHP, JSP, ASP언어로 작성된 프로그램이고 웹브라우저로 실행할 수 있다. 2) 웹 해킹이 증가하게된 이유 방화벽이 도입되면서 웹 해킹이 더욱 주목을 받게 되었다. 방화벽은 IP, Port기반으로 차단을 수행하고, 흐름을 Inbound, Outbound로 설정하는 보안장비이다...

CVE Code: CVE-2020-13426 Vunerability Name: WordPress Plugin Multi-Scheduler 1.0.0 Cross Site Request Forgery 1. 개념 WordPress는 세계 최대의 오픈 소스 저작물 관리 시스템이며, 워드프레스 기반 웹사이트는 전 세계 웹사이트의 30%를 차지한다. Multi-Scheduler는 이벤트 예약(약속, 회의, 인터뷰)을 관리하고 이를 위해 날짜, 달력, 사용자 목록, 주소 목록 및 보고서 생성을 관리할 수 있는 플러그인이다. WordPress 플러그인 중 Multi-Scheduler 1.0.0 버전에서 취약점이 발견되었다. 2. 취약점 설명 CSRF 공격을 이용하여 삭제 요청을 보내 희생자의 사용자 목록을 삭제하는 취..

1. 개념 Zyxel(자이젤)은 네트워크 장비 제조 회사이다. 2. 취약점 설명 Mirai 악성코드의 새로운 변종 Mukashi가 Zyxel이 제조한 NAS(Network-Attached Storage) 장치에 대한 공격에 이용되었다는 것을 발견하였다. Zyxel NAS 및 방화벽 제품에 사용되는 weblogin.cgi 프로그램에서 RCE 취약점 존재 하고 weblogin.cgi 의 전달된 username매개변수가 제대로 확인 및 검사되지 않아서 발생한다. 공격자는 이를 이용해 사용자 username필드에 몇 가지 문자를 더함으로써 명령을 주입할 수 있다. weblogin.cgi가 루트에서 실행되지는 않지만, 취약점을 가지고 있는 장비에는 setuid 유틸리티가 있어 공격자는 루트 권한을 가지고 명령을 ..
![[Theory]봇넷(BotNet) 이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5wMik%2FbtqERt35xiC%2FdG1keZDV89bvlNokBOtQPk%2Fimg.png)
1. 봇넷(BotNet) 이란? - 좀비 디바이스(악성코드에 감염된 컴퓨터, 봇)로 구성된 네트워크 - 봇마스터에 의해 원격 조종되며 각종 악성행위를 수행할 수 있는 수천에서 수십만대의 봇들이 네트워크로 연결되어있는 형태 - 봇 좀비들에게 명령을 내리고 제어하기 위한 서버(C&C Command & Control Server)방식을 사용 - 최근 많은 변종들이 출현하고 있고, 초고속 인터넷 인프라가 잘 갖추어져 있는 곳 선호 봇마스터: 봇들을 자유자재로 통제하는 권한을 가짐 2. 봇넷의 구성 1) 봇넷 컨트롤러 - 봇넷을 컨트롤 하는 공격자 - 법적 규제를 피하기 위해 은닉 수행 2) C&C 서버 - 공격자의 명령과 컨트롤을 맡고 있는 서버 - 메인 디바이스로 좀비 디바이스에게 명령 하달 및 좀비 ..
![[Natas] Natas7 - Natas8](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0nHBB%2FbtqEMk6oo3s%2FS3x38Lecj3n7wwKuwGpnLk%2Fimg.png)
1. Question - 이전 문제와 동일하게 비밀번호 입력 항목 및 제출 버튼이 존재 2. Answer - 해당 값을 입력 시 POST로 전송하는것을 확인 - 소스코드를 확인해본 결과 encoding된 Serect값이 저장된 encodedSecret 변수 존재 - post에서 srcert값을 검증할 때 encoseSecret()함수를 통해 검증 수행 - encodeSecret bin2hex()함수를 이용해 2진수를 16진수로 변환하고 secret값을 base64_encoding 수행 후 strrev()함수를 통해 문자열 반전 수행 동작 순서: secret 값 입력 → sercret값 base64 encoding → 문자열 반전 → 반전된 문자열 16진수로변환 작업 순서: 16진수 문자열 2진수로 변환 ..
![[Natas] Natas6 - Natas7](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmriTx%2FbtqEKxTFdWE%2F3LBzqIyMMciYdD1K5flIk1%2Fimg.png)
1. Question - 비밀번호를 입력하라는 문구와 비밀번호를 입력하는 input필드, 비밀번호를 검증하는 submit버튼이 존재한다. 2. Answer - 소스코드를 봤을때 input영역에 name값이 secrect이고 submit버튼을 통해 전송될 경우 post로 전송되는것을 확인 - php 코드를 확인해본 결과 secret 값이 $_POST['secret']인 경우 인증 수행 하고 include 영역에 /include/secret.inc 파일이 참조되어 있음 (php 코드는 서버에서 설정하므로 일반 사용자가 볼 수 없지만 힌트를 제공하기 위해서 따로 보여준것으로 추측됨) 1) inc 파일이란? - 여러 파일에 똑같은 소스가 중복되어 들어갈경우 소스의 최적화, 유지보수 효율 증대를 위해 중복되는 소..
![[Natas] Natas5 - Natas6](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXESn4%2FbtqEKPNgV8M%2F9eaCZZJPBkvFkhUjPlYHJ0%2Fimg.png)
1. Question - 엑세스가 허용되지 않았고, 로그인 되어있지 않다는 힌트가 존재한다. 2. Answer - 소스코드를 봤을때 별다른 특이한 점을 발견할 수 없었다. - Burp Suite를 이용하여 해당 페이지에 접근 시 인증 관련 영역이 있는지 살펴보았다. - 확인해본 결과 Cookie값 중 loggedin 항목이 0으로 설정 되어있는것을 확인 1) Cookie란? - 서버측에서 클라이언트 측에 상태 정보를 저장하고 추출할 수 있는 메커니즘 - 클라이언트의 매 요청마다 웹 브라우저로부터 서버에게 전송되는 정보패킷의 일종 - HTTP에서 클라이언트의 상태 정보를 클라이언트의 하드 디스크에 저장하였다가 필요시 정보를 참조하거나 재사용 가능 - 해당 loggedin 항목을 1로 변경한 후 Foward..
![[Natas] Natas4 - Natas5](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrdeTN%2FbtqEGDGH9Az%2Fajw1NB5CWodgraEcPFUmwk%2Fimg.png)
1. Question - 해당 페이지에서 인증받기 위해서는 http://natas5.natas.labs.overthewire.org/"에서만 방문해야 한다. - natas5페이지를 이동한 후 natas4 페이지로 이동해야하는데 natas5로 이동하기 위해서는 natas4 암호가 필요 2. Answer - HTTP 헤더에서 이전 영역을 표시하는 항목은 Referer이다. - natas4 페이지를 새로고침 한 후 Proxy Scanner Tool을 사용하여 이동하기 이전에 Referer영역을 삽입 후 Forward 수행 1) HTTP 요청 헤더 설명 Host: 요청하는 호스트에 대한 호스트 명 및 포트번호 Origin: 서버로 Post 요청을 보낼 때, 요청이 어느 주소에서 시작되었는지 나타냄 User-Ag..
![[Natas] Natas3 - Natas4](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBY2fa%2FbtqEIKj6UeZ%2F4WZNMPYWrcj4FCJmzg0141%2Fimg.png)
1. Question - 문제 페이지에는 아무런 힌트가 없다고 전해줌 2. Answer - 소스 보기 클릭 시 더 이상 정보가 유출되지 않습니다 !! 이번에는 구글조차 찾을 수 없습니다.. 라는 주석문구 존재 - 구글조차 찾을 수 없는 페이지는 구글이 크롤링 할 수 없는 페이지라는 의미 - 구글이 크롤링할 때 사용하는것은 robot.txt 파일 1) robot.txt - 내 사이트의 콘텐츠를 크롤링할 때 허용 범위 등을 정하기 위해 사용하는 파일 - robots.txt 파일은 UTF-8 인코딩으로 되어있어야하며, 확장자는 txt이여야 함 - robots.txt 파일 위치는 최상위 디렉터리에 위치 - user-agent 필드는 보통 * 로 세팅해두는 데, 크롤러별로 다른 처리를 하고싶을 때 사용 1.1) ..
![[Natas] Natas2 - Natas3](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8CtjU%2FbtqEIouOQQk%2FUVwwFI7kDwGyUrkXB4SHR1%2Fimg.png)
1. Question - 문제 페이지에는 아무런 힌트가 없다고 전해줌 2. Answer - 문제 페이지 소스보기 클릭 시 files 경로 및에 pixel.png 파일이 존재 - 해당 pixel.png 클릭 시 pixel.png (1x1)이라는 제목과 함께 검은 화면이 출력 됨 - 해당 pixel.png 의 상위 경로인 /files로 이동 - index.php 취약점 노출 - uses.txt 경로로 이동하면 natas3 패스워드를 찾을 수 있음 3. Success 4. 문제 풀이 - pixel.png경로를 이용한 Directory Listing 취약점 발생 1) Directory Listing 이란? - 디렉터리 요청 시 기본 페이지가 호출되어 사용자에게 전송되어야 하나, 기본 페이지가 없는 경우 디렉터리..
![[Natas] Natas1 - Natas2](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbah1so%2FbtqEJjl0Kcc%2FPpcnMYrg54bSLaxQ8YkaIK%2Fimg.png)
1. Question - 아이디만 제공해 주었다. 2. Answer - 소스보기를 하려고 했으나 우측 클릭이 차단되어있음 - 우측 클릭이 가능하게 하는 확장 프로그램 다운 - 소스보기 클릭 후 패스워드 흭득 3. Success
![[Natas] Natas0 - Natas1](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdv396k%2FbtqEIVezYAo%2FCzCTZLictt4KdpRMXyrxb0%2Fimg.png)
1. Question - 이번에는 아이디만 제공해 주었다. 2. Answer - natas0 화면에서 페이지 소스보기 클릭 - 주석에 패스워드가 명시되어있음 3. Success