일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 증적 사진
- 웹 해킹
- lord of sql injection
- sql injection
- union sql injection
- sql injection point
- Los
- CTF
- 로그인
- Error based sql injection
- FridaLab
- 세션
- 모의해킹
- 문제 풀이
- php
- 웹개발
- 웹 개발
- 보안 패치
- 보고서
- csrf
- cookie 탈취
- 게시판 만들기
- XSS
- file upload
- blind sql injection
- JS
- 과제
- MySQL
- Python
- 로그인페이지
- Today
- Total
목록MySQL (12)
Almon Dev

MySQL root 비밀번호를 설정 MySQL을 설치한 후 비밀번호를 설정하지 않으면 root 계정의 비밀번호가 비어있기 때문에 따로 설정이 필요합니다. root 비밀번호를 설정해야 하는 이유root 비밀번호가 설정되어 있지 않은 경우 MySQL에 접속할 수 있다면, 누구나 root 계정으로 DB에 접속해 모든 정보를 열람할 수 있으므로 보안에 큰 위험이 됩니다.특히 MySQL이 원격 접속이 가능하게 설정된 경우, 외부에서 접속해 중요 정보를 탈취할 수 있으므로 반드시 비밀번호를 설정해야 합니다. root 비밀번호 변경아래의 순서를 따라 변경하시면 됩니다. 1. mysql 접속sudo mysql -u root -p비밀번호를 설정하기 위해 mysql에 root 계정으로 접속합니다. 2. 현재 비밀번..

게시글 검색 기능검색어를 입력하면 서버에서 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/';}쿠키의 이름과 값을 입력받아서 ..

마이페이지 수정 기능마이페이지 생성에서 만들었던 마이페이지에 수정기능이 빠져있어 추가했습니다. 마이페이지 수정 버튼// 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..

추가한 기능 아이디 찾기이름과 이메일을 이용해 아이디를 찾는 기능입니다. forget_id.phpnum_rows == 1) { $id = $result->fetch_array()['user_id']; $find_message = "아이디를 찾았습니다.ID : $id"; }else { $find_message = "아이디를 찾지 못했습니다."; }}?> Almond 아이디 찾기 아이디 찾기 if(isset($_POST['n..

ctf 문제 풀이 admin is mine 풀이1> doldol / dol1234 로그인해 보기 => loginProc.php에 get메서드로 아이디와 비밀번호를 전달 => 로그인에 성공하면 {result: 'ok'}를 응답하고 index.php로 이동 2> index.php에 접근해 보기자바스크립트로 login.php로 리다이렉트 시키는 것이 보입니다.그리고 그 밑에 html코드가 그대로 노출되네요. 3> js 확인해 보기서버에서는 결괏값으로 {result: "ok/fail"}를 응답하고 있습니다.그렇다면 클라이언트 측에서 로그인에 성공했을 때 리다이렉트를 시켜주는 자바스크립트 코드가 있어야 합니다. 4> 로그인 로직 추측1. 아이디와 비밀번호를 get으로 받아옵니다.2. 서버에서 아이디와 비밀번호를 ..

ctf 문제풀이 Secret Login 풀이1> doldol / dol1234 로그인해 보기로그인 성공 시 302(리다이렉트) 반환 > index.php로 이동 -> 닉네임 표시 2> sql injection 확인아이디와 비밀번호 입력창 모두 sql injection이 가능하고,sql문이 아이디와 비밀번호를 한 번에 검증하는 것으로 추측됩니다.UserId=doldol'#&Password=dol1234 => id 입력이 sql injection이 가능한지 확인UserId=doldol'#&Password=dol1234'# => 비밀번호 입력 sqli 가능 확인UserId=doldol'#&Password=testdol1234 => sql에서 비밀번호를 함께 검사하는지 확인아이디 입력창에서 #으로 주석처리를 했..

ctf 문제풀이 Login Bypass 4 풀이1> doldol / dol1234로 로그인해 봅니다.post요청으로 아이디, 비밀번호를 보낸 뒤, 로그인에 성공하면 302 리다이렉트 결과를 응답합니다. 2> sql injection 확인지난번 문제와 마찬가지로 아이디 입력은 sql injection이 존재하고, 비밀번호 입력은 존재하지 않습니다.UserId=doldol'+and+'1'%3d'1 >> doldol' and '1'='1 3> sql에서 가져오는 컬럼 개수 확인하기 (order by 사용)UserId=doldol'+order+by+2+desc# 를 통해 받아오는 컬럼의 개수가 2개인 것을 확인 4> 로그인 코드 예상해 보기db에서 비밀번호와 닉네임을 받아와서 인증절차를 따로 거치는 코드로 예상..
중복확인 users.txt로 회원가입 페이지를 구현할 때 만들어둔 아이디, 닉네임 중복확인을 mysql을 이용하도록 수정했습니다 아이디 중복확인 check_userId.php수정 전 !$duplication]);?> 수정 후num_rows > 0) { $duplication = true; } header("Content-Type: apllication/json"); echo json_encode(['pass' => !$duplication]);?> duplicate_check.js idInput.addEventListener('input', () => { const userId = idInput.value; fetch('/api/users/check_userId...