문제를 클릭하면 검은 화면에 텍스트 박스가 하나 있고 check버튼이 있습니다. 일단 페이지 아무곳이나 우클릭해서 소스 보기를 해봅니다.

 

<html>
<head>
<title>Challenge 14</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>

</head>
<body>
<br><br>
<form name=pw><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form>
<script>
function ck(){
  var ul=document.URL;
  ul=ul.indexOf(".kr");
  ul=ul*30;
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
  else { alert("Wrong"); }
}
</script>
</body>
</html>

 

 ul에 URL값을 넣고 해당 값에서 .kr의 index값을 넣은 뒤 30을 곱해줍니다.
결국 텍스트 박스에 위의 연산을 끝낸 결과값을 넣고 check를 누르면 풀리는 문제입니다. 직접 다 계산하는 방법도 있겠지만 개발자 도구를 이용해 쉽게 푸는 방법이 2가지가 있습니다.

 

첫번째 방법

 위와 같은 방법으로 콘솔에 똑같은 코드를 넣고 결과 값을 구하는 방법입니다. 직접 구하지 않고 편하게 구할 수 있고 코드가 어떻게 동작하는지 확인할 수 있는 장점이 있는 방법입니다.

 

두번째 방법

 위와 같은 방법으로 ck함수를 재정의한 뒤 호출하는 방법이 있습니다. 편한 방법을 골라서 쓰면 됩니다.

끝!

'Web Hacking > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-17  (0) 2019.10.22
[Webhacking.kr] old-16  (0) 2019.10.22
[Webhacking.kr] old-01  (0) 2019.10.22
[Webhacking.kr] old-06(100)  (0) 2019.09.29
[Webhacking.kr] old-15(50)  (0) 2019.09.29

 

 문제를 클릭하면 검은 화면에 level이 적혀있고 그 아래 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>

 

 SetCookie로 user_lv를 설정해주고 아래에서 user_lv의 조건을 체크해 solve 여부가 결정됩니다. solve를 위한 user_lv의 조건은

5 < user_lv < 6

이어야 하니 EditThisCookie를 이용해서 user_lv값을 5.1~5.9 사이로 변경해줍니다. (개발자 도구를 사용해도 무관합니다.)

끝.

'Web Hacking > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-17  (0) 2019.10.22
[Webhacking.kr] old-16  (0) 2019.10.22
[Webhacking.kr] old-14  (0) 2019.10.22
[Webhacking.kr] old-06(100)  (0) 2019.09.29
[Webhacking.kr] old-15(50)  (0) 2019.09.29

12시 40분까지 입실해서 거의 5시? 까지 시험봅니다.

시험 진행은

1,2 과목 시험
10분 휴식
3,4 과목 시험
15분 휴식
인성 검사

위와 같은 순서로 진행됩니다. 휴식시간에 휴대폰 사용 못하고 사들고간 음료수도 못마십니다. 음료수 들고가지 마세요. ㅠㅠ

그리고 시험볼때 수정테이프, 컴싸 둘다 줍니다. 책상위엔 딱 신분증 하나만 올릴 수 있었습니다.

1,2 과목은 지문 길이는 적당했지만 하나하나가 전부 쉽게 읽히지 않는 지문들이 나왔습니다. 문제 하나하나에 시간이 엄청 걸렸던것 같아요.

3 과목은 무난하게 나왔습니다. 평범 평범

4 과목이 아마 이번 시험의 폭탄이 아니었을까 싶은데 기존 인적성 문제와 전혀 다른 유형의 문제가 나왔습니다. 신유형은 글로 설명드리기 좀 어렵습니다. 아마 2020 상반기 인적성 책에 내용이 나올텐데 그걸 직접 보시는게 좋을것 같습니다. 그래도 굳이 표현을 하자면..

 N개의 큰 칸으로 나누어진 정사각형이 있고 하나의 큰 칸은 M개의 작은 칸으로 나눠지며 해당 칸들에는 서로 다른 도형이 있다. 도형은 음영이 있을 수 도 없을 수 도 있다. 회전은 큰 칸만 회전할 수 도 작은 칸만 회전할 수 도 전체가 회전할 수 도 있다.

정도 되겠습니다. 각 과목별로 시작전에 예시 문제를 주는데 4과목은 신유형이라 그런지 꽤 긴시간을 줬습니다. 다행히 그 시간에 신유형 문제를 파악해서 문제 푸는데 생각보다 큰 어려움은 없었습니다.

 

문제는 절반? 근처로 푼것 같은데 왠지 떨어질것 같습니다. 흑흑.

'기타' 카테고리의 다른 글

해킹(보안) 공부 방법  (4) 2020.06.07
황금연휴에 DDoS 공격 받은 이야기..  (0) 2020.05.10
글또 4기 시작.  (0) 2020.03.01
근황 업데이트  (0) 2020.01.18
2019 하반기 KT 인적성 후기  (0) 2019.10.13

오늘 KT 인적성 보고왔습니다. 직무는 보안 파트.

시험은 청담역 인근 경기고등학교에서 봤고 난이도는 책에서 본 문제와 비슷하거나 살짝 어려운 정도..?

다만 좀 예상외의 변수(?)가 있는데 책에서는 풀고 체크 하면 끝인데 시험장은 풀고 OMR 마킹을 해야하다보니

평소보다 살짝 시간이 더 모자란 느낌이 있었습니다. 얼마나 풀었다 이런건 나중에 공개하는걸로..

인성검사, 적성검사가 끝나고 전공시험을 봤는데 예상외로 어려웠습니다..

기억을 더듬어보자면..

DB, 암호, 공격기법, OWASP TOP10, 잘 알려진 포트, 스케줄링, SSL 관련, VPN, 리눅스와 관련된 기본적인 내용들

등등..

문항은 총 25분이고 문제 풀이 시간은 20분 입니다.

 

인적성 공부나 시험 둘다 생각외로 힘드니 참고하시길 바랍니다..

 

 

KT 인적성 불합격했습니다. 문제는 총 절반정도 풀었던것 같습니다.

직무별로 다르긴할것 같긴한데 KT 인적성은 반타작쯤이면 그냥 탈이라고 보시면 될것 같습니다.

'기타' 카테고리의 다른 글

해킹(보안) 공부 방법  (4) 2020.06.07
황금연휴에 DDoS 공격 받은 이야기..  (0) 2020.05.10
글또 4기 시작.  (0) 2020.03.01
근황 업데이트  (0) 2020.01.18
2019 하반기 CJ 인적성 후기  (0) 2019.10.22

 

 문제를 클릭하면 위와 같은 화면이 뜨는데 바로 view-source를 눌러 소스를 확인해줍니다. 소스는 아래와 같습니다.

 

<?php
include "../../config.php";
if($_GET['view_source']) view_source();
if(!$_COOKIE['user']){
  $val_id="guest";
  $val_pw="123qwe";
  for($i=0;$i<20;$i++){
    $val_id=base64_encode($val_id);
    $val_pw=base64_encode($val_pw);
  }
  $val_id=str_replace("1","!",$val_id);
  $val_id=str_replace("2","@",$val_id);
  $val_id=str_replace("3","$",$val_id);
  $val_id=str_replace("4","^",$val_id);
  $val_id=str_replace("5","&",$val_id);
  $val_id=str_replace("6","*",$val_id);
  $val_id=str_replace("7","(",$val_id);
  $val_id=str_replace("8",")",$val_id);

  $val_pw=str_replace("1","!",$val_pw);
  $val_pw=str_replace("2","@",$val_pw);
  $val_pw=str_replace("3","$",$val_pw);
  $val_pw=str_replace("4","^",$val_pw);
  $val_pw=str_replace("5","&",$val_pw);
  $val_pw=str_replace("6","*",$val_pw);
  $val_pw=str_replace("7","(",$val_pw);
  $val_pw=str_replace("8",")",$val_pw);

  Setcookie("user",$val_id,time()+86400,"/challenge/web-06/");
  Setcookie("password",$val_pw,time()+86400,"/challenge/web-06/");
  echo("<meta http-equiv=refresh content=0>");
  exit;
}
?>
<html>
<head>
<title>Challenge 6</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<?php
$decode_id=$_COOKIE['user'];
$decode_pw=$_COOKIE['password'];

$decode_id=str_replace("!","1",$decode_id);
$decode_id=str_replace("@","2",$decode_id);
$decode_id=str_replace("$","3",$decode_id);
$decode_id=str_replace("^","4",$decode_id);
$decode_id=str_replace("&","5",$decode_id);
$decode_id=str_replace("*","6",$decode_id);
$decode_id=str_replace("(","7",$decode_id);
$decode_id=str_replace(")","8",$decode_id);

$decode_pw=str_replace("!","1",$decode_pw);
$decode_pw=str_replace("@","2",$decode_pw);
$decode_pw=str_replace("$","3",$decode_pw);
$decode_pw=str_replace("^","4",$decode_pw);
$decode_pw=str_replace("&","5",$decode_pw);
$decode_pw=str_replace("*","6",$decode_pw);
$decode_pw=str_replace("(","7",$decode_pw);
$decode_pw=str_replace(")","8",$decode_pw);

for($i=0;$i<20;$i++){
  $decode_id=base64_decode($decode_id);
  $decode_pw=base64_decode($decode_pw);
}

echo("<hr><a href=./?view_source=1 style=color:yellow;>view-source</a><br><br>");
echo("ID : $decode_id<br>PW : $decode_pw<hr>");

if($decode_id=="admin" && $decode_pw=="nimda"){
  solve(6);
}
?>
</body>
</html>

 

 코드가 조금 길지만 guest와 123qwe를 Base64로 20번 인코딩 해주고 인코딩된 값을 str_replace를 이용하여 코드에 맞게 치환해준 뒤 그걸 다시 원래대로 치환해준 다음 Base64로 20번 디코딩한 값이 admin, nimda 인지 체크하는 코드입니다. 그냥 id를 guest -> admin, pw를 123qwe -> nimda 로 변경해주고 위의 과정을 그대로 돌려줘서 나온 Base64값을 그대로 쿠키에 넣어주면 해결되는 문제입니다.
이 과정은 뭐 직접 php를 짜셔도 되고 파이썬으로 짜셔도됩니다.

 

'Web Hacking > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-17  (0) 2019.10.22
[Webhacking.kr] old-16  (0) 2019.10.22
[Webhacking.kr] old-14  (0) 2019.10.22
[Webhacking.kr] old-01  (0) 2019.10.22
[Webhacking.kr] old-15(50)  (0) 2019.09.29

+ Recent posts