본문 바로가기
반응형

WEB HACKING56

Burp Suite 프록시 설정 및 인증서 설치 오랜만에 Burp 설정 포스팅으로 돌아왔다! 이번 포스팅에서는 Burp 프록시 설정과 HTTPS 인증서 설치하는 방법을 다뤄볼 것이다. ① Proxy 설정 그 동안 Burp를 사용하면서, 항상 Burp > Open browser를 통해 패킷을 잡곤 했다. 이렇게 사용하니 로그인이 필요한 사이트에서 특정 페이지의 패킷을 분석할 때 Burp에서 브라우저를 열어서, 처음부터 로그인을 한 후 해당 페이지로 이동해야 해서 번거로웠다. 그래서 자유롭게 브라우저를 사용하다가, 필요할 때만 Burp로 패킷이 가도록 설정하는 방법을 알아볼 것이다. 1) Burp를 켜고 Proxy > Options로 들어가면 Proxy Listeners를 볼 수 있다. 2) 해당 탭에서 Add를 누른 후 원하는 Port를 등록한다. 사용.. 2022. 6. 26.
웹 시큐어 코딩 : 디렉토리 & 시스템 운영정보 노출 저번 포스팅에서는 인증 / 인가 취약점에 대응하여 웹 시큐어 코딩을 해보았다. 인증 / 인가 취약점 방어하기 : [모의해킹_실습] - 웹 시큐어 코딩 : 인증 및 인가 이번 포스팅에서는 마지막으로 디렉토리 및 시스템 운영정보 노출 취약점을 막아보자! ① Directory 노출 취약점 Directory 노출의 경우, 그 자체로는 심각한 피해를 주진 않을 수 있지만, directory 구조나 파일명을 노출시킴으로써 2차 피해를 일으킬 수 있다. Apache 설정 파일을 수정해서, 디렉토리가 노출되지 않도록 하자. Apache 설정 파일은 우분투의 경우 apache2.conf 파일을 찾을 수 있다. find / -name apache2.conf 2>/dev/null /etc/apache2/apache2.con.. 2022. 3. 6.
웹 시큐어 코딩 : 인증 및 인가 저번 포스팅에서는 파일 업로드 / 다운로드 취약점에 대응하여 웹 시큐어 코딩을 해보았다. 파일 업로드, 다운로드 방어하기 : [모의해킹_실습] - 웹 시큐어 코딩 : 파일 업로드 & 다운로드 이번 포스팅에서는 인증과 인가 취약점을 막아보자! 인증 및 인가 취약점이 일어나는 대표적인 곳은 url을 통해 페이지에 직접 접근이 가능한 경우이다. 필자가 개발한 웹 사이트에서는 비회원이 read.php?id=n로 바로 접근하거나, 회원이 delete.php?id=n으로 타인의 게시물을 삭제하는 경우를 예로 들 수 있다. 시큐어 코딩을 할 때 회원들만 이용할 수 있는 게시판에서는 서버 측 세션 검증을 추가해주었다. 문의 게시판의 경우 비회원도 이용할 수 있기 때문에 비밀번호를 확인하는 페이지를 거쳤는지를 확인하는 .. 2022. 3. 5.
웹 시큐어 코딩 : 파일 업로드 & 다운로드 저번 포스팅에서는 XSS : Cross-Site Scripting에 대응하여 웹 시큐어 코딩을 해보았다. XSS 방어하기 : [모의해킹_실습] - 웹 시큐어 코딩 : XSS(Cross-Site Scripting) 이번 포스팅에서는 파일 업로드와 파일 다운로드 취약점을 막아보자! 파일 업로드 및 다운로드 취약점은 php가 실행되지 않는 별도의 서버를 두고 관리하는 것이 최선이지만, 업로드 폴더를 웹 경로에서 분리하고 DB에서 File ID를 통해 경로를 관리하자. ① 파일 업로드 취약점 파일 업로드 취약점은 php가 실행되지 않는 별도의 서버를 두고 관리하는 것이 최선이지만, 차선책으로 파일이 업로드되는 폴더를 웹 경로에서 분리하고 DB에서 File ID를 통해 경로에 접근하거나 파일을 DB 자체에 저장하.. 2022. 2. 24.
웹 시큐어 코딩 : XSS(Cross-Site Scripting) 저번 포스팅에서는 SQL Injection에 대응하여 웹 시큐어 코딩을 해보았다. SQL Injection 방어하기 : [모의해킹_실습] - 웹 시큐어 코딩 : SQL Injection 이번 포스팅에서는 XSS를 막아보자! XSS 취약점의 근본적인 대응방안은, HTML Entity를 사용하는 것이었다. [주요 HTML Entity] HTML HTML Entity > & & " " ' ' php에서는 HTML 문자를 엔티티로 바꿔주는 htmlentities() 함수가 존재한다. 사용자의 입력값을 DB에 저장할 때 바꿔줄지, 출력할 때 바꿔줄지만 결정하면 되는데, 필자의 경우 출력할 때 바꿔주었다. [read.php] 게시판 글을 확인할 때 사용되는 제목과 내용 변수에 htmlentities 함수를.. 2022. 2. 21.
웹 시큐어 코딩 : SQL Injection 약 2개월 반에 걸쳐서 로그인, 게시판, 마이페이지 등 기본적인 기능이 들어간 웹 서비스를 구축해보았다. 문제는, 이 웹 사이트는 해킹 취약점에 대한 대응이 전혀 안 되어 있다는 것이다. 그래서 이론으로 공부했던 웹 해킹 취약점들에 대한 방어, 웹 시큐어 코딩을 해보려고 한다. 첫 번째 방어할 취약점은 SQL Injection! SQL injection의 근본적인 대응방안은 바로 prepared statement를 사용하는 것이다. 내가 만든 웹 페이지에서 SQL Injection이 일어날 수 있는 곳은 크게는 로그인, 회원가입, 게시판 및 주소 검색 등이지만, 실제로는 대부분의 php 파일에서 SQL로 DB와 연결하여 무언가 작업을 수행하고 있기 때문에, 사실상 파일에 Prepared Statement.. 2022. 2. 20.