도서관에서 연체돼서 돈이 없다..

블랙 해킹인가?

로그인 화면

소스코드 확인

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.forms[0].submit()
		} 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");
}

members/라는 곳이 보인다. 여기에 username%20password.htm 이라는 파일을 만들고, 해당 파일이 존재하면 200 응답을 받는 듯하다.

디렉토리 노출 취약점이 존재한다. 사서 아이디가 딱 보인다.

id : librarian , pw : sweetlittlebooks // 해결