로그인 우회
-
[JS, PHP, MYSQL] 로그인, 로그인 우회 - 3.2Web - Security/Login 2023. 5. 10. 15:37
로그인 과정에서 입력값에 대해 검증과정을 추가해 주었다 로그인 페이지 이전에 만들어놨던 login_2 데이터베이스와 로그인페이지를 이름만 변경하였다 데이터 베이스 연결 변수명을 login_2에서 login_3으로 바꾼 것을 제외하고 달라진 건 없다 5 ~ 8 로그인페이지의 입력값을 받아오고 아이디와 비밀번호가 있다면 아래의 과정을 이어가고 없다면 로그인 실패처리한다 11 ~ 17 입력받은 아이디와 비밀번호에 대해서 검증과정을 진행한다 trim()은 문자열의 앞뒤에 있는 모든 공백 문자나 다른 문자들을 제거한다 stripslashes()는 문자열에서 백슬래시(backslash)를 제거한다 htmlspecialchars() 함수는 특수 문자를 HTML 엔티티로 변환한다 19 ~ 27 사용자 입력을 받은 SQ..
-
[JS, PHP, MYSQL] 로그인, 로그인 우회 - 3.1Web - Security/Login 2023. 5. 10. 15:32
로그인 과정에서 SQL 질의문에 대해서 검사하는 기능을 만들었다 로그인 페이지 이전에 만들어놨던 login_2 데이터베이스와 로그인페이지를 이름만 변경하였다 데이터 베이스 연결 변수명을 login_2에서 login_3으로 바꾼 것을 제외하고 달라진 건 없다 5 ~ 8 로그인페이지의 입력값을 받아오고 아이디와 비밀번호가 있다면 아래의 과정을 이어가고 없다면 로그인 실패처리한다 11 ~ 19 사용자 입력을 받은 SQL 질의문을 검증하는 단계를 추가해 줬다 완성된 SQL 질의문에서 SELECT, FROM, WHERE 단어의 개수를 구해주고 SELECT, FROM, WHERE의 개수가 모두 1개여야만 데이터베이스에 SQL 질의문을 전달하도록 한다 21 ~ 44 만약 일치하는 회원이 존재한다면 로그인 성공 페이지..
-
[JS, PHP, MYSQL] 로그인, 로그인 우회 - 2.2Web - Security/Login 2023. 5. 4. 13:07
로그인을 하면서 공백이 있으면 로그인이 안되도록 만들어 주었다 로그인 페이지 간단하게 id, pw 만을 데이터로 가지고 있는 테이블을 생성하였다 로그인 페이지를 제작하였다 php코드는 없지만 문제가 없기에 위와 같이 만들었다 로그인페이지에서 입력된 값을 받아와 아이디가 공백인지 먼저 검사하고 해당 정보가 있는지 먼저 조회를 한다 이후 아이디가 있다면 비밀번호가 공백인지 확인하고 다시한번 조회를 하여 로그인하도록 한다 로그인에 실패했을 경우 위와같이 이전페이지로 돌아가도록 해 주었다 데이터베이스 연결 코드와 로그인 페이지다 간단하게 로그인이 되는지 확인하기 위함이여서 로그인완료 페이지에는 별다른 기능이 없다 로그인 테스트 공백으로 로그인을 시도해보니 위와 같이 로그인에 실패하였다 잘못된 값을 넣어봤다 로그..
-
[JS, PHP, MYSQL] 로그인, 로그인 우회 - 2.1Web - Security/Login 2023. 5. 4. 12:32
로그인을 하면서 공백이 있으면 로그인이 안되도록 만들어 주었다 로그인 페이지 간단하게 id, pw 만을 데이터로 가지고 있는 테이블을 생성하였다 로그인 페이지를 제작하였다 php코드는 없지만 문제가 없기에 위와 같이 만들었다 로그인 페이지에서 아이디와 비밀번호에 입력된 값을 uid, pw 변수에 대입해 주고 공백을 검사한다 이후 공백이 없다면 데이터 베이스에 해당 정보가 있는지 조회를 하고 있다면 로그인 없다면 로그인페이지로 돌아가도록 해 주었다 데이터베이스 연결 코드와 로그인 페이지다 간단하게 로그인이 되는지 확인하기 위함이여서 로그인완료 페이지에는 별다른 기능이 없다 로그인 테스트 공백으로 로그인을 시도해보니 위와 같이 로그인에 실패하였다 잘못된 값을 넣어봤다 로그인에 실패했다 정상적인 값으로 다시 ..
-
로그인 우회 - 2CTF 문제/Segfault - Web 2023. 4. 30. 12:02
Segfault - 로그인 우회 문제 풀이입니다 1. 아이디와 비밀번호가 주어졌고 admin으로 로그인을 해야 한다 2. 주어진 계정으로 로그인을 해 보았다 3. 아이디와 비밀번호가 입력이 되고 전송버튼을 눌렀다 4. 정상적으로 로그인이 되었고 위와 같은 이미지가 나타났다 5. 성공했을 때 11번째 줄에 result는 ok 이다 6. 실패했을 때는 result의 값이 fail이다 7. 그렇다면 result의 값을 ok 로 바꿔서 응답받도록 시도했다 8. fail을 ok로 바꿔서 정보를 보냈다 9. 다시 로그인 페이지로 돌아왔다 10. 로그인 완료 페이지로 이동하기 위해 응답값을 바꿔주기로 하였다 11. 응답값에 보면 다시 로그인 페이지로 돌아가라고 되어있는데 드래그해놓은 부분을 삭제했다 12. 다른 데는..
-
로그인 우회 - 1CTF 문제/Segfault - Web 2023. 4. 29. 23:56
Segfault - 로그인 우회 문제 풀이입니다 1. 아이디와 비밀번호가 주어졌다 2. admin으로 접속시도해 본다 3. Intercept is on 으로 하여 어떤 정보가 이동하는지 보았다 4. 리피터로 옮겨서 성공했을 때와 실패했을 때를 비교해 보았다 11번째 줄에 result 의 결과가 다름을 알 수 있다 5. 로그인을 하는 페이지는 index.php, 로그인 검증을 하는 페이지는 loginProc.php, 로그인이 된 페이지는 login.php 이다 loginProc.php에서 userid 값은 mario, userPw 값은 mariosuper로 전달됨을 확인할 수 있다 ( 내가 입력한 값 ) 6. 로그인된 상태에서 loginProc.php?userid=admin으로 다시 전송해 보았다 7. 전..
-
[JS, PHP, MYSQL] 로그인, 로그인 우회 - 1Web - Security/Login 2023. 4. 29. 17:17
가장 기본적인 로그인 기능을 만들어 보았고 이를 우회하는 방법을 정리해 보았다 로그인 페이지 데이터 베이스 접속을 위해 데이터 베이스 접속 전용 페이지를 만들어 주었다 mysqli_connect("localhost", "사용자 이름", "비밀번호", "데이터 베이스 이름") 순으로 작성해 줬다 그리고 이 명령어를 $login_1db 라는 변수를 만들어 대입해 주고 다음에 사용할 때는 긴 명령어 대신 짧은 $login_1db를 사용하도록 해줬다 로그인페이지를 만들어 줬다 ! 를 입력하고 엔터를 누르면 나오는 기본적인 세팅으로 하였으며 body 부분에 내용을 추가했다 아이디와 비밀번호를 입력받은 뒤 login_1.php로 값을 보내어 로그인 성공 또는 실패를 확인하도록 했다 데이터 베이스에 접속하기 위해 l..