전체 글

Nomaltic Hacking Study

2023.04.13

복습 쿠키 HTTP헤더 클라이언트측 정보. 서버로 요청을 보낼때 건내주는 정보 쪼가리 세션 세션 측 정보. 서버저장. 세션 ID 세션을 식별하기 위한 값. 쿠키 안에 들어 burp suite 사용법 숙지! 숙제 *wargame 로그인 우회 웹 해킹시 서비스를 분석. 그중에서 로그인 취약점을 찾기 위하여 로그인페이지 분석. 알고있는 계정으로 로그인. burpswite에서 history에 웹페이지와의 주고받는 정보 확인 get으로 id와 password 전송 응답에서 result가 올바를경우 result가 ok, 틀릴경우 fail. admin으로 로그인할경우 fail이 나옴. 이 응답값이 ok면 로그인 성공. do intercept response to this request를 해야 응답값을 잡을 수 있음 ..

프로그래밍 및 코딩/PHP

Login page 만들기_취약점 보완

전에 보았던 취약점으로 회원가입시 아이디, 비밀번호, 이메일의 생성 조건이 없어 굉장히 간단한 아이디 비밀번호 이메일을 통한 회원가입이 가능했다. 따라서 최소한의 조건을 설정하고자 로그인 php파일에 다음 코드를 추가하였다. if (preg_match('/^[a-zA-Z0-9_-]{5,20}$/',$username)) { // 아이디가 유효한 경우, 회원가입 처리 수행 } else{ echo "아이디는 5자 이상 20자 이하의 대소문자 알파벳과 특수기호 -,_ 만을 사용할 수 있습니다. "; echo "돌아가기"; exit; //아이디가 유효하지 않을경우 php종료. } if (preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@..

study

IQ Spoofing페이지 로그인 취약점 찾기1_쿠키 변조

우선 현제까지 로그인 페이지를 만들었다. 이 로그인페이지의 취약점이 있는지 물론 현제 전부 알진 못하겠고 부실할게 뻔하지만, 그래도 한번 저번에 해봤던 쿠키 변조를 통해 찾아보도록 하겠다. mysql> SELECT * FROM accounts; +----+----------+--------------------------------------------------------------+---------------------+ | id | username | password | email | +----+----------+--------------------------------------------------------------+---------------------+ | 1 | admin | $2y$..

모의해킹 및 보안

Same Origin Policy

Mitigation 즉. 보안조치의 일종인 Same Origin Policy(SOP, 동일 출처 정책)은 다른 출처에서 로드 된 리소스에 대한 엑세스를 제한하는 보안 매커니즘을 말한다. 쿠키에는 인증상태를 나타내는 중요한 정보가 포함되어 브라우저 내부에 저장된다. 브라우저는 이를 이를 웹 서비스 접속시 자동으로 쿠키를 헤더에 포함시켜 보내도록한다. 이는 일정기간동안의 로그인 유지를 시켜주지만 이를 이용하여 악의적인 페이지가 사용자의 웹 서비스로 요청을 보내게 되면 헤더에 쿠키를 포함해 보내게 될 것이다. 다시말해서 웹사이트가 인증을 거치지 않고 사용자로 요청을 보낼 수 있다는 것이다. 이를 방지하기 위해서 클라이언트 측은 악의적인 페이지가 데이터를 읽을 수 없도록 하는 것이다. i출처(Origin)은 프..

CTF문제풀이

cookie

로그인페이지에서 admin admin으로 로그인을 해보았다 그 결과 당연하게도 로그인되지 않고 다시 로그인 페이지로 돌아왔다. 로그인 페이지를 살펴보자;. guest/guest라는 디폴트계정이 있다는 주석이 있다. 이를 쿠키를 통하여 변조해보도록 하겠다. intercepte를 통해 쿠키의 username=guest에서 username=admin으로 변경하였다. 그리고 새로고침을 하였더니 admin으로 로그인 되었다.

Nomaltic's Hacking Traning!!

6. 미스터 브루트

0123을 그냥 넣어봤다. 바로 메인페이리로 리다이렉트된다. 바로 intruder로 보내서 0000부터 9999 까지 돌렸다. 그러나.. 한시간 가까이가 지났는데 600개.. 이건 코드 짜야된다. 5분만에 나왔다. 심지어 이 코드 다 짜고 돌릴때까지 burp swite는 2000개를 채 넘기지 못했다. 이렇게 로그인 성공. 아래는 파이썬 코드이다. # 파이썬에서 HTTP 요청을 보내기 위한 라이브러리 중 하나인 Requests 라이브러리를 가져오는 코드 import requests url = 'http://ctf.segfaulthub.com:1129/6/checkOTP.php' cookie = 'session=68748617-2024-4f43-a512-a0abd78d737e.KIJqW4N_2wR8M2at..

Nomaltic's Hacking Traning!!

5. 미스테이크

우선 로그인을 해보자. 4와 다르게 MIMEtype가 json인 respons에서 로그인 성공여부를 알려주지 않는다. 개발자모드를 이용해 페이지를 살펴보면 login.js가 없다. 혹시나 싶어 bootstrap.min.js를 뒤져봤지만 로그인 성공여부를 판단하는 코드가 없다. 그래서 그냥 admin으로 비밀번호 아무거나 로그인해봤다. 성공이다..

Nomaltic's Hacking Traning!!

4. 로그인 우회

우선 취약점을 파악하기 위해 Request와 Respons를 살펴보도록 하자. 주석으로 보면 두번쨰 페이지에 'Show password protected content down here' 라는 주석이 달려있다. 하지만 그곳에서는 Home, About, Contact라는 메뉴와 Segfault라는 저작권 정보가 포함된 푸터, IE10에서 발생하는 뷰포트 버그를 처리하는 스크립트를 로드하는것밖에 확인 할 수가 없다. 그런데 첫번째 페이지에서 userId가 매개변수값으로 받아가게 된다. 이를 변조하게 되면 다음과 같이 화면이 바뀌게 되는 것을 알 수 있다. 사실 여기서 잠깐 해매었다. 기껏 userId를 바꾸고 나서 새로고침을 하지 않아 화면이 바뀌지 않았던 것이다. 진짜 장난 안치고 이걸로 9시간 반 가량을..

잉여토끼
IQ Spoofing