본문 바로가기

정보보안33

[webhacking.kr] challenge(old). old-09 9번 문제에 접근하면 볼 수 있는 화면이다. 각각 1, 2, 3이라는 숫자를 눌러보면 위처럼 url에 no라는 변수에 해당 번호가 들어가며 각각의 화면이 출력된다. 1~3 이외의 숫자가 no에 들어가게 되면 아무것도 보이지않는다. 이때 column은 id, no로 이루어져 있고 no=3 값이 들어가면 no 3's id is password라는 글로 보아 no=3의 id를 찾아내어 password에 입력하면 되는 것 같다. 그렇다면 이때 적용되는 쿼리문은 no의 값에 따라 출력의 변화가 생기므로 select id from table where no=~~ 로 적용된다고 생각할 수 있다. 1' or '1'='1', union 등을 입력한 결과 Access Denied라는 문구가 출력이 된다. 따라서 특수문자나.. 2020. 3. 21.
[webhacking.kr] challenge(old). old-08 8번 문제에 들어가게 되면 hi guest라는 문구와 함께 페이지의 소스를 볼수있는 곳이 있다. 특별한 점은 없으므로 소스부터 확인해 보자. 소스는 다음과 같으므로 소스부터 분석해 보자. $agent=trim(getenv("HTTP_USER_AGENT")); $ip=$_SERVER['REMOTE_ADDR']; if(preg_match("/from/i",$agent)){ echo(" Access Denied! "); echo(htmlspecialchars($agent)); exit(); } getenv()함수는 인자값에 따라 환경변수의 값을 알려주는 함수이다. getenv("HTTP_USER_AGENT")는 웹사이트를 접속한 컴퓨터의 웹브라우저 정보를 알려주게 된다. 따라서 agent변수에는 웹브라우저 정.. 2020. 3. 19.
[webhacking.kr] challenge(old). old-07 7번 문제에 들어가면 Admin page라는 글씨와 auth버튼이 있으며 url에 val=1이라는 의심스러운 변수가 보인다. auth 버튼을 누르게 되면 Acceess_Denied! 라는 알림창과 함께 별다른 반응이 없다. 그럼 페이지의 소스코드를 통해 알아보자. 소스코드를 볼수있는 php부분을 제외한 php코드를 하나씩 분석해보면 $go=$_GET['val']; if(!$go) { echo("url=index.php?val=1>"); } go라는 변수해 get방식을 통해 val변수의 값을 받아온다. 값을 받아 오지 못한다면 if문의 조건이 참이 되어 실행되어 url에서 val이라는 변수에 1이란 값을 get방식으로 전달해준다. 따라서 무조건 맨처음 볼수 있는 페이지가 등장하게 된다. if(preg_ma.. 2020. 3. 2.
[webhacking.kr] challenge(old). old-06 6번 문제에 처음 접근하게 되면 해당 페이지의 소스를 확인할 수 있는 view-source와 ID, PW를 확인할 수 있다. source를 확인해보면 위와같은 php와 html 코드를 확인할 수 있다. 우선 소스코드를 분석해 보면 include "../../config.php"; if($_GET['view_source']) view_source(); 처음 화면에서 view_sourece를 클릭하면 소스 페이지를 보여주는 부분이다. if(!$_COOKIE['user']){ $val_id="guest"; $val_pw="123qwe"; for($i=0;$i 2020. 2. 18.
[webhacking.kr] challenge(old). old-05 문제에 처음 접근하면 검은색 화면에 Login과 Join 버튼이 보인다. Login 버튼을 통해 로그인 화면에 접근하게 되면 아이디와 비밀번호를 통해 로그인을 할 수 있는 화면이 제공된다. 임의로 아무 아이디와 비밀번호를 입력하면 Wrong password라는 문구와 함께 다시 로그인 창이 등장한다. Join 버튼을 통해 회원가입을 진행하려고 하면 Access_Denied라는 알림창과 함께 아무런 변화도 일어나지 않는다. 따라서 우선 접근이 되는 Login 페이지에 대한 소스를 확인해 봤다. id와 password를 사용해 로그인하면 화면에 대한 정의만 있고 별다른 것은 발견할 수 없다. 어떻게 문제에 접근해야 할지 한참 고민하다가 url을 보니까 Login페이지는 login.php로 동작하고 있는 것을.. 2020. 2. 13.
[webhacking.kr] challenge(old). old-04 4번 문제에 처음 접근하게 되면 다음과 같은 화면이 나타나게 된다. password부분에 임의의 아무값이나 입력하게 되면 복잡하게 인코딩된 값이 변경되고 별다른 반응은 보이지 않는다. 따라서 view-source를 통해 해당 페이지의 소스코드를 확인해 봐야 할것 같다. view-source를 통해 확인한 해당 페이지의 소스코드는 다음과 같다. 페이지의 뷰를 설정하는 부분을 제외하고 문제를 해결하는데 필요한 코드를 해석해 보자 sleep(1); // anti brute force 해당 부분은 sleep함수로 코드실행을 함수에 입력한 초만큼 지연시킬수 있다. brute focre 공격에 대비하기 위해 사용했다고 주석으로 설명이 되어있다. if((isset($_SESSION['chall4'])) && ($_P.. 2020. 2. 6.