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


도와달라는 내용입니다.



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

+ Recent posts