본문 바로가기

WarGame/webhacking.kr

[webhacking.kr] Challenge 27 :: SQL Injection (like)


 Challenge 27은 다음과 같습니다.




 소스코드의 힌트를 따라 index.phps로 이동하겠습니다.



문자열을 검사해서 해당 문자열이 포함되어 있을 경우 "no hack"을 띄우고,


select~ 문을 통해서 id를 출력하는 구문 입니다.


출력문이 없거나 error가 나면 "query error"가 뜨는 것 같습니다.



대충보면 잘 못 보고 지나갈 수도 있지만, no=(****) 이런식으로 괄호가 되어 있습니다.


저도 처음에는 괄호를 못 보고 한참 헤맸습니다.



1이라고 입력하고 쿼리를 전송해보니 guest가 나오는 것을 보니,


guest의 no는 1이라는 것을 알 수 있습니다.


다른 숫자를 입력하면 모두 query error 가 뜹니다.



( SQL Injection기본 설명은 Challenge 18 참고 )


바로 본론으로 들어가서 필터링을 피해서 


"or" 과 


"=" 대신 "like"  


"#" 대신 "--" (주석)


▼ 사용하여 문제를 풀겠습니다.




cf.  #은 그냥 사용해도 되지만, --은 뒤에 공백을 하나 줘야 합니다.