일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Mail Header injection
- sql injection
- JavaScript
- assembly
- burpsuit
- aslr
- Pigpen Cipher
- reversing
- webhacking
- Masonic Cipher
- BASE64
- 시저 암호
- Caesar Cipher
- cookie
- base16
- Fortran 90
- Navajo alphabet
- php_extract
- Qrcode
- base32
- Linux
- Javscript
- 카이사르 암호
- vigenere cipher
- sha1
- overthewire
- Python
- AVR
- Web Hacking
- 비즈네르 암호
- Today
- Total
My Drive
webhacking #1 본문
webhacking #1.
index.phps
- <?
- if(!$_COOKIE[user_lv]) // "user_lv"라는 이름의 쿠키가 없으면
- {
- SetCookie("user_lv","1"); // "user_lv"라는 이름의 "1"값을 가진 쿠키 생성
- echo("<meta http-equiv=refresh content=0>"); // 새로고침(?)
- }
- ?>
- <html>
- <head>
- <title>Challenge 1</title>
- </head>
- <body bgcolor=black>
- <center>
- <br><br><br><br><br>
- <font color=white>
- ---------------------<br>
- <?
- $password="????";
- if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1; // user_lv의 값이 0 ~ 9 이면 user_lv의 값 = 1
- if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1; // user_lv의 값이 6이상 이면 user_lv의 값 = 1
- if($_COOKIE[user_lv]>5) @solve(); // user_lv의 값이 5보다 크면 해결!
- echo("<br>level : $_COOKIE[user_lv]");
- ?>
- <br>
- <pre>
- <a onclick=location.href='index.phps'>----- index.phps -----</a>
- </body>
- </html>
=> user_lv의 쿠키값을 5 ~ 6 으로 바꿔주면 해결!!
burp suite 툴을 이용해서 바꿀 수 있다.
user_lv의 값을 5보다 크고 6보다 작은 값으로 바꿔주면...
※cookie
- 인터넷 웹사이트의 방문기록을 남겨 사용자와 웹사이트 사이를 매개해 주는 정보.
※setcookie
setcookie : 쿠키생성
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
$naem : 쿠키의 이름
$value : 쿠키의 값 - 이 값은 클라이언트 컴퓨터에 저장됨
$expire : 유지시간
- 표준 유닉스 시간, time()이나 mktime() 함수 사용
ex) time()+60*60*24*30 : (60seconds, 60minutes, 24hours, 30days) 30일 후 만료, 0 : 브라우저를 닫으면 사라짐
$path : 경로 - 특정 디렉토리에서 사용할 경우 설정 ("/" : 전체도메인, "/foo/" : 일부디렉토리)
$domain : 쿠키를 사용할 도메인 (" www.abc.com " : www에서만 사용가능, " .abc.com " : 모든 서브 도메인에서 사용가능)
$secure : https에서만 사용할 경우 true , http와 https를 동시에 사용할 경우 false (보안수준을 요하는 쿠키에서만 사용)
$httponly : http에서만 사용할 경우 true , javascript 등에서도 사용할 경우 false (보안수준을 요하는 쿠키에서만 사용)
* name을 제외한 모든 인수들은 선택적
* 공백, <html>, <head> 태그보다 앞서 출력되어야 함
* echo문 다음에 setcookie() 올 경우 에러 남
※meta tag(메타 태그)
(x)html 태그 중 하나, '메타', 즉 문서 그자체를 설명하는 태그
'empty tag' 중 하나, 즉 닫는 태그 없음. <meat ... />
<meta 속성 = "값" content = "내용물" />
* http-equiv 속성
메타 요소에서 정의된 명령을 먼저 실행한 후에 페이지를 로딩
속성 값
1) content-language : 전처리될 기본 언어 지정
ex) <meta http-equiv="content-language" content="ko" /
2) contetn-type : 문자 인코딩 선언
ex) <meta http-equiv="Content-Type" content="text/html; charset=euc-kr"
3) default-style : 대체 스타일시트 집합의 이름 설정
ex) <meta http-equiv="content-style-type" content="text/css"
4) refresh : 페이지를 지정한 시간이후 새로고침
ex) <meta http-equiv="refresh" content="10, www.naver.com"
5) 그 외
ex) <meta http-equiv="expires" content="wed, 02 may 2011 00:00:01 GMT"
<meta http-equiv="Content-Script-Type" content="text/javascript"
※eregi()
eregi('찾을 문자열', '원본문자열'); //대소문자 구분 안함
* ereg('찾을 문자열', '원본문자열'); //대소문자 구분
'writeup' 카테고리의 다른 글
webhacking #17 (0) | 2014.09.29 |
---|---|
webhacking #15 (0) | 2014.09.29 |
webhacking #14 (0) | 2014.09.29 |
webhacking #6 (0) | 2014.09.29 |
webhacking #4 (0) | 2014.09.29 |