150
-
[Renewal] webhacking.kr old-32 [150]$ 웹 해킹 $/webhacking.kr 2020. 1. 11. 12:29
나의 닉네임을 1등으로 만들면 되는것인가 싶은 생각이 든다. 닉네임을 클릭해보면 vote가 가능하고 GET 방식으로 ?hit=닉네임 이라는 값이 전달이 된다. 나의 닉네임은 ws1004이므로 ?hit=ws1004로 값을 보내면 될것 같다. 하지만 1번 투표를 하면 아래와 같이 쿠키값이 생성이된다. 해당 쿠키를 삭제하고 다시 클릭을 해보면 투표가 가능해 진다. 그렇기 때문에 쿠키값을 PHPSESSID 만 넘기고 나의 닉네임을 투표를 100번 반복해 보았다. 위의 코드를 실행하고 해당 페이지를 새로고침하면 Clear! 102가 찍힌 이유는 코드를 실행하기전에 2번 먼저 투표를 해둬서 그렇다.
-
[Renewal] webhacking.kr old-31 [150]$ 웹 해킹 $/webhacking.kr 2020. 1. 11. 12:29
일단 코드를 보면 포트는 10000 부터 10100으로 랜덤으로 생성하고 ?server에 넣은 서버 아이피로 flag를 전송해 줍니다. 그렇기 때문에 10000~10100 포트를 열어줘야 합니다. nc 명령어를 이용해서 포트를 열어보겠습니다. 계속해서 새로고침을 해서 포트가 맞으면 아래와 같이 출력합니다. 위와 같이 에러가 사라지면서 nc를 열어둔 서버 쪽에 flag가 출력이 됩니다. Flag : FLAG{i_have_a_big_and_beautiful_server}
-
[Renewal] webhacking.kr old-25 [150]$ 웹 해킹 $/webhacking.kr 2020. 1. 11. 12:19
flag.php를 열어 봐야 할거 같습니다. FLAG is in the code 라고 되어있습니다. 코드 내부를 봐야할것 같습니다. php 파일의 코드 내부를 확인할때 PHP Wrapper 라는 것을 사용합니다. PHP는 PHP스스로의 입출력, 표준입출력, 오류파일 기술어등에 액세스 할 수 있는 다양한 I/O 스트림을 제공하는데 이를 PHP Wrapper라고 합니다. php://filter/convert.base64-encode/resource= 라는 형식으로 값을 입력 하는데 옆의 문자열은 resource=의 인자로 파일명을 적으면 base64 encoding 해서 사용자에게 보여줍니다. php://filter/convert.base64-encode/resource=flag.php 를 해보겠습니다. h..
-
[Renewal] webhacking.kr old-19 [150]$ 웹 해킹 $/webhacking.kr 2020. 1. 10. 22:25
admin이 입력되어 있다. 제출을 눌러보니 아래와 같이 출력을 합니다. admin으로 제출을 하는 문제인데 필터링에 걸리는것 같습니다. 소스코드를 확인해 보겠습니다. admin을 우회해야하는데 maxlength가 5여서 5글자 밖에 적지 못합니다. 하지만 제출시에 GET 파라미터로 전달을 하게 되기 때문에 URL로 입력을 하면 길이 제한이 없습니다. ad%00min을 넣어 보겠습니다. Clear!