희디 2022. 5. 31. 04:45

해당 문제 사이트이다. 

 

문제에서 특정기호를 필터링한다고 해서 소스뷰를 확인해봤더니 추가된 부분이 있었다. 

바로 [;|&]가 있으면 필터링을 한다는 것이다. 

passthru는 (실행할 명령어 [인수가 있으면 result_code 유닉스 명령 반환상태 배치] 로, 실행결과, grep -i가 실행됨을 확인할 수 있다. 

; cat /etc/natas_webpass/natas10 을 입력해보니까 역시 해당 메시지가 떴다. 

 

이를 우회하기 위해 우회방법을 찾아봤지만 이미 grep이 실행되므로 .*으로 etc/natas_webpass/natas11에 있는 내용 모두를 출력하고 마지막에 주석처리를 해주면 원하는 내용을 얻을 수 있다. 

.* /etc/natas_webpass/natas11 #

U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK

 

이전 레벨과 다른 점이 있다면, 이전 레벨은 ; 으로 grep 명령어를 종료하면서 passthru를 무시하고 바로 cat으로 출력이 가능했지만 여기서는 ;이 사용불가능해서 바로 이어서 .*을 쓴 것이 차이점이라고 생각된다.