목록Webhacking.kr (47)
Bace
문제는 다음과 같다. 소스는 다음과 같다. fsockopen을 통해 7777 포트로 데이터를 뿌려주는데 time을 타이밍 맞게 똑같이 올려줘야 하는 것 같다. 공유기 포트포워드 설정을 한 후 Ubuntu 에서 nc -lvp 7777 로 데이터를 기다리게 하고 burpsuite를 통해 타이밍 맞게 올려주었다. 타이밍 맞게 올라가면 다음과 같이 FLAG가 들어온다. solve
문제는 다음과 같다. 소스는 다음과 같다. 공백과 / * % 를 replace 시키고, select 0x limit cash를 필터링 하고 있다. 일단 첫 페이지에 level이 1로 나와있어서 제출을 눌러보았다. id와 cash가 나온다. 뒤에 %26%26으로 id를 admin으로 보내보았다. 하지만 admin을 문자열로 바로 인식시킬 수 없어서 char를 사용하였다. ?lv=1%26%26id=char(97,100,109,105,110)# solve
문제는 다음과 같다. 소스를 보면 id는 addslashes, pw는 md5로 넘겨지고 있다. id에는 admin 을 넣어주고, pw에는 md5 중에 =이 들어간 것으로 해서 거짓=거짓으로 넘겨주면 될 것 같다. 코드를 통해 = 이 들어간 md5 값을 찾았다. solve
문제를 들어가면 다음과 같이 alert 창이 뜬다. 확인을 누르면 다음과 같이 까만 창이 뜬다. 소스를 봐보았다. 소스가 더러워서 javascript beautifuler를 이용해 깔끔하게 봐보았다. 그 중 문제를 처음 들어갈 시 alert를 통해 debug me 가 떴으므로, alert 를 검색해보았더니, 1개가 나온다. 콘솔 기능을 통해 확인해보았다. 다음과 같이 alert를 입력해보았더니 문제에 처음 들어갈 때 나왔던 debug me 창이 뜬다. else 전의 코드인 location[b('0x1c', '4c%d')] = b('0x1d', 'llaF');를 입력해보았다. 입력하면 다음과 같이 ./?Passw0RRdd=1 이라는 문자열이 뜨고 해당 경로로 자동 이동되며 solve 된다.