분류 전체보기
-
pw를 입력을 받는데, 쿼리문의 결과 id는 admin이어야 문제를 풀 수 있다. 필터링되는 문자은 prob, _, ., (, ), 공백이다. 일단 or 연산을 이용하여 id='guest' and pw='' or id='admin' -> False or True으로 만들어줘서 True인 id='admin'이 작동하도록 하겠다. 하지만 or id='admin'에는 공백이 있어서 if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");이 작동되었다. 그래서 or 뒤에 공백 대신 ()를 감싸줘서 공백을 없애주도록 하겠다. or 뒤 (,)은 No Hack ~_~ 조건문에 걸리지 않는 듯 하다.
[Lord of SQLInjection] Wolfman Write UPpw를 입력을 받는데, 쿼리문의 결과 id는 admin이어야 문제를 풀 수 있다. 필터링되는 문자은 prob, _, ., (, ), 공백이다. 일단 or 연산을 이용하여 id='guest' and pw='' or id='admin' -> False or True으로 만들어줘서 True인 id='admin'이 작동하도록 하겠다. 하지만 or id='admin'에는 공백이 있어서 if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");이 작동되었다. 그래서 or 뒤에 공백 대신 ()를 감싸줘서 공백을 없애주도록 하겠다. or 뒤 (,)은 No Hack ~_~ 조건문에 걸리지 않는 듯 하다.
2021.07.14 -
세 번째 문제 시작하도록 하겠습니다~ 1. 문제 문제에 접근하게 되면 패스워드를 입력하라는 창이 뜨게 된다. 2. 문제풀이 뜬금없이 패스워드를 입력하라고 한다.... 우선 어떠한 반응이 일어나는지 확인하기 위해 test문구를 입력하여 보았다. 이후 반응을 보니 잘못된 패스워드라는 값을 던져주었다. 어떻게 생겨먹은 로직인지 확인하기 위해 패킷을 잡아보았다. 패킷을 잡으니 pass 값이 나와있다. 이를 다시 패스워드 입력 칸에 입력해보았다. 결과는... 이 패스워드 값을 검증하는 곳에 사용하라는 것 같다. 검증하는 곳에 의뢰를 맡기니 파랑새가 반겨주었다~ 이전에 패킷을 잡으면 안 잡히는 현상이 있었다. 이를 확인해 보니 두 번째 패킷을 잡을 때부터는 304를 뿌려주었다. 이게 무엇인지 조사해보니 304 No..
[Root-Me]/Web-Client/Javascript - Source세 번째 문제 시작하도록 하겠습니다~ 1. 문제 문제에 접근하게 되면 패스워드를 입력하라는 창이 뜨게 된다. 2. 문제풀이 뜬금없이 패스워드를 입력하라고 한다.... 우선 어떠한 반응이 일어나는지 확인하기 위해 test문구를 입력하여 보았다. 이후 반응을 보니 잘못된 패스워드라는 값을 던져주었다. 어떻게 생겨먹은 로직인지 확인하기 위해 패킷을 잡아보았다. 패킷을 잡으니 pass 값이 나와있다. 이를 다시 패스워드 입력 칸에 입력해보았다. 결과는... 이 패스워드 값을 검증하는 곳에 사용하라는 것 같다. 검증하는 곳에 의뢰를 맡기니 파랑새가 반겨주었다~ 이전에 패킷을 잡으면 안 잡히는 현상이 있었다. 이를 확인해 보니 두 번째 패킷을 잡을 때부터는 304를 뿌려주었다. 이게 무엇인지 조사해보니 304 No..
2021.07.14 -
정규표현식 해당 글은 PHP 기준으로 정리한 글 입니다. 정규표현식이란? 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 정규표현식 함수 Function Description preg_match() 패턴이 문자열에서 발견되면 1을 반환, 그렇지 않으면 0을 반환 preg_match_all() 문자열에서 발견된 패턴의 개수를 반환 preg_replace() 패턴과 일치하는 문자열을 다른 문자열로 대체된 문자열을 반환 Modifiers Modifier Description i 대소문자 구분하지 않고 패턴 검사 수행 m 여러 줄 검색을 수행(문자열의 시작 또는 끝을 검색하는 패턴은 각 줄의 시작 또는 끝과 일치) u UTF-8 인코딩 i $result = preg_match("/t/", "t..
정규표현식 정리정규표현식 해당 글은 PHP 기준으로 정리한 글 입니다. 정규표현식이란? 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 정규표현식 함수 Function Description preg_match() 패턴이 문자열에서 발견되면 1을 반환, 그렇지 않으면 0을 반환 preg_match_all() 문자열에서 발견된 패턴의 개수를 반환 preg_replace() 패턴과 일치하는 문자열을 다른 문자열로 대체된 문자열을 반환 Modifiers Modifier Description i 대소문자 구분하지 않고 패턴 검사 수행 m 여러 줄 검색을 수행(문자열의 시작 또는 끝을 검색하는 패턴은 각 줄의 시작 또는 끝과 일치) u UTF-8 인코딩 i $result = preg_match("/t/", "t..
2021.07.13 -
이번엔 두 개의 쿼리문으로 문제를 만들었다. $query = "select id from prob_orc where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello admin"; 첫번째 쿼리문이다. 쿼리의 결과 id가 admin일 때, Hello admin를 출력한다. $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_orc where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($..
[Lord of SQLInjection] Orc Write UP이번엔 두 개의 쿼리문으로 문제를 만들었다. $query = "select id from prob_orc where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello admin"; 첫번째 쿼리문이다. 쿼리의 결과 id가 admin일 때, Hello admin를 출력한다. $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_orc where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($..
2021.07.12 -
두 번째 문제풀이 시작하도록 하겠습니다~ 1. 문제 ID/PW를 통해 로그인하면 문제가 풀리는 것처럼 보인다. 2. 문제풀이 바로 ID/PW에 test 값을 넣어 봤지만. 패스워드가 틀렸다고 한다... 이후 패킷을 잡아 진행해보려 하였는데, 패킷이 잡히지않고있엇다.... 어쩔 수 없이 페이지 소스 보기를 통해 힌트를 얻었다. HTML 코드 상에선 힌트가 존재하지 않아 로그인이 수행되는 login.js 코드를 살펴보았다. 이 부분은 패킷이 안잡혀 이렇게 볼 수밖에 없었다... 도중에 패킷 요청 변조를 하니 아예 화면이 안보이기도 하였다... 어쨌든 얻은 힌트를 통해 ID/ PW를 넣고 로그인을 시도해 보았다. 성공하였다고 알려주며 패스워드를 타당성 검증하는 곳에 입력하라는 문구가 나왔다. 이후 타당성 검증..
[Root-Me]/Web-Client/Javascript - Authentification두 번째 문제풀이 시작하도록 하겠습니다~ 1. 문제 ID/PW를 통해 로그인하면 문제가 풀리는 것처럼 보인다. 2. 문제풀이 바로 ID/PW에 test 값을 넣어 봤지만. 패스워드가 틀렸다고 한다... 이후 패킷을 잡아 진행해보려 하였는데, 패킷이 잡히지않고있엇다.... 어쩔 수 없이 페이지 소스 보기를 통해 힌트를 얻었다. HTML 코드 상에선 힌트가 존재하지 않아 로그인이 수행되는 login.js 코드를 살펴보았다. 이 부분은 패킷이 안잡혀 이렇게 볼 수밖에 없었다... 도중에 패킷 요청 변조를 하니 아예 화면이 안보이기도 하였다... 어쨌든 얻은 힌트를 통해 ID/ PW를 넣고 로그인을 시도해 보았다. 성공하였다고 알려주며 패스워드를 타당성 검증하는 곳에 입력하라는 문구가 나왔다. 이후 타당성 검증..
2021.07.12 -
새로운 워게임 사이트를 찾게 되었다. 초급자가 진행하기 쉬울 것이라고 하여 페이지에 접속해 보았다. 간단 접속 및 로그인 법부터 설명하고 문제풀이를 진행하도록 하겠다. 사이트는 https://www.root-me.org이다. 빨강 박스를 통해서 ID/E-mail/PW를 입력할 수 있다. E-mail 인증이 필요하며, 네이버로 메일 작성했는데 메일이 안 와서 google 메일을 사용하였다. 로그인은 E-mail/PW를 통해서 로그인하게 된다. ID는 별명 정도로 사용되는 듯하다. 이후에 로그인하게 되면 이렇게 리다이렉트가 되며 Challenges를 통해서 문제에 접근할 수 있다. 바로 Web-Client 문제 먼저 시작해볼 예정이며, 막히면 Web-Server로 넘어가면서 풀어봐야겠다. 그럼 이제 문제풀이..
[Root-Me]/Web-Client/HTML - boutons désactivés(disabled button)새로운 워게임 사이트를 찾게 되었다. 초급자가 진행하기 쉬울 것이라고 하여 페이지에 접속해 보았다. 간단 접속 및 로그인 법부터 설명하고 문제풀이를 진행하도록 하겠다. 사이트는 https://www.root-me.org이다. 빨강 박스를 통해서 ID/E-mail/PW를 입력할 수 있다. E-mail 인증이 필요하며, 네이버로 메일 작성했는데 메일이 안 와서 google 메일을 사용하였다. 로그인은 E-mail/PW를 통해서 로그인하게 된다. ID는 별명 정도로 사용되는 듯하다. 이후에 로그인하게 되면 이렇게 리다이렉트가 되며 Challenges를 통해서 문제에 접근할 수 있다. 바로 Web-Client 문제 먼저 시작해볼 예정이며, 막히면 Web-Server로 넘어가면서 풀어봐야겠다. 그럼 이제 문제풀이..
2021.07.12