Webhacking.kr 7번 문제풀이

동스토리 ㅣ 2020. 7. 25. 21:25

반응형

7번 문제를 들어와 auth를 클릭해보면 접근이 거부된 것을 확인할 수 있습니다.

그렇다면, 소스의 내용을 확인해보면,

쿼리의 결과값이 2가 되면 문제가 해결되는 것을 확인할 수 있다. 

if(preg_match("/2|-|\+|from|_|=|\\s|\*|\//i",$go)) exit("Access Denied!"); 이 부분을 보면 if문의 preg_match함수의 정규표현식에 포함된 2, -, +, from, _, =, \s, *, \등 문자열이 포함되어있으면 Access Denied! 를 출력하고있다.

 

그럼 정규표현식에 포함된 문자열을 우회하여 쿼리의 결과값을 2로 만들면 해결할 수 있게된다. 

문제를 Union select구문을 사용하여 강제로 2를 주입해야한다.

 

rand 경우의 수가 5가지 있으므로 반복적으로 공격코드를 URL에 입력하여 공격하게되면 문제를 해결할 수 있게된다.

$go : 0)union(select(char(50))

공격코드 : select lv from chall7 where lv=(0)union(select(char(50))

 

 

감사합니다.

 

 

 

반응형

'Hacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 9번 문제풀이  (0) 2020.11.07
Webhacking.kr 8번 문제풀이  (0) 2020.11.03
Webhacking.kr 6번 문제풀이  (0) 2020.06.13
Webhacking.kr 5번 문제풀이  (0) 2020.06.10
Webhacking.kr 4번 문제풀이  (0) 2020.06.08