2021. 1. 10. 15:45ㆍ문제연습/webhacking.kr
본 티스토리 블로그는 PC 환경에 최적화되어 있습니다.
모바일 유저분들은 아래 네이버 블로그를 이용해 주세요.
오늘 해설할 문제인 3번은 접근 방식이 약간 난센스이며
어느 정도 추측이 필요한 문제이기에 풀이 시 참고 바랍니다.
그럼 문제 old-3을 풀어 보도록 하겠습니다.
문제 화면
위 빈칸 맞추기 문제???를 풀면 다음과 같은 사이트가 뜨게 됩니다.
name, answer, 접속 ip 값을 화면에다가 출력해 주는 걸 확인할 수 있는데,
answer 값이 우리가 아까 풀었던 빈칸 문제 정답임을 알 수 있습니다.
(흰 칸 : 0, 검은 칸: 1)
burp suite로 확인한 결과 위와 같이 통신한다는 것을 알 수 있습니다.
여기서 제가 추측한 부분은 변수들이 모두 get으로 넘겨받으며 answer 값을 이용하면
인젝션 취약점을 터뜨릴 수 있다는 점입니다.
다음과 같이 조작을 시도한 결과 쿼리 에러가 발생하였습니다.
answer 값을 조작하면 우리가 원하는 결과를 서버에서 가져올 수 있습니다.
방금 제가 시도한 인젝션은 쿼리 결과를 참으로 반환하도록 하는 쿼리였습니다.
다른 인젝션 패턴으로 계속해서 시도해 보도록 하겠습니다.
answer=1010100000011100101011111‘+or+1=1#
주석을 다른 형태로 다시 전달해보는 이유는 DBMS마다 주석 문법이 약간씩 다른데
--이나 #을 대부분 사용하므로 이 부분에 대한 문법 오류일 가능성도 배제할 수 없기에
수정해서 다시 보내 보았습니다.
결과는 성공적입니다!!!
이번 문제는 약간 추측이 필요한 난센스 문제였습니다.
다음 시간에도 이어서 문제를 풀어 보도록 하겠습니다.
이상, ICMP였습니다!!!