write-up(web)/webhacking.kr

[Webhacking.kr] old-34

문제풀이문제 페이지에 접속하면 아래와 같이 alert 창이 뜬다. script 코드를 확인해보면 아래와 같이 긴 코드가 존재한다. beautifier.io 페이지에서 코드를 정리한 후 보면 alert 코드를 확인할 수 있다.if (location[b('0x19', 'iUmC')][b('0x1a', '6]r1')](0x1) == b('0x1b', 'RLUb')) location[b('0x1c', '4c%d')] = b('0x1d', 'llaF');else alert(b('0x1e', '14cN'));  alert(b('0x1e', '14cN'))은 debug me이고, 아래 코드를 console에 입력하면 /?Passw0RRdd=1 페이지로 이동하면서 문제가 해결된다.location[b('0x1c', '4..

[Webhacking.kr] old-26

문제풀이  php에서 admin으로 보내는 것과 %61%64%6D%69%6E으로 보내는 것은 같다. admin = %61%64%6D%69%6E 브라우저는 url encoding을 수행하기 때문에 admin은 %61%64%6D%69%6E로 변환된다. 두번째는 인코딩된 형태로, 동일하게 처리한다.서버는 url을 디코딩하여 $_GET 변수에 저장한다.   'admin', %61%64%6d%69%6E는 preg_match 함수에 의해 필터링된다.%61%64%6d%69%6E를 urlencode 수행하여 urldecode 시, admin 문자열이 되게 할 수 있다.  - GET /challenge/web-11/?id=%2561%2564%256D%2569%256E

[Webhacking.kr] old-30 (X)

문제 문제풀이 데이터베이스 반환 결과가 존재할 때, flag 출력한다. 페이지에 접근하면 flag 출력되지 않는데, 데이터베이스 연결이 되지 않았거나 데이터가 존재하지 않아서이다. mysqli.connect() 함수에 아무것도 설정되지 않았다. 설정하지 않으면 php.ini에 설정된 디폴트 값을 전달한다. public mysqli::__construct( ?string $hostname = null, ?string $username = null, ?string $password = null, ?string $database = null, ?int $port = null, ?string $socket = null ) .htaccess 파일을 이용해 php.ini 파일 설정 값을 변경할 수 있다. php_v..