일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- writeup
- 워게임
- html
- 웹해킹
- php
- C언어
- 알고리즘
- 리액트
- 넘파이
- 컴퓨터 구조
- 해킹
- CodeEngn
- 인공지능
- webhacking.kr
- MySQL
- 백준
- 리버싱
- 회귀 수식
- 머신러닝
- 보안
- 리눅스
- 자바스크립트
- 리버싱 워게임
- 백준 알고리즘
- webhacking
- 어셈블리어
- 리버싱 문제
- sql injection
- abex crackme
- 웹
- Today
- Total
목록writeup (5)
인공지능 개발일지
2번을 실행하면 아래와 같이 뜬다. 그리고 아무거나 입력해봤다. 그러자 아래와 같이 Wrong Serial이라고 뜬다. 정해진 Seriala 값이 있나 보다 생각하고 ollybdg에 들어가서 열어준다. 그러면 아까 봤던 창을 띄우는 코드가 눈에 띈다. 그리고 아래 코드를 실행시켜 보면 1,2,3번 차례로 실행되는 게 아니라 1번에서 3번으로 2번을 건너 띈다. 자세히 보면 1번에서 TEST AX AX로 위에서 push한 것을 받는 걸 보니 CALL ~라인이 함수를 호출하는 건가 하고 추측할 수 있다. 그래서EDX와 EAX가(Name과 Serial) 스택으로 가고 파란색 박스에서 보이듯이 JE 명령어로 이 두 개를 비교해서 3번으로 점프하고 있다. 그러면 crackme 1번처럼 JE를 JMP로 바꿔줘도 풀..
아래는 1번의 초기화면이다. view-source로 코드를 봤다. 위 첫 번째 네모 친 부분을 보면 SetCookie로 "user_lv"란 이름의 쿠키를 생성하고 $_COOKIE ['user_lv']로 생성한 쿠키에 접근하는 것을 볼 수 있다. 다음으로 두 번째 박스를 보면 아래 수식과 같이 3보다 크면 풀리는데(solve) 4보다 크거나 같으면 1로 쿠키를 초기화한다. 따라서 3과 4사이의 실수로 쿠키를 변조하면 풀린다.
아래는 23번의 초기화면이다. 이 문제는 상당히 친절하다.alert(1)을 띄우기만 하면 된단다. 따라서 바로 url창에 alert(1)을 삽입해봤다. 안타깝게도 바로 풀리진 않는다. 아닌가보다. 다음으로는 입력 프롬프트에 있는 그대로 를 입력해 봤지만 역시나 풀리지 않는다. 그래서 고민하던 중 흥미로운 것을 발견했다. 바로 위 no hack이 떴을 때의 url창이다. 다시 보겠다. 바로 우리가 입력한 것이 그대로 code라는 변수에 들어간다는 점이다. 그래서 바로 alert(1);만 프롬프트에 입력해 보았다. 안 풀린다. 다시 url을 보니 냄새가 난다.();이 특수문자들을 필터링하는 냄새가 따라서 alert(1); 을 16진수로 변환한 값을 입력해 봤다. alert0x4810x490x5B 하지만 안타..
먼저 webhacking 사이트의 old 18번을 들어가 보면 아래와 같이 입력을 기다리 는 창이 뜬다. 아래의 view-source를 클릭해서 html코드 중에서 색깔 있는 부분만 보면된다. 먼저 세번째 if문을 보면 조건절에 PHP정규 표현식함수 preg_match함수를 사용했다. 이는 공백패턴이 입력되면 no hack을 띄우는 역할을 한다. 따라서 공백을 사용하면 안 된다. 한편 php에서 전달 받는 파라미터를 저장하는 방식에는 $_GET방식과 $_POST방식이 있는데 여기서는 url에 붙여서 전송하는 $_GET방식을 사용하였음으로 url에 무언갈 덧붙여야 한단 것을 알 수 있다. 그런데 주석에 no==2이면 admin이라고나와있다. 그러면 result변수=~하고 나와 있는 문장에서 id=’gues..