vared
vared - Blog
vared
전체 방문자
오늘
어제
  • 분류 전체보기 (138)
    • Study (0)
    • Project (0)
    • Paper Review (0)
    • Tool (0)
    • WriteUp (124)
      • Root-me.org (44)
      • LOS_rubiya (32)
      • Webhacking.kr (21)
      • DreamHack (9)
      • XCZ.kr (8)
      • HackCTF (10)
    • Miscellaneous (0)
    • Forensic-CheatSheet (10)

블로그 메뉴

  • Category

공지사항

  • Forensic-CheatSheet 오픈

인기 글

태그

  • forensic-cheatsheet
  • Artifacts
  • Thumbcache
  • Digital Forensic
  • JavaScript
  • sql injection
  • iconcahce
  • File Execution
  • Los
  • digital-forensics
  • webhacking.kr
  • shellbag forensics
  • forensic artifacts
  • ssd
  • shellbag
  • LNK FIile
  • trim
  • Digital-Forensic
  • Windows Artifact

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
vared

vared - Blog

webhacking.kr : challenge 33
WriteUp/Webhacking.kr

webhacking.kr : challenge 33

2020. 9. 14. 14:40

첫번째 소스코드는 다음과 같다.

 

<hr>
Challenge 33-1<br>
<a href=index.txt>view-source</a>
<hr>
<?php
if($_GET['get']=="hehe") echo "<a href=???>Next</a>";
else echo("Wrong");
?>

?get=hehe를 넣어줬다.

_____________________________________________________________________________________

다음 소스코드가 나왔는데

 

<hr>
Challenge 33-2<br>
<a href=lv2.txt>view-source</a>
<hr>
<?php
if($_POST['post']=="hehe" && $_POST['post2']=="hehe2") echo "<a href=???>Next</a>";
else echo "Wrong";
?>

이번에는 get 방식이 아니라 post 방식으로 받는다.

즉 입력을 다른 방식으로 해주되, post랑 post2로 해줘야한다.

문제 출제의도자체가 get이랑 post 차이점을 파악하는거 같다.

 

get 방식 자체는 ?를 이용해서 input값을 넣어주어야 하는데, post 방식은 그게 아니고, 코드 안에 직접 넣어주는 형태로 들어간다.

 

즉 소스코드에 다음과 같이 추가해준다.

 

<form method="post" action="lv2.php">

POST<input type="text" name="post">

POST2<input type="text" name="post2">

<input type="submit" value="Submit">

</form>

_____________________________________________________________________________________

문제가 또있다.

<hr>
Challenge 33-3<br>
<a href=33.txt>view-source</a>
<hr>
<?php
if($_GET['myip'] == $_SERVER['REMOTE_ADDR']) echo "<a href=???>Next</a>";
else echo "Wrong";
?>

이 문제는 이제 다시 get방식으로 myip에 입력을 받는데, $_SERVER['REMOTE_ADDR'] 이게 뭔지 모르겠다.

 

remote 에서 서버함수라고한다.

그 안의 인자로 들어가있는 것은 REMOTE_ADDR 은 사이트에 접속한 사용자의 ip라고 한다.

그대로 넣어주었다.

_____________________________________________________________________________________

또있다….ㅎㅎ

코드를 보자

<hr>
Challenge 33-4<br>
<a href=l4.txt>view-source</a>
<hr>
<?php
if($_GET['password'] == md5(time())) echo "<a href=???>Next</a>";
else echo "hint : ".time();
?>

힌트에 있는 값을 md5 해쉬해서 넣어줬는데 안된다.

이게 시간따라서 변하는 거라 시간 맞게 넣어줘보자

_____________________________________________________________________________________

또있네…...ㅎㅎ얼마나 더있는거지

<hr>
Challenge 33-5<br>
<a href=md555.txt>view-source</a>
<hr>
<?php
if($_GET['imget'] && $_POST['impost'] && $_COOKIE['imcookie']) echo "<a href=???>Next</a>";
else echo "Wrong";
?>

링크 까먹어서 한번 더 했다. 링크 적어놓자

https://webhacking.kr/challenge/bonus-6/md555.php

<form method="post" action="md555.php">

POST<input type="text" name="impost">

<input type="submit" value="Submit">

</form>

3개 모아놓은거라서 쉽게 처리했다.

_____________________________________________________________________________________

https://webhacking.kr/challenge/bonus-6/gpcc.php

 

쿠키에 내 아이피를 md5해쉬 만들어준거 만들어주고,   

 

05b3fe3ae50369677eba657dd47d099b

 

post 타입으로 입력칸을 써준다.

 

<form method="post" action="gpcc.php">

    post<input type="text" name="kk">

    <input type="submit" value="Submit">

</form>

입력칸에는 user agent 값을 md5해쉬 해서 넣어준다.

237aa6249591b6a7ad6962bc73492c77

 

 

_____________________________________________________________________________________

또있네 얼마나 더있는걸까

<hr>
Challenge 33-7<br>
<a href=wtff.txt>view-source</a>
<hr>
<?php
$_SERVER['REMOTE_ADDR'] = str_replace(".","",$_SERVER['REMOTE_ADDR']);
if($_GET[$_SERVER['REMOTE_ADDR']] == $_SERVER['REMOTE_ADDR']) echo "<a href=???>Next</a>";
else echo "Wrong<br>".$_GET[$_SERVER['REMOTE_ADDR']];
?>

현재 아이피를 str_replace 한다.

그리고 get 방식으로 입력받은 값과 비교하면 된다.

현재 ip가 223.38.46.52 이다.

즉  필터링 하게 되면, 223384652다.

223.38.46.86

223384686

근데 안된다. 의문점이 든 부분이 있는데

get 방식으로 하면 보통 변수에서 가져왔다.

하지만 지금 꺼는

 

$_GET[$_SERVER['REMOTE_ADDR']]

형식으로 가져오는데 변수이름이 SERVER['REMOTE_ADDR']인 것인가…?

이부분이 잘 이해가 되지는 않는다.

그래서 입력 형식이

?223384654=223384654

이렇게 되는 것 같다.

_____________________________________________________________________________________

또 넥스트가 있다

<hr>
Challenge 33-8<br>
<a href=ipt.txt>view-source</a>
<hr>
<?php
extract($_GET);
if(!$_GET['addr']) $addr = $_SERVER['REMOTE_ADDR'];
if($addr == "127.0.0.1") echo "<a href=???>Next</a>";
else echo "Wrong";
?>

아이피를 변조해야 하는것같다.

현재 아이피는 223.38.52.176   이다.

근데 문제가 좀 이상한게 첫번째 if 문은 addr 이 존재하지 않을때, 내 아이피를 가져오는 것이고,

없다면 그냥 두번째 if 문으로 넘어간다. 즉 addr 에 127.0.0.1을 get 방식으로 넣어주면 된다.

다음 문제를 보자.

_____________________________________________________________________________________

<hr>
Challenge 33-9<br>
<a href=nextt.txt>view-source</a>
<hr>
<?php
for($i=97;$i<=122;$i=$i+2){
  $answer.=chr($i);
}
if($_GET['ans'] == $answer) echo "<a href=???.php>Next</a>";
else echo "Wrong";
?>

answer에 들어갈 값부터 보자.

chr(97,99,101,103,105,107,109,111,113,115,117,119,121)이 된다.

파이썬 이용해서 출력해보자.

foriinrange(97,122):

if(i%2!=0):

print(chr(i))

 

acegikmoqsuwy

_____________________________________________________________________________________

다음 문제를 보자

https://webhacking.kr/challenge/bonus-6/forfor.php

<hr>
Challenge 33-10<br>
<a href=forfor.txt>view-source</a>
<hr>
<?php
$ip = $_SERVER['REMOTE_ADDR'];                                   // ip =223.38.52.176 
for($i=0;$i<=strlen($ip);$i++) $ip=str_replace($i,ord($i),$ip); //0~13 까지 for문

$ip=str_replace(".","",$ip);//ip=2233852176
$ip=substr($ip,0,10);//ip=2233852176
$answer = $ip*2; //4467704352
$answer = $ip/2; //1116926088
$answer = str_replace(".","",$answer);//answer 
$f=fopen("answerip/{$answer}_{$ip}.php","w");//
fwrite($f,"<?php include \"../../../config.php\"; solve(33); unlink(__FILE__); ?>");
fclose($f);
?>

이거는 그냥 파이썬으로 짰다.

 

저작자표시 (새창열림)

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

webhacking.kr : challenge 27  (0) 2020.09.11
webhacking.kr : challenge 25  (0) 2020.09.11
webhacking.kr : challenge 24  (0) 2020.09.11
webhacking.kr : challenge 23  (0) 2020.09.11
webhacking.kr : challenge 22  (0) 2020.09.11
    'WriteUp/Webhacking.kr' 카테고리의 다른 글
    • webhacking.kr : challenge 27
    • webhacking.kr : challenge 25
    • webhacking.kr : challenge 24
    • webhacking.kr : challenge 23
    vared
    vared

    티스토리툴바