웹 해킹
-
Login Logic Case 분석웹 해킹 2024. 6. 16. 18:03
서버 소스코드에서 로그인 처리를 할 때 여러가지 변수에 따라 로그인 로직이 나뉜다. WHERE문 뒤부터 설명하겠다. CASE: 식별/인증1. 식별/인증 동시 id 먼저DB에서 id='___' and pass='___' 에 충족하는 데이터를 가져오는 동시에 가져오는데 성공한다면 id식별과 password로 인한 인증을 동시에 한 것이다. 이때 sql문에서 id가 먼저 온다. 2. 식별/인증 동시 pass먼저DB에서 pass='___' and id='___' 에 충족하는 데이터를 가져오는 동시에 가져오는데 성공한다면 id식별과 password로 인한 인증을 동시에 한 것이다. 이때 sql문에서 pass가 먼저 온다. 3. 식별/인증 분리DB에서 id='___' 에 해당하는 데이터를 식별해 먼저 가져온 다음,..
-
3주차 수업 정리웹 해킹 2024. 5. 3. 06:01
로그인에 관해서 알아보려고 한다. 로그인이란 그 사람이 맞는지 확인하는 작업을 일컫는다. 여기서 따라오는 개념이 두가지가 있다. 먼저 식별이다. 식별이란 수 많은 데이터 중에서 특정 데이터를 찾아내는 작업을 뜻한다. 이때 식별하기 위해서는 식별정보가 필요한데, 그래서 이 식별정보는 절대로 중복되어서는 안된다. 만약 식별 정보가 중복되어서 여러개라면 원하는 특정 데이터를 찾아낼 수 없기 때문이다. 따라서 식별정보는 Unique 해야한다. 이런 필요에 의해 데이터베이스에서 table에서 column을 설정할때 id와 같은 정보들은 primary key로 등록하기도 한다. 또한 '고유식별정보'라는 개념도 있는데, 이것은 예를들어 이 정보만 가지고 한 국가에서 정확히 누구인지 딱 집어낼 수 있는 정보를 뜻한다...
-
2주차 과제웹 해킹 2024. 4. 28. 20:24
2주차 과제 회원가입 페이지를 만들고 기능구현 후, 1주차에 만든 로그인 페이지와 db를 연동해 로그인할 수 있도록 만들기 먼저 sign up 페이지를 만들었다. bootstrap의 코드를 이용해서 수정하였다. form은 POST method를 이용하고 action은 자기자신에게 보내도록 했다. input태그의 name은 각각 name, password, city로 했고 다 required 태그를 추가했다. 또한 button을 누르면 전송되도록 설정했다. 그리고 가장 위에 이 코드를 추가했다. POST로 받은 name이 존재하면 if문 안의 코드가 실행된다.user라는 테이블을 이미 만들어 놨다. 그 table의 column은 idx, name, password, city로 구성되어있다. 그래서 sq..
-
2주차 수업 정리웹 해킹 2024. 4. 28. 17:29
복습 시간에 말씀해 주신 것들 중에 몰랐던 것 1. docker 컨테이너 삭제할 때 id의 앞 두글자만 입력해도 삭제 됨.2. header()함수로 http 헤더에 특정 값을 설정 가능. 예를 들면 location도 지정할 수 있는데, header("location:login.php");로 설정해서 특정 path로 이동할수 있게 할 수 있음. 그리고 만약 내가 로그인이 되었는지 안되었는지 확인한 후에 만약 되지 않았다면 특정 path로 이동한다고 할때, header함수 뒤에 exit;을 써서 본 코드가 노출되지 않도록 해야한다. Burp suite으로 확인해본 결과, exit을 쓰지 않았을 때는 로그인이 되지 않음에도 불구하고 코드가 노출되어 보안상 위험이 있었다. 실제로 모의해킹에 이런 취약점이 많이 ..
-
1주차 수업 정리웹 해킹 2024. 4. 19. 00:25
웹 서버에 대해서 배우면서 준비된 가상머신에 설치된 서버로 실습을 진행했다. 실제로는 스스로 리눅스에 APM을 설치해서 서버를 돌리면 더 좋지만 아직 구축하지 못해서 부득이하게 선생님께서 준비해주신 가상머신으로 진행했다. 나는 M1 맥북을 쓰고 있는데 제공해주신 ova 파일을 fmware fusion으로 import해보니 아키텍쳐가 x86 전용이라 열리지 않길래, 일단 내가 갖고 있는 인텔 맥북으로 먼저 설치를 한 후에, 가상머신 네트워크를 bridge로 설정해서 m1 맥북에서도 접속 가능한 ip를 획득하게 만들었다. 그래서 m1 맥북에서 terminus를 통해 무리 없이 ssh 접속을 했다. (서버를 따로 구축하기 전에는 이렇게 번거롭게 해야할 것 같다. m1맥북에서도 x86 전용 os를 돌릴 수 있는..