목표의 계정의 접근해서 혼란스럽게 만드시오...



해당 링크에 접속하면 다음과 같은 페이지가 나오게됩니다.


문제에 "World of Peacecraft"에 중독되 있다고하니 해당 게시글로 이동해봅니다.



링크를 누르고 계정 비밀번호를 입력하라고 합니다.



test를 입력해 봤는데 실패라고 나오는 걸 보니 이 페이지가 인증 페이지로 보여집니다.



다른 페이지에 들어가서 비밀번호를 알아낼 수 있는 힌트가 있는지 확인해봅니다.


첫 페이지에 두번째 글에는 별다른 내용이 없었으면


이어지는 "Outbox", "Sent Messages"도 비어져 있어 의미가 없었습니다.





"Trash"에 가보니 "Password Request"라는 글이 하나 있습니다.


누군가 Password를 새로 요청한 것으로 보입니다.



내용을 확인하니 다음과 같이 password를 알려주면서 즉시 email을 삭제하라고 했습니다.


삭제를 했지만 휴지통에 남아있어 정보를 흘리고 다녔네요..


해당 값으로 인증 페이지로 가서 인증하면 성공하게 됩니다.



'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Main level10  (0) 2018.08.31
[HackThis] Main level9  (0) 2018.08.31
[HackThis] Real level2  (0) 2018.08.31
[HackThis] Intermediate level3  (0) 2018.08.29
[HackThis] Intermediate level2  (0) 2018.08.29

가난한 학생이 학교 도서관의 도서 연체료를 내라는 편지를 자주 받았는데


도와달라는 내용입니다.



Library Gateway를 들어가보시면 Login이라는 링크가 생겨 또 들어갑니다..



해당 페이지에서 올바른 Username, Password를 입력하면 해결 될꺼같습니다.



일단 아무 정보도 없어서 test / test를 입력해봤더니 "Incorrect username/passwod"라는 문구가 하나 나오게 됩니다.



소스를 확인해 보니 아래와같은 javascript가 작성되어 있었습니다.


내용을 보니 username, password를 입력하고 Login버튼을 누르면 그 값으로 URL 상수를 만들고

XML 객체를 생성하고, 접속에 성공(200)하면 처음 페이지로 user,pass 값을 보내 성공하게 됩니다.


그렇다면 어떤 정보를 가지고 해당 계정을 알아 내야할 까요..?


유심히 보다보면 URL 상수를 만들때 "member/" 에 무언가 있는거 같습니다.


해당 페이지로 이동해보면...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script type="text/javascript">
var req, image, status, imagepath;
 
function loadimage()
{
    var username= document.getElementById('username').value;
    var password= document.getElementById('password').value;
    URL= "members/" + username + " " + password + ".htm";
    path = URL;
    document.getElementById("status").innerHTML = 'Checking details...';
 
    req = getreq();
    req.onreadystatechange = exists;
    req.open("get", path, true);
    req.send(null);     
}
 
function exists() {
    if(req.readyState == 4) {
        if(req.status == 200) {
            document.getElementById("status").innerHTML = 'Correct!';
            document.location = "/levels/real/2?user=" + document.getElementById('username').value 
+ "&pass=" + document.getElementById('password').value;
        } else {
            document.getElementById("status").innerHTML = 'Incorrect username/password';
        }
    }
}
 
function getreq() {
    if(window.XMLHttpRequest)
        return new XMLHttpRequest();
    else if(window.ActiveXObject)
        return new ActiveXObject("Microsoft.XMLHTTP");
}
 
</script>
cs


아래와 같이 6가지가 있습니다.


URL에보면 Spacebar로 username과 password를 구분했던 것을 확인할 수 있습니다.


이중에 뭔가 해당하는 값임을 짐작하고 'librarian'이 제일 의심되어 해당 값으로 인증해 보았습니다.



다음과 같이 성공하게 됩니다.!!




저기있는 모든 값이 성공하는지 궁금해서 다 해봤는데


sam sam을 제외한 모든 값은 아래와 같이 "Correct!"는 되지만 인증에 성공하지는 않았으며


sam sam은 "InCorrect!" 메시지와 함께 실패하게 됩니다.




"librarian" 의 뜻은 "사서"이며 사서로 로그인하여 연체 내용을 지우라는거였는지... 어떤 조작을 위한 발판이였을까요?

'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Main level9  (0) 2018.08.31
[HackThis] Real level1  (0) 2018.08.31
[HackThis] Intermediate level3  (0) 2018.08.29
[HackThis] Intermediate level2  (0) 2018.08.29
[HackThis] Intermediate level1  (0) 2018.08.29

위험하다는 경고와함께 제한된 구역이라는 이미지가 있습니다.


눌러보면 https://www.hackthis.co.uk/levels/intermediate/3?enter 라는 곳으로 이동하고 실패했다고 합니다.



해당 구문으로 가보면 다음과같이 <a> 태그로 '?enter'로 접속하게 됩니다.


여기서는 해결할만한 것이 보이지 않습니다.


1
2
3
4
<a href="?enter" style="text-decoration: none">
    <img border="0" src="/levels/extras/i3.jpg"><br>
    ENTER SITE
</a>
cs


개발자 도구에서 쿠키값을 확인해 봤습니다.


전에 없던 restricted_login이라는 쿠키가 false로 되어있습니다.


제한된 로그인인 뜻으로 true로 바꿔주면 로그인이 되고 해결됩니다.



'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Real level1  (0) 2018.08.31
[HackThis] Real level2  (0) 2018.08.31
[HackThis] Intermediate level2  (0) 2018.08.29
[HackThis] Intermediate level1  (0) 2018.08.29
[HackThis] Main level8  (0) 2018.08.29

+ Recent posts