Wargame/Web 22

[Webhacking.kr] g00gle1

문제에 들어가면 아래와 같은 구글폼에 접속된다. 선택지 중 하나를 눌러 제출하려고 하면 0개의 옵션을 선택해야 한다는 문구가 나온다. 아무것도 선택하지 않고 제출버튼을 눌러보니, 필수질문이라는 문구와 함께 폼 제출이 되지 않았다. 어떻게 진행해야 할지 몰라서 F12 개발자도구를 열어보았는데, 스크립트를 확인해보니 플래그가 대놓고 써져있었다. 해당 플래그를 auth에 들어가 입력해주었더니 문제가 해결되었다.

Wargame/Web 2024.11.08

[Webhacking.kr] 웹 해킹 old-26번 문제 풀이

26번 문제 페이지에 들어가면 아래와 같은 화면이 나온다. view-source를 눌러 소스코드를 확인해 보았다.   1. id값이 admin이면 문제가 풀림2. preg_match 함수로 admin이 필터링 됨3. id값을 url decode함    풀이- id(admin) 값을 encode해서 입력해보자 아래 표를 참고하면 admin 값을 url 인코딩 했을 때의 값은%61%64%6D%69%6E   url 뒤에 id=%61%64%6D%69%6E 를 넣었는데 자동으로 디코딩 되어 들어감  따라서 %61%64%6D%69%6E의 값을 한 번 더 인코딩 해서 넣어주면 문제가 풀릴 것이다. https://www.convertstring.com/ko/EncodeDecode/UrlEncode#google_vign..

Wargame/Web 2024.09.14

[Wargame.kr] strcmp

strcmp 함수를 우회해야 하는 문제인 것 같다.   문제 서버에 접속하니 패스워드를 입력하는 창이 하나 있었다.먼저 소스코드를 확인해보았다.  Source" . $FLAG .""; exit(); } else { echo "Wrong password.."; } }- password는 완전 랜덤값- password와 입력값 비교 → 반환값이 0이면(값이 같으면) 플래그 도출- 브루트포스 불가 - strcmp(A, B) : A, B값이 같으면 0 반환 [취약점] - 특정 PHP 버전에서는 '문자열'과 '배열'을 비교하면 같지 않아도 NULL을 반환 - 'NULL == 0' → '=='는 느슨한 비교이기 때문에 True** NULL과 0 ..

Wargame/Web 2024.05.11

[Webhacking.kr] RPG 1

문제를 눌러보니 게임 시작화면이 나왔다.new game을 클릭하면 아래와 같은 화면을 볼 수 있었다.캐릭터는 방향키로 조작이 가능하고, 사진에 보이는 강 위쪽으로는 막혀서 접근할 수 없었다. 게임 캐릭터의 위치를 위로 올리거나, 보물상자의 위치를 아래쪽으로 조정하면 될 것 같았다. 개발자 도구를 열어보니  자바스크립트로 동작하고 있다는 것을 확인할 수 있었다.브라우저 창에 존재하는 모든 요소의 최상위 객체인 window.을 콘솔 창에 입력하면 동작하는 객체들의 목록이 모두 나온다. gamePlayer를 눌러보니 게임 캐릭터의 좌표값이 출력되었다. 해당 좌표 중 y값을 조정해주니 캐릭터가 보물상자가 있는 강 위쪽으로 이동했다. 보물상자 앞에서 엔터 키를 누르니 플래그 값이 나왔다.이를 AUTH에 입력해주면..

Wargame/Web 2024.03.23

[Webhacking.kr] 웹 해킹 old-58번 문제 풀이

58번 문제 페이지에 들어가면 무언가를 입력할 수 있는 창이 보인다.임의의 문자를 넣어 Send했는데 command를 찾을 수 없다고 출력되었다.명령어를 입력해야 할 것 같아 일단 help 명령어로 내가 쓸 수 있는 커맨드를 확인해 보았다.ls, id, flag를 각각 입력해보았더니 아래와 같은 결과가 나왔다.소스코드를 확인해보았다. $(function () { var username = "guest"; var socket = io(); $('form').submit(function(e){ e.preventDefault(); socket.emit('cmd',username+":"+$('#m').val()); $('#m').val('')..

Wargame/Web 2023.11.14

[Webhacking.kr] 웹 해킹 old-32번 문제 풀이

32번 문제 페이지에 들어가면 아래와 같은 순위 표를 볼 수 있다. 랭크 1위 닉네임을 눌러보니 옆에 29였던 숫자가 30으로 바뀌었다. 뭔가 투표를 하는 시스템인 듯하다. 닉네임을 한 번 더 클릭해 보니 이미 투표를 했다는 팝업이 떴다. 소스코드는 딱히 볼 게 없었고, 쿠키를 확인해 보니 vote_check이라는 값이 있었다. 이 값이 ok가 되면 투표를 더 못하는 것 같다. ok값을 지우고(새로고침 X) 닉네임을 다시 클릭해 보니 숫자가 증가했다. 값을 지우고 한 번 클릭을 반복하면서 100까지 도달하기는... 너무 오래 걸릴 것 같아 해당 쿠키를 차단하는 방법을 택하기로 했다. 그런데 F12로는 쿠키를 차단할 방법이 없는 것 같아 EditThisCookie라는 크롬 확장 프로그램을 추가해 사용했다...

Wargame/Web 2023.11.14

[Webhacking.kr] 웹 해킹 old-12번 문제 풀이

12번 페이지에 들어가면 javascript challenge라는 문구가 보인다. 자바스크립트 관련 문제인 것 같아 우선 소스코드를 확인해 보았다. 이모티콘으로 이루어진 의미를 알 수 없는 코드가 길게 쭉 써져있다. 위 코드를 콘솔창에 넣어보긴 했는데, 그다음 어떻게 해야 할지 감이 잡히지 않았다. 구글링을 해보니 코드를 알 수 없게 이모티콘으로 난독화한 'aaencode'를 사용한 것임을 알게 되었다. aadecode 복호화 사이트 https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html aadecode - Decode encoded-as-aaencode JavaScript program. ['_'] aadecode - ..

Wargame/Web 2023.11.14