'학습자료/보안'에 해당되는 글 2건

  1. 2012.12.07 :: 쿠키 변경(익스플로러 사용)
  2. 2012.12.06 :: Base 64 [펌]
학습자료/보안 2012. 12. 7. 09:49

방법1.

익스 플로러 주소창에 다음과 같이 쓰면 된다.

javascript:set=prompt("변경할 쿠키값을 입력하세요.","변경할 값 디폴트"); document.cookie="user_lv="+set+"; "; alert(document.cookie); allCookies=document.cookie.split(';'); alert("변경된 쿠키값\n\n:"+ allCookies[allCookies.length-1]);

set=prompt("변경할 쿠키값을 입력하세요.","변경할 값 디폴트"); 

--> 변경할 값을 텍스트 박스로 입력 받음

 

document.cookie="user_lv="+set+"; ";

--> 쿠키값에 "user_lv="+set+"; " 대입    (set은 위에서 입력한 값)

 

alert(document.cookie);

--> 알림창에 쿠키값을 보인다.

 

alert("변경된 쿠키값\n\n:"+ allCookies[allCookies.length-1]);

--> 정확히 따지면 변경된 쿠키값은 아니다.

 

-------------------------------------------------------------------

방법2.

익스 플로러일시, F12키(개발자 도구)를 누른다.

좌상단에 스크립트를 클릭

우상단 콘솔이 존재한다. -> 우하단에 document.cookie 를 입력한다.

 

위의 방법은 javascript를 해석할수 있는 브라우저라면 모두 된다. 왠만하면 다 될것이지만 익스플로어 라면 개발자 도구를 쓰는게 훨씬 더 편할 수 있다.

-------------------------------------------------------------------

 

예전엔 쿠키에 아이디 비번이 적혀있어서 악용 될때가 있었다고도 한다.

현재는 장바구니에 많이 쓰임. 쿠키를 지우면 장바구니가 사라져 있을 것이다.

 

 

 

 

http://www.tutorialspoint.com/

에서 자바스크립트 간단히 배울 수 있음.

'학습자료 > 보안' 카테고리의 다른 글

Base 64 [펌]  (0) 2012.12.06
posted by cozyboy
:
학습자료/보안 2012. 12. 6. 10:16

 

요약 정리

2의 6승(64), 6bit 씩이라는 의미 인듯하다.

3개의 문자(8bit x 3 = 24bit)를 6bit로 잘라 4개의 문자로 만든다.  뒷부분의 0은 '='로 치환된다.

그래서 가끔 해킹 배우는 사이트에서 뜬금없는 문자 끝에 '='이 붙어있고 이것을 디코드 하라고 하면 base64를 의심 해보자.

 

===========================================================================

 

Base64

: 바이너리나 압축파일과 같은 8비트 이진 데이터를 문자코드에 영향을 받지않는 공통 ASCII문자들로만 이루어진 문자열로 바꾸는 인코딩 방식을 말한다.

64가지의 문자를 이용하여 바이너리 데이터를 ASCII텍스트 데이터로 표현하게 된다.


즉, 64진법으로 인코딩하는 방식인데, 이는 64진법이 ASCII문자를 나타내기에 가장 적합한 숫자이기 때문이다.


기본적으로는 A~Z (26개) + a~z (26개) + 0~9 (10개) = 총 62개의 문자로 구성되며, 나머지 2개에 어떤 기호를 사용하는지에 따라 base64의 종류가 결정된다. 대부분의 경우 +와 /가 쓰인다.


8bit의 바이너리 데이터를 6bit의 크기를 단위로 표현하게 된다!

즉, input은 1개의 문자크기인 8bit를 단위로 3개의 문자를 기본으로 하며 이것을 6bit단위로 표현하게 되므로 그에따른 output은 4개의 문자를 얻게된다는 것이다.

따라서 24bit를 단위로 3개의 문자를 인코딩하면 4개의 문자를 얻게된다!


그렇다면 만약 8bit의 데이터(문자 하나)를 input으로 base64암호화를 시킨다면 output은 어떻게될까?

64진수수가 하나(6bit)가 출력되고 나머지 2bit는 padding문자로 채워지게된다.

padding문자는 base64 table에 존재하지 않는 기호인 '='이다.


위에서 언급했다시피, '='는 bit수를 맞춰주기위해 0으로 채워주는 padding이다.

문자의 갯수가 3n+1개 일 때에는 '='이 2개로 채워질 것이고, 3n+2개 일 때에는 '='이 1개로 채워질것을 알 수 있다.


간단하게 인코딩 방식을 그림으로 설명해보겠다.


위에서 계속적으로 언급한대로 8비트의 문자세개를 6비트단위로 쪼갠 문자네개로 변환하는 것이다!

기본 포맷이 24비트이므로 a를 input하면 첫글자 부분에 8bit인 01100001가 들어가고

나머지 두글자 부분에는 0으로 채워지게 되며 이것을 6비트씩 잘라서 아스키부호로 표시하게 된다.

뒷부분의 0들은 인코딩시 padding부호 '='로 나타나게된다.



실제로 문자 a를 base64로 인코딩 해보았다.






툴은 SND Reverser Tool을 사용하였다.

위와 같이 1개(3n)의 문자열을 인코딩하면 padding문자가 2개 들어가는 것을 알 수 있다.


다음은 ab를 인코딩해보았다.





위와 같이 2개(3n+2)의 문자열을 인코딩하면 padding문자가 1개 들어가는 것을 알 수 있다.


다음은 abc를 인코딩해보았다.




3개(3n)이므로 padding문자 없이 모두 ASCII문자로 변환되는것을 알 수 있다.


[Base64 문자표]

문자

문자

문자

문자

0

A

16

Q

32

g

48

w

1

B

17

R

33

h

49

x

2

C

18

S

34

i

50

y

3

D

19

T

35

j

51

z

4

E

20

U

36

k

52

0

5

F

21

V

37

l

53

1

6

G

22

W

38

m

54

2

7

H

23

X

39

n

55

3

8

I

24

Y

40

o

56

4

9

J

25

Z

41

p

57

5

10

K

26

a

42

q

58

6

11

L

27

b

43

r

59

7

12

M

28

c

44

s

60

8

13

N

29

d

45

t

61

9

14

O

30

e

46

u

62

+

15

P

31

f

47

v

63

/




참고 사이트 : http://bbolmin.tistory.com/46

http://blog.nextcube.pe.kr/204

 

펌 : http://syung1104.blog.me/161866114

 

'학습자료 > 보안' 카테고리의 다른 글

쿠키 변경(익스플로러 사용)  (0) 2012.12.07
posted by cozyboy
: