wargame
-
SQL Injection - 2wargame/segfault 2024. 6. 17. 10:01
페이지 모습은 다음과 같다. 이번에도 검색 창이 존재하고, 검색 옵션은 User ID밖에 안된다. 다만 저번문제와 달리 아무 데이터도 초반에 보이지 않는다. 그러나 placeholder에 normaltic이 있는 것을 보아 이 아이디로 힌트를 준 것 같다. 먼저 normaltic을 검색해본다. get 방식으로 search=normaltic 처럼 담겨 전달된다. 이번에는 burp 캡쳐화면보다 브라우저가 많이 나올 것이다.ID에 normaltic이 나오고, Level, Rank Point는 필터처리되었으며, info에는 특정 데이터가 출력된다. 이제 sql 추측을 하기 위해 nor 을 삽입해서도 검색해본다. 그러나 아까와 달리 ID에는 nor이 나오고 Info에는 아무것도 출력되지 않은 것을 알 수 있다. ..
-
SQL Injection - 1wargame/segfault 2024. 6. 17. 09:05
/sqli_1/ 에 접속하면 /sqli/search.php로 redirect 된다. 검색창에 존재하는 검색옵션은 User ID 밖에 없다. 지금 보이는 유저중에 mario를 검색해보겠다.검색 시 동일한 페이지에 get 방식으로 search=mario로 담아서 보낸다. 결과는 mario가 정상적으로 출력된다. 그러나 검색페이지 이기 때문에 select문에서 like 연산자를 쓸 가능성이 높기 때문에 mario 전체를 검색하지 않고 ma 만 검색해보겠다. 결과는 다음과 같이 mario도 정상출력 되었고 그 뿐 아니라 normaltic도 출력되었다. 따라서 추측 가능한 sql문은 다음과 같다.# SELECT * from member WHERE id like '%__%'SQL Injection 가능성 확인 여기..
-
Authentication Bypass - Secret Loginwargame/segfault 2024. 6. 16. 20:05
이번에는 주어진 내용이 좀 다르다! 똑같이 doldol / dol1234 는 존재하지만 어떤 아이디로 로그인해야하는지가 나와있지 않다. 단순히 관리자 계정으로 로그인 하라고 되어있다. 물론 admin으로 가정하고 진행하는 것이 문제의 취지는 아닐 것이다. 그래서 일단 주어진 계정으로 먼저 로그인 하고 페이지를 살펴보려고 한다. 아래는 post 요청의 응답 데이터이다. 문제를 내신 분이 친절하게도 사용되는 sql문을 출력해서 보여주고 있다. 그러나 이것이 없더라도 문제풀이에 지장은 없다. 앞의 문제들에서 했던 것과 마찬가지로 다시 로그인 우회 인증이 되는지 확인을 해야한다. 로그인 우회 가능성 확인 이 데이터로 보내도 정상적으로 로그인이 되기 때문에 로그인 우회 가능성이 존재한다고 할 수 있다.참고로 친..
-
Authentication Bypass - Login Bypass 5wargame/segfault 2024. 6. 16. 19:39
doldol / dol1234 으로 로그인 해서 burp로 살펴보겠다. 로그인 시 보내는 post 요청의 응답 헤더에 loginUser를 doldol로 쿠키설정을 하게 되어 있는 것을 볼 수 있다. 따라서 이것을 normaltic5로 변조해보려고 한다. 방법은 저 응답 자체를 변조해서 저장되는 것 자체를 바꿀 수도 있고, 그 다음에 쿠키를 요청에 담아서 보내는 것을 바꿀 수도 있다. 전자로 진행해보겠다. burp의 intercept를 활성화 시키고 로그인 버튼을 누른 뒤 Action 버튼에서 Do intercept -> Response to this request 를 눌러준다. 그 다음 Forward 버튼을 눌러 Response를 확인한다. Set-Cookie의 loginUser의 doldol을 norm..
-
Authentication Bypass - Login Bypass 4wargame/segfault 2024. 6. 16. 19:26
목표와 주어진 데이터, 페이지 분석은 이전 글들에 충분히 서술되어 있기 때문에 따로 설명하지 않겠다. 또한 Login Bypass 3의 마지막 과정까지 동일하게 진행되다가 마지막에서 로그인 우회에 실패했으므로 그곳부터 다루도록 하겠다. 로그인 우회 식별/인증 분리 케이스이고 남은 경우는 다음과 같다./*식별/인증 분리 | 괄호없음 | 개행X | 해쉬O | '사용 SELECT id,pass from member WHERE id='___'식별/인증 분리 | 괄호있음 | 개행X | 해쉬X | '사용 SELECT id,pass from member WHERE (id='___')식별/인증 분리 | 괄호있음 | 개행X | 해쉬O | '사용 SELECT id,pass from member WHERE (id='___'..
-
Authentication Bypass - Login Bypass 3wargame/segfault 2024. 6. 16. 19:04
목표: normaltic3으로 로그인하기.주어진 계정 정보는 아래와 같다.# id: doldol# password: dol1234 웹페이지 구성이 Login Bypass 1과 동일하기에 분석은 생략한다. 로그인 우회 가능성 확인 sql문이 일단 식별/인증 동시 id먼저, 괄호X, 개행X, 해쉬X, single quote사용 이라고 가정하겠다.$sql = "SELECT id, pass from member id='___' and pass='___'" 이 경우에 로그인 우회 가능성을 확인하기 위해 id에 doldol' and '1'='1 을 입력해보겠다.$sql = "SELECT id, pass from member id='doldol' and '1'='1' and pass='dol1234'" 위와 같이 ..
-
Authentication Bypass - Login Bypass 2wargame/segfault 2024. 6. 16. 14:17
이번 문제의 목표는 normaltic2로 로그인에 성공하는 것이다. 테스트용으로 주어진 계정의 id와 password는 다음과 같다.# id: doldol# password: dol1234 해당 아이디로 로그인해서 웹사이트를 살펴본 결과 Login Bypass1과 다르지 않았으므로 웹페이지 분석은 생략한다. 로그인 우회 가능성 확인 (302코드: 로그인 성공, 200코드: 로그인 실패)를 의미한다. 자세한 내용은 Login Bypass1에서 확인하라. UserId에 doldol' and '1'='1 을 입력했음에도 로그인이 정상적으로 되었기 때문에 로그인 우회가 가능할 것으로 판단된다. 로그인 우회 먼저 식별/인증 동시 케이스 중에서, 개행X, 해쉬X, 괄호X이며 내부에 single quote(')를 사..
-
Authentication Bypass - Login Bypass 1wargame/segfault 2024. 6. 16. 13:27
이 카테고리에 있는 워게임은 화이트해커 'Normaltic'의 모의해킹 취업반 수강자들만 접근할 수 있으므로 기록용으로 작성함을 알립니다. 참고로 노출된 url에 직접 접근을 시도하여도 일정 기간 제외하고는 접근이 불가능하기 때문에 추후의 캡쳐본에서 따로 url을 모자이크 처리하지는 않겠습니다. 워게임에 대해 간단히 설명을 하겠다. 주어진 url이 있고, 그곳에서 'normaltic1'로 로그인에 성공하면 주어지는 flag를 획득하는 것이 목표이다. 기본적으로 주어진 계정의 정보는 다음과 같다.# id: doldol# password: dol1234 어떻게 로그인이 진행되는지 분석해보기 위해 Burp Suite를 통해 웹페이지를 살펴보겠다. /login1/ 에 접근하게 되면 응답코드가 302이 되며 ..