해킹(37)
-
CSRF 공격 1,2번 문제 취약점 정리
CSRF 1번문제 취약점 1. CSRF 공격 마이페이지 비밀번호 변경 CSRF 취약점 발견. 수정을 누르면 POST 방식으로 요청되지만 GET 요청을 보내도 허용됨을 볼수있음. 따라서 누군가 링크 유포를 시도한다면 CSRF 공격이 발생될 수 있다. 파라미터 id를 admin으로 바꾼뒤 변경을 시도하면 성공 메시지가 뜨나 admin으로 로그인이 되지 않는다. 즉 회원 정보 수정 방식은 user의 세션을 보고 받은 pw 파라미터를 새로 변경하는 방식이라고 볼 수 있다. admin이 로그인 한 상태에서 이 링크를 클릭하면 정보가 수정된다. 취약점 2. Stored XSS 공격 게시판에 악성 코드를 삽입하면 정상적으로 게시글이 작성되고 코드가 실행되는것을 볼 수 있다. 또한 검색창에 Reflected XSS 취..
2023.05.25 -
게시판 CSRF 공격과 취약점 고치기 2
저번 시간에는 GET 방식으로 사용자의 password를 변경하는 곳에 CSRF공격을 통해서 비번을 바꿔보았습니다. 하지만 POST 방식으로 바꾼다면 무용지물이죠.
2023.05.22 -
게시판 CSRF 공격과 취약점 고치기
먼저 공격을 하려면 취약점을 만들어야 합니다. 회원 정보를 수정하는 modify.php를 만들어 줍시다. 수정 쿼리는 update ~ set 이였죠?
2023.05.21 -
게시판 DOM Based XSS 공격과 취약점 고치기
게시판 검색 창 하단 script 란에 이러한 코드를 넣습니다.window.onload = function(){ var urlParams = new URLSearchParams(window.location.search); var paramValue = urlParams.get('search'); var div = document.getElementById("hack"); paramValue = (paramValue != "" ? paramValue : "없음!"); div.innerHTML = "사용자님의 검색어 : " + paramValue; };html에는 이러한 코드를 삽입합니다.이제 이 게시판은 DOM 취약점이 존재합니다. url을 보고 get 파라미터중 search 파라미터를 가져옵니다. sea..
2023.05.21 -
Dom based XSS 학습
웹 페이지는 Dom구조로 되어있습니다. DOM 이란 Document Object Model입니다. 여기서 DOM 구조란 document - element - attribute - text로 되어있는 계층 구조입니다. JavaScript는 이런 문서같은 웹 페이지를 동적으로 구현하기 위해 DOM 에 접근하는 언어입니다. document는 최상위 구조체로 현재 웹 페이지를 나타냅니다. document 객체로 구조,스타일,이벤트 등 다양한 곳에 접근이 가능합니다. 웹 개발을 하다 보면 document.getElementById(); 같은것을 많이 써보았습니다. 이런 등등이 Element입니다. Attribute도 많이 써보았습니다. Attribute는 이렇게 src 같은 속성을 뜻합니다. text는 말 그대로..
2023.05.21 -
XSS 다양한 공격 기법
제가 순서를 잘못했습니다.. 왜 htmlspacialchars를 사용해서 이스케이프를 해야하는지 .. 왜 이것이 중요한지에 대해서 봅시다. 이스케이프를 안하고 단순히 필터링만 한다고 가정한다면 그 필터링을 우회하는 다양한 공격 기법들이 있습니다. 1. 스크립트를 필터링 하는 경우. 스크립트를 입력할시 필터링 당하고 스크립트 태그 안에 사용자 입력이 들어가지 않습니다. 1-1. 이런식으로 대소문자를 섞어서 필터링을 피해갑니다. 1-2.포함된 문자만 빼서 처리하는경우. 만약 사용자가 안녕하세요 script 입니다. 라고 입력시 필터링해서 안녕하세요 입니다. 만 출력되는 경우에 사용하는 기법입니다. scscriptript 를 입력하면. 가운데 script가 필터링되서 sc , ript만 남습니다. 즉 scri..
2023.05.20