Today Mini Learned :

기록하는 습관 들이기

ACTIVITY/WEBHACKING.KR (2017)

1/4/6

얌챠 2017. 10. 23. 01:17

1)

들어가면 간단한 문구만 뜬다.

소스 코드를 확인하면 소스 코드도 엄청 간단하게 되어 있는데,

<html>

<head>

<title>Challenge 1</title>

</head>

<body bgcolor=black>

<center>

<br><br><br><br><br>

<font color=white>

---------------------<br>

<br>level : 1<br>

<pre>

<a onclick=location.href='index.phps'>----- index.phps -----</a>

</body>

</html>

 

index부분을 클릭해야 할 것 같아서 클릭했더니 어떤 코드가 뜬다.

<?
if(!$_COOKIE[user_lv])
{
SetCookie("user_lv","1");
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>
<?

$password="????";

if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>5) @solve();

echo("<br>level : $_COOKIE[user_lv]");

?>
<br>
<pre>
<a onclick=location.href='index.phps'>----- index.phps -----</a>
</body>
</html>

 

userlv의 쿠키값이 5를 넘을 시 solve가 실행되지만 6을 넘거나 같으면 1로 돌아가는 코드이다.

초기에 1?로 있는 쿠키값을 5<x<=6값으로 수정해주면 될 것 같다

 

쿠키를 수정하는 법을 몰라서 헤매다가 검색해보니 크롬 툴이 있다고 한다.

EditThisCookie라는 툴을 이용하여 쿠키를 수정해보았다.

사진처럼 user lv값이 1인것을 알 수 있다.

범위 내의 값을 입력하면 문제는 풀린다.

 

 

 

* echo부분에서 무엇을 출력하는지 궁금하다.

* eregi 함수에서 "[^0-9,.]"는 검색할 단어 부분이라는데 무엇을 검색하는지 궁금하다.

* $password="????"는 패스워드를 ????로 지정해준건가...?

 

 

-------------------------------------------------------------------

 

4)

 

긴 문자배열과 패스워드를 입력하는 칸이 뜬다.

 

이 문자배열을 해독하는 문제 같은데 끝부분의 ==는 예전에 base64?를 해독할때 썼던게 기억이 났다.

해독하니까 c4033bff94b567a190e33faa551f411caef444f2가 나왔다.

 

 

 

이 문자는 어떻게 해석해야될지 모르겠어서 찾아보니 40글자는 해쉬라고...?하던데 해쉬가 무엇인지부터 찾아보았더니 '임의의 길이를 가진 데이터를 고정된 길이의 데이터로 변환하는 알고리즘' 이라고 한다. 어쨌거나 sha1?로 디코딩하면 된다고 한다.

https://hashkiller.co.uk/sha1-decrypter.aspx 를 이용하여 sha1로 디코딩을 한 번 하니까 a94a8fe5ccb19ba61c4c0873d391e987982fbbd3라고 나왔는데 마찬가지로 40글자라서 한번 더 하면 나올까 싶었는데 한번 더 디코딩을 하니 패스워드가 나왔다.

 

* base 64로 해독한 뒤에는 거의 검색해서 풀었다.. 아직 그 다음에 해시나 sha1을 다루는 것에 대해서는 잘 모르겠다.

 

-------------------------------------------------------------------

 

6)

 

들어가면 뜨는 페이지. id와 pw를 준건가? 싶었다.

역시 1번문제와 같이 저 링크를 들어가면 php? 소스가 뜬다.

 

역시 <?, ?>안에 있는 것들(php 소스)로 문제를 푸는 것 같았다. cookie가 나오길래 이번에도 쿠키 문제 같길래 크롬 툴을 이용해서 쿠키를 보았다.

 

엄청나게 긴 문자열이 나온다.

 

위의 php를 확인해보면 맨 아랫줄에 decode_id와 pw가 admin이어야 문제가 풀리는 것 같아서 보니 윗줄에 포문으로 base64로 20번 디코딩?하는것이 있었다. 아래부터 반대로 생각하면서 admin값이어야 해결되니까 그걸 20번 인코딩해서 쿠키값에 넣었더니 문제가 풀렸다.

 

'ACTIVITY > WEBHACKING.KR (2017)' 카테고리의 다른 글

38/47/52  (0) 2017.11.18
24/26/42  (0) 2017.11.05
10/20/54  (0) 2017.10.16
14/16/12  (0) 2017.09.25
Register/15/17  (0) 2017.09.18