티스토리 뷰

처음 화면이다. 이름을 입력한 후 make 버튼을 클릭할 수 있게 되어 있다.






특별한 건 없는데 이름의 최대길이가 5자로 제한되어 있다.







admin을 입력해서 Make버튼을 클릭해봤다.







post방식으로 html = admin이 전달되어 진다.







전달하자마자 index/go.html이라는 페이지로 이동하게 된다.







hello admin이라고 나와있다. admin은 정답과 거리가 멀어 보인다.









injection 문제인 것 같아서 ;ls 를 입력하였더니 index/go.html가 아닌 index.php로 이동하고 아무것도 출력되지 않는다.

;와 ls에 필터링이 걸려있는 것 같다. &는 필터링 되어 있지 않기때문에 이를 이용하면 된다.


& : 백그라운드로 명령어를 실행시키는 chaining operators



그리고 ls에 대한 필터링을 우회하기 위해 Single Quotes(')를 이용해야한다.

Double Quotes(")를 이용하면 우회 할 수 없다.

'l's를 입력하고 Make 버튼을 클릭하면 ls로 인식이 안되는데

"l"s를 입력하고 Make 버튼을 클릭하면 ls로 인식이 되버린다.






무언가를 입력하고 Make버튼을 클릭했을때 실행되는 코드는 아래와 같다.

system("echo 'hello $_POST[html]' > index/go.html") ;




따라서, '&l's 와 같이 입력한 후 Make버튼을 클릭하면

system("echo 'hello '&l's' > index/go.html"); 이라는 코드가 실행된다.


즉, 백그라운드로 echo 'hello ' 가 실행되고 l's' 에 의해 index/go.html 에서 ls명령어가 호출된다.









'&l's 를 입력한 후 Make 버튼을 클릭하니 ls 명령어가 호출되서 현재 위치의 모든 파일, 디렉토리가 출력된다.

이들 중 challenge44_PaSs_w0Rd_.php가 정답일 것이다.










클리어





























'hacking > webhacking.kr' 카테고리의 다른 글

<webhacking.kr> - 30번  (0) 2018.03.01
<webhacking.kr> - 48번  (0) 2018.03.01
<webhacking.kr> - 37번  (0) 2018.02.28
<webhacking.kr> - 34번  (0) 2018.02.15
<webhacking.kr> - 28번  (0) 2018.02.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함