웹해킹/Webhacking.kr 문제

워게임 18번 풀기

DEEPY 2020. 5. 14. 01:51

다음 18번문제를 풀어보자!!

 

sql injection 문제이다 한번풀어보자

 

일단 preg_match함수를 통해 여러 문자 및 기호 들을 우회하고 만약 get('no') 값에 포함된다면 즉시 코드를 종료시킨다.

그러므로 이 문자들을 피하고 sql injection을 실행하여야 한다.

그리고 result 쿼리를 보면 우리가 입력할 no의 값이 따옴표가 없는 것을 보고 정수형 데이터임을 알수 있다.

그러므로 코드를 입력하면 (null의 값) or no=2 를 입력하여 쿼리가 

where {id='guest' and no={null)} or no=2 의 형식으로 만들어줘 실질적으로 no=2 인 id=admin을 유추할수 있으므로

ㄷurl에서 파라미터로 2%0aor%0ano=2를 입력한다.(공백을 우회하기 위해 %0a를 대신 사용함)  

풀렸다