문제 페이지에 접속을 해보면 아래와 같이 ?server=123.248.181.123 으로 자신의 IP에 10000~10100 포트 중에 하나의 포트로 socket 통신을 시도한다는 것을 알 수 있다. nc(netcat)을 이용해서 10000부터 10100 포트를 열어두고 다시 요청하면 패스워드 값을 받을 수 있다. open.sh#!/bin/bash# do9dark for x in $(seq 10000 10100)do nc -lvp $x &donecs 패스워드 값을 받고 난 다음에 앞에서 열어둔 포트를 닫아준다. kill.sh#!/bin/bash# do9dark i=29309for ((x=0;x
Wargame/Webhacking.kr
2015. 8. 9. 22:03
문제 페이지를 보면 hint로 소스 파일이 있고 파일을 업로드할 수 있다. 소스 파일을 보면 mysql 접속 부분이 생략되어 있고 mysql_fetch_array(mysql_query("select password from challenge_30_answer) 를 통해 데이터를 가져오면 패스워드가 출력이 된다. 하지만, 누군가가 설정을 해둬서 upload 디렉터리로 이동해보니 패스워드가 출력이 되어서 쉽게 풀 수 있었다. + 추가 직접 설정을 해서 문제를 풀어보기 위해서 .htaccess 파일의 내용을 비운 상태로 업로드해보니 패스워드가 출력되지 않았다.패스워드가 출력될 수 있는 조건을 만들어주기 위해서 자신의 데이터베이스 서버에 정보를 삽입해준다.데이터베이스명: challenge_30_table테이블명..
Wargame/Webhacking.kr
2015. 8. 9. 21:20