전체 글 (158) 썸네일형 리스트형 Admin is Mine 문제 접속 후주어진 계정으로 로그인해 보았다.loginProc.php 페이지를 통해사용자 인증 성공 시,서버에서 JSON 형태로 result:ok 값을 응답하고,클라이언트가 index.php 페이지를 요청하면서 index.php 페이지에 로그인이 된 것을 확인할 수 있었다.참고로 로그인이 되지 않았을 때, index.php로 접근하면 다시 로그인 페이지로 돌려보낸다.반대로 사용자 인증 실패 시,서버에서 result:fail 값을 응답하는 것을 볼 수 있다. 이러한 통신을 보았을 때,뒤에 로직을 알 수는 없지만,pw를 통한 인증 결과와는 상관없이result 값이 ok 라면index.php 페이지에서 로그인이 된 것으로 간주하는 로직일 것이라고 추측할 수 있었다.추측을 바탕으로주어진 계정으로 로그인 요청을 .. Pin Code Crack 문제 접속 시,로그인 버튼이 있고로그인 버튼을 누르면관리자의 번호로 예상되는 전화번호에 전송된 PIN Code 숫자 4자리를 입력해서 인증하라고 한다.PIN Code 값에 아무 값(1234)을 넣어 통신 로그를 살펴보니요청 값에서는GET 방식으로 사용자의 입력 값을 otpNum이라는 변수명에 담아 checkOTP.php 파일로 보내주는 것을 볼 수 있다.응답 값에서는로그인이 실패했다는 Login Fail 알림창과 함께 다시 로그인 페이지로 보내주는 스크립트를 확인할 수 있다.처음에 접근 방식은 otp의 경우 계속 값이 바뀔 것이라 예상하여 Brute Force 공격을 생각하지 못했지만만약 otp 값이 고정 값이라면,URL에 GET 요청으로 0~9999까지는 Brute Force 공격으로 시도해 볼 만하다.. PIN CODE Bypass 문제에 접속해 보니발사 버튼이 있어 눌러보았다.버튼을 누르자 step1.php 로 이동되면서,관리자인 경우에만 진행하라고 한다.확인을 눌러주었다.이번엔 step2.php 로 이동되면서,비밀번호를 입력하라고 한다.비밀번호를 입력한 뒤에는 step3.php 로 이동할 것으로 예측되어,step3.php 로 이동해 보았다.발사를 원하면 버튼을 누르라는 설명을 보니비밀번호 인증을 우회한 것으로 보인다.발사 버튼을 눌러보니,Flag를 확인할 수 있었다. Get Admin 해당 문제에 접속하여 주어진 계정으로 로그인해 보니서버에서 로그인한 사용자의 ID 값을 평문으로쿠키 값에 세팅하여 주는 것을 볼 수 있다.이후 클라이언트가 서버와 소통할 때,서버에서 받은 쿠키 값으로 통신하는 것을 볼 수 있다.리피터 기능을 이용해 클라이언트가 보내는 쿠키 값을 admin으로 변조해서 보내보니,admin으로 인증 우회에 성공하며, Flag를 획득할 수 있었다. Login Bypass 2 문제 접속 후, 로그인 시Login Bypass 1 문제와 동일하게 동작하는 로그인 페이지임을 확인할 수 있었다.하지만, or 연산자 필터링이 있는지or 문법으로 비밀번호 우회가 되지 않는 것을 확인할 수 있다.and 연산자를 넣어 테스트했을 때, 로그인이 되는 것을 보니SQL Injection 취약점은 존재하고, 괄호 로직은 아닌 것 같다.# 예측 로그인 쿼리 (식별/인증 동시)select * from member where UserId='doldol' and Password='dol1234'# id : doldol# pw : dummy_data# 주석 쿼리# ' #doldol' ## ID 일치 시, 로그인 성공select * from member where UserId='doldol' #' and P.. Login Bypass 1 문제 페이지 접속 후문제에서 주어진 계정으로 로그인을 시도해 보았다.사용자 계정 정보는 POST 매서드로 전송되고 있었으며,서버는 로그인 성공 시, index.php로 리다이렉트 하는 응답을 주는 것을 확인할 수 있다.index.php를 확인해 보니로그인이 성공된 것을 확인할 수 있었다.이후 ID 입력 값에 SQL 쿼리문이 입력되는지# 예측 로그인 쿼리 (식별/인증 동시)select * from member UserId='doldol' and Password='dol1234'# 쿼리문 동작 테스트를 위한 항등원(기존 쿼리와 상관없는)쿼리# ' and '1' = '1doldol' and '1' = '1# ID & PW 일치 시, 로그인 성공select * from member UserId='doldol' .. 웹 페이지 만들기 - 게시판(수정, 삭제) 1. read.php Alioth's Web Page 제목 : $title"; echo "내용 : $content"; ?> 목록 ">수정 ">삭제 목록 게시글의 작성자만수정, 삭제 버튼이 활성화 되도록read.php 수정2. delete.php다른 사용자가 get 요청 url 을 통해 악의적으로 다른 게시글을 삭제할 수 없도록작성자와 현재 요청을 보내는 .. KeyLogger 만들기(with JavaScript) 1. login.html 2. keylog.php3. Process3.1. 간단한 로그인 폼 작성 3.2. 간단한 keylog 스크립트 작성// point : onkeypress로그인 페이지에서 계정 정보 입력 시,console 창에 입력한 키 정보를 그대로 띄워주는 스크립트 작동 확인 하지만 이 방법은ID 값과 PW 값을 구분하기가 어렵고,무엇보다 사용자가 잘못 입력한 값도 저장되기 때문에 사용자가 계정 정보를 입력하고 로그인 버튼을 눌렀을 때,들어가 있는 ID 값과 PW 값을 공격자의 서버로 보내는 것을 목표로 했다.3.3. 보다 정교한 스크립트 작성 // onsubmit 속성을 통해 getInputValue 함수로 input 데이터에서 받은 사용자 정보를 넘겨줌 // i.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 20 다음