old/Cyber Security (63) 썸네일형 리스트형 XSS 공격기법 리스트 Stored XSS 악의적인 스크립트 코드가 서버에 저장되고, 사용자에게 노출되는 웹 애플리케이션에서 발생하는 취약점입니다. 이러한 취약점을 이용하면, 공격자는 웹 페이지에서 스크립트를 실행하고 사용자의 브라우저에서 실행되게 할 수 있습니다. 악의적인 스크립트를 게시물 또는 댓글에 삽입할 수 있고, 이를 통해 공격자는 사용자들의 세션 쿠키를 도용하거나 악성 행동을 수행할 수 있습니다. 공격자의 특정인, 기록, 흔적이 남는 대신, 대규모로 광역 공격이 가능합니다. 예제 사용자들이 메시지를 작성하고 공유할 수 있는 웹사이트의 게시판을 생각해봅시다. 사용자가 메시지에 스크립트 코드를 삽입하면, 이를 저장하고 페이지를 로드할 때 모든 사용자에게 노출시킵니다. 안녕하세요 이 스크립트가 저장되면, 모든 사용자가 해.. 웹 개발: 식별과 인증이란 식별 많은 데이터 중 특정 데이터를 구분하는 작업으로, 시스템이 식별할 수 있도록 ID와 같은 고유값이 필요하다. 인증 사용자의 신분을 확인하는 절차 인증과 식별을 동시에 하는 경우 SQL 실행 한 번에 식별과 인증을 동시에 처리하는 것을 의미한다. 뒤쪽을 주석처리해서 공격 select * from member where id=’$_id’ and pas=’$_pass’; 인증과 식별을 분리해서 하는 경우 인증 분리란 ID 값으로 식별 과정을 거친 후, DB의 PW와 사용자가 입력한 PW 값이 일치하는지로 인증 과정을 거친다. union sql injection select pass from member where id=’$_id’ 결론 사용자의 인증과 식별을 하는 방식자체는 별로 중요하지 않음. 중요한 .. 웹 해킹 예제: blind sql injection_CTF: 노말틱 DB 데이터 추출 3 목표 로그인 페이지! 우리의 계정은 mario / mariosuper 이다. 여기에 있는 DB를 털 수 있을까? 공격된 웹싸이트 노말틱님의 웹싸이트 http://ctf.segfaulthub.com:9999/sqli_3/ 공격 공격순서 DB결과가 화면에 안나오는 곳 참과 거짓 조건에 따라 응답이 다른곳이면 모두 사용 가능 sql injection이 통하는지 확인 1 %' and (1=1) and '1%'='1 sql injection이 통하는지 확인 2 %' and (1=2) and '1%'='1 sql injection select문이 통하는지 확인 %' and (select 'test'='test') and '1%'='1 공격포맷 만들기 %' and (sql) and '1%'='1 ascii문이 통하는.. 웹 해킹 예제: Error base sql injection_CTF: 노말틱 DB 데이터 추출 2 목표 로그인 페이지를 만났다! 이 서버에 연결된 DB를 털어라! DB안에 있는 flag를 찾으세요! :) 공격된 웹싸이트 노말틱님의 해킹 연습 웹싸이트 http://ctf.segfaulthub.com:9999/sqli_2/ 공격 정보리스트 SQL 질문 답변 sql 질의문이 보이는가? 오류문이 보임 사용할 sqli Error base sql injection 사용 DB MySQL 오류메세지가 오는 곳 디비 DB 이름 sqli_2 table 이름 flag_table column 이름 flag 공격순서 에러메세지를 확인 할수 있는 경우, 시도해볼수 있다. 논리에러 에러 메세지가 DB에러인지 확인 에러메세지는 본인 클라이언트에서올수도 있고, 웹서버에서도 올수 있습니다. 서버디비에서 오는 오류메세지인지 확인해야 .. 웹 해킹 예제: union base sql injection_CTF: 노말틱 DB 데이터 추출 1 목표 DB 내에 숨겨진 Flag를 찾으세요! 공격된 웹싸이트 현재 듣고 있는 노말틱님의 웹싸이트 http://ctf.segfaulthub.com:9999/sqli_1/ 공격 정보리스트 SQL 질문 답변 sql 질의문이 보이는가? yes 사용할 sqli union base sql injection 사용 DB Mysql 뒷부분 추측 %’ DB 이름 sqli_1 table 이름 flag_table, user_info column 이름 flag 공격순서 검색의 뒷부분이 어떤지 추측합니다. sql injection이 통하는지 확인 dm%' and '1%'='1 # true dm%' and '1%'='2 # false 위 두번의 검색을 통해서 아무 문제 없이 Adminer가 검색되었으므로, 검색의 뒷부분이 %’으로.. SQL Injection 공격기법 리스트 검색 추측 select '검색어' from ??? 검색의 뒷부분이 어떤지 추측합니다. 3+4 3+4를 검색했을떄, 7을 기준으로 검색이 된다면 sql질의문이 통함을 알수있습니다. 또한 결과값이 7만 검색되느냐 혹은 7이 포함되느냐에 따라서 %를 사용하였는지 여부도 확인할수 있습니다. sql injection이 통하는지 확인 true %' and (1=1) and '1%'='1 sql injection이 통하는지 확인 false %' and (1=2) and '1%'='1 sql injection select문이 통하는지 확인 %' and (select 'test'='test') and '1%'='1 Union-based SQL Injection 검색시 컬럼을 몇개 사용하는지 파악합니다. 1,2,3,4 로.. CSRF 공격기법 리스트 GET방식 예시 코드 iframe, form iframe의 sandbox속성으로 팝업 제거 img POST방식 예시 코드 POST방식 예시 코드+CSRF 토큰 우회 CSRF토큰이 발급된다면, 어디에서 토큰이 발급되는지 확인을 합니다. 현재 연습하고 있는 싸이트에서는 http://ctf.segfaulthub.com:7777/csrf_3/mypage.php 에서 토큰을 발행하고 있고. 토큰은 input[name="csrf_token"] 태그 안에 있습니다. 자바스크립트로 토큰을 가져와서 http://ctf.segfaulthub.com:7777/csrf_2/mypage_update.php에 비밀번호를 변경하도록 합니다. 아래코드는 자바스트립트의 XMLHttpRequest를 이용하기 떄문에 팝업창이 뜨지 않습니다. CSRF (Client Side Request Forgery) 란 정의 Client Side Request Forgery 피해자가 자신의 의도와는 다르게, 자신도 모르게 서버로 임의의 요청을 하게 만드는 공격 Server Side: 서버에서 실행되는 코드 Client Side: 클라이언트(웹 브라우져) 측에서 실행되는 코드 취약점 발생 지점 리스트 변경을 요청하는 모든 페이지 관리자 계정 등록 비밀번호, 이메일주소, 아이디 변경 등 이메일 주소 변경 웹 애플리케이션에서 세션을 사용하여 인증된 사용자를 식별하는 경우 웹 애플리케이션이 출처 확인 메커니즘을 제대로 구현하지 않은 경우 취약점 검증 방법 피라미터를 가진 get방식의 요청이 가능한지 확인, 이를 이용해서 비밀번호 변경이 가능한지 확인 post방식을 get방식으로 변경해도 되는지 확인. 공격 순서 웹싸이트에서 비.. 이전 1 2 3 4 5 6 7 8 다음