일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- MySQL
- cookie 탈취
- css
- Los
- Python
- JS
- XSS
- 쿠키
- cors
- CTF
- lord of sqli
- Cross Site Request Forgery
- JWT
- lord of sql injection
- Reflected Xss
- 세션
- sql injection
- union sql injection
- php
- 게시판 만들기
- csrf
- 로그인
- sql injection point
- 과제
- blind sql injection
- file upload
- Error based sql injection
- 로그인페이지
- 모의해킹
- 웹개발
- Today
- Total
목록2025/01 (19)
Almon Dev
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/owxBz/btsL101p7nD/jon43zOept5a0t1K0SpVSK/img.png)
게시글 검색 기능검색어를 입력하면 서버에서 search 쿠키에 검색어를 저장한 뒤에 게시글을 불러올 때 조건문에 포함시킵니다. 쿠키 관리하는 함수 JS에는 setCookie 같은 함수가 따로 없고 document.cookie에 직접 접근해서 설정을 해야 합니다.function setCookie(name, value) { let date = new Date(); date.setTime(date.getTime() + 60 * 60 * 24); document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + date.toUTCString() + ';path=/forum/';}쿠키의 이름과 값을 입력받아서 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cwJW9W/btsLVGaYmBM/1GDvYlwJwcgUUEPaqtdmX0/img.png)
마이페이지 수정 기능마이페이지 생성에서 만들었던 마이페이지에 수정기능이 빠져있어 추가했습니다. 마이페이지 수정 버튼// login_successful.php// 수정 전수정하기// 수정 후수정하기마이페이지의 수정 버튼을 클릭했을 때 mypage_update.php로 리다이렉트 하도록 변경했습니다. mypage_update.phpsub; $sql = "select profile_img_path, nickname, email, password, name from users where user_id='$user_id'"; try { $result = runSQL($sql)->fetch_array(); $db_pass = $result['password']; $n..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/v4LIh/btsLVkzksc5/SKWj9cPcWPxGYePFtAjk10/img.png)
추가한 기능 아이디 찾기이름과 이메일을 이용해 아이디를 찾는 기능입니다. forget_id.phpnum_rows == 1) { $id = $result->fetch_array()['user_id']; $find_message = "아이디를 찾았습니다.ID : $id"; }else { $find_message = "아이디를 찾지 못했습니다."; }}?> Almond 아이디 찾기 아이디 찾기 if(isset($_POST['n..
오늘은 13주 차를 들어 지금까지 배운 CSRF와 새로 배운 SOP/CORS를 정리하는 시간입니다. CSRF ( Cross Site Request Forgery )CSRF란 피해자가 의도와는 상관없이 공격자가 원하는 요청을 서버로 보내도록 만드는 공격입니다. 원인CSRF가 발생하는 가장 큰 원인은 인증정보의 부재입니다. ex) 비밀번호 변경 시 현재 비밀번호를 입력하지 않음 등 해결 방법인증정보가 없어서 발생하는 취약점이니 인증정보를 포함합니다. 인증정보 예시- 현재 비밀번호=> 비밀번호 변경, 개인정보 변경 열람 등 중요한 요청에 대한 인증정보로 사용합니다. - csrf token=> 게시글 열람, 게시글 작성 등 덜 중요한 요청에 대한 인증정보로 사용합니다.=> XSS 취약점이 있는 경우 탈취당할..
12주 차 과제 CSRF CTF 보고서
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nraEM/btsLKBAi07C/VYZv0INf0p024Jb4MzewB0/img.png)
ctf 문제 풀이 GET Admin 3 풀이1. CSRF 취약점 찾기문제에서 admin 계정을 탈취하라고 합니다. 그렇다면 비밀번호 변경 기능이 CSRF 취약점이 있는지 확인합니다. 마이페이지의 수정 기능에 인증정보가 포함되지 않는 것 같습니다. 그런데 요청값을 보니 입력한 적 없는 token이 포함되어 있습니다.아무래도 마이페이지에 접근할 때 자동으로 form태그에 hidden 타입으로 생성되어 있는 것 같습니다. GET 메서드도 확인해 봤지만 불가능했습니다. 2. 관리자 계정 탈취하기그렇다면 csrf token을 탈취한 뒤에 POST 메서드로 요청을 보내면 CSRF 공격이 가능할 것 같습니다.그러기 위해서는 우선 XSS 취약점을 찾아야 합니다. 게시판 글 작성에서 JS를 삽입해 CSRF Token을..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cgyVFu/btsLJCz8WUZ/bikOVEHkJDhGa3Xc8n9xAK/img.png)
ctf 문제 풀이 GET Admin 2 풀이1. CSRF 취약점 찾기문제에서 admin 계정을 탈취하라고 합니다. 그렇다면 비밀번호 변경 기능이 CSRF 취약점이 있는지 확인합니다. 비밀번호 변경 기능에 인증정보(ex 현재 비밀번호)가 포함되지 않습니다.그렇다면 CSRF가 가능하다고 판단됩니다.우선 GET 메서드로 변경이 가능한지 확인 해보겠습니다. GET 메서드로 변경후 URL로 접속을 시도하면 에러가 발생했다는 경고문이 출력됩니다.GET은 불가능하고 POST만 사용이 가능한것으로 보입니다.그렇다면 XSS 취약점을 찾아 JavaScript를 이용해서 POST 요청을 보내야 합니다 게시판 글 작성시 와 같은 특수문자를 따로 필터링 하지 않기 때문에 XSS 취약점이 존재합니다.그렇다면 JS를 삽입해서 C..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DCbEt/btsLJKLuljO/JyP1DbMNayyyN5HFJ7K6N0/img.png)
ctf 문제 풀이 GET Admin 1 풀이1. CSRF 취약점 찾기문제에서 admin 계정을 탈취하라고 합니다. 그렇다면 비밀번호 변경 기능이 CSRF 취약점이 있는지 확인합니다. 마이 페이지에 비밀번호 수정 기능이 있고, 현재 비밀번호와 같은 인증정보가 필요 없는 것 같습니다. 링크를 이용하기 위해서 GET메서드로 변환이 가능한지 확인해봅니다. GET 메서드로 변환해도 여전히 비밀번호가 변경됩니다.CSRF 취약점으로 링크로 접속을 유도해 비밀번호를 변경할 수 있습니다. 2. 관리자 계정 탈취하기위에서 만든 GET 메서드에 관리자봇이 접근하도록 해보겠습니다. 관리자가 눈치를 채고 비밀번호를 변경했습니다.눈치를 챈 이유를 알기 위해서 도메인에 직접 접근해봅니다. alert 창이 출력되서 눈치를 챈 것..