일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Masonic Cipher
- cookie
- aslr
- Python
- Web Hacking
- 시저 암호
- overthewire
- AVR
- 비즈네르 암호
- sha1
- 카이사르 암호
- base16
- Pigpen Cipher
- webhacking
- Navajo alphabet
- JavaScript
- php_extract
- Fortran 90
- BASE64
- burpsuit
- assembly
- Linux
- reversing
- sql injection
- vigenere cipher
- Qrcode
- base32
- Mail Header injection
- Javscript
- Caesar Cipher
- Today
- Total
목록분류 전체보기 (75)
My Drive
문제를 보면 아래와 같다. 우선 그림파일을 다운받아 Winhex 프로그램으로 열어본후 WinHex에서 제공하는 File Recovery 기능을 이용했다.(뭔가 파일이 주어졌을 때 해당 파일내부에 다른 파일이 숨겨져 있을 가능성이 있다.) 왼쪽에 recovery를 원하는 파일 타입을 선택해야 하는데 어떤 파일인지 모르니 그냥 다 선택한다.오른쪽에는 recovery된 결과가 저장될 폴더를 선택하고,Extension byte-level search를 선택한 후 OK 버튼 클릭 해당 파일에 가보면 아래와 같이 recovery 되었음을 알 수 있다. key로 보일만한 것이 3개 존재한다.모두 같은 내용을 담고 있으므로 우선 인증을 해보니 키가 맞았다.
• 배열 선언 : dimension◦ example :real, dimension(2,2) :: areal, dimension(3:4,-2:-1) :: qinteger, parameter :: m=27, n=123real, dimension(n,m) :: b,creal, dimension(m) :: x,y • 배열 관련 함수 : shape, size, lbound, ubound◦ example :shape(b) → 123, 27 (= n,m) ! 배열 b의 모양(가로, 세로 크기)size(b) → 3321 (= 123*27) ! 배열 b의 크기(가로x세로)size(b,1) → 123 ! 배열 b의 가로 크기size(b,2) → 27 ! 배열 b의 세로 크기lbound(q,2) → −2 ! 배열 q의 세로..
1. 간단한 입출력 ( terminal에서 )◦ example :real :: aprint*,'Enter a real number'read*,aprint*,'input was ',a 2. 일반적인 입출력read (*,*) / write (*,*) → write (unit=*, fmt=*)• Units 입출력 유닛, 어디서 데이터를 읽어오고 어디에 데이터를 쓸지( *은 read에서는 키보드, write에서는 스크린을 의미 )◦ example :open(1,file='output')write(1,*) 'Hello, world!'close(1)• Error handling (end=n, err=m)◦ example :open (77,file='numbers')i=0doread(77,*,end=200,err=1..
webhacking #39. 소스를 보면 아래와 같다.POST방식으로 id를 넘겨주되, id의 값에서\\는 인식하지 않게 바꾸고, '는 ''로 바꾼다. 그리고 앞에서 15글자만 자른다.아래와 같은 쿼리문에 들어 가게 되는데, 쿼리문을 보면 id=' ++++ 후 닫아주는 '가 없다."select 'good' from zmail_member where id='$_POST[id]"따라서 넘겨줄 때 '를 닫아서 넘겨주어야 한다.이 때 '를 ''로 바꾸므로 15글자만 자르는 것을 이용해 '를 15번째 글자에 넣어주면 뒤에 생기는 '는 잘리게 된다. 따라서 그 전에 값은 임의로 써 주고 15글자만 맞춰 '를 써주면 된다.
webhacking #26. 바로 소스를 볼 수 있도록 나온다. 소스를 보면 GET방식으로 id의 값을 admin이 되게 하되,바로 admin일 경우 no! 라고 뜨며urldecoding을 거쳐 admin이 되어야 한다. 바로 admin을 입력했을 경우. 간단하게 admin을 url 인코딩 시켜주면,%61%64%6d%69%6e이를 그대로 넘기면 admin으로 인식하므로,이를 다시 한번 더 url 인코딩 시켜주면,%2561%2564%256d%2569%256e이 되므로 이 값을 넘겨주면 아래와 같다.
webhacking #25. 리눅스에서 ls 명령어를 실행시켰을 때와 비스므리한 화면이 나온다.URL을 잘 보니 GET 방식으로 file에 hello를 넘겨주고 있다. 다른 파일도 넘겨줘보니 아래와 같이 달라지는 것이 없다. 같은 디렉토리 상에 파일이 있으리라 생각되어 직접 들어가 보니 hello.txt는 열리고 index.php는 위와 같은 화면이고 password.php는 화면이 보여지지 않는다. file로 인자를 넘겨줄 때 뒤에 .txt가 붙는다고 생각되어 이를 무시하기 위해 password.php뒤에 null 값을 붙여주어 아래와 같은 결과를 얻었다.null 은 %00
1. If (single-statement)◦ example :if(x.gt.0.) x=sqrt(x) 2. If (block)◦ example :if(x.gt.0.) thenx=sqrt(x)y=y-xendif 3. If-Then-Else ( end if == endif )◦ example :if(x.lt.0.) thenwrite(*,*) ’x is negative’elseif(x.gt.0.) thenwrite(*,*) ’x is positive’elsewrite(*,*) ’x must be zero’endifendif 4. If-Then-Elseif- ... - Else - Endif ( else if == elseif )◦ example :if(x.lt.0.) thenwrite(*,*) ’x is ne..
1. do-loop ( increment : 옵션, default = 1 )◦ example :do i=1,10,2 ! begin, end, incrementwrite(*,*) i,i**2enddo ! or, end do만약, begin이 end보다 크면, increment가 주어져야 함. 그렇지 않으면 실행 안됨◦ example :do i=10,1 ! not executedwrite(*,*) i,i**2enddo do i=10,1,-1 ! executedwrite(*,*) i,i**2enddo 2. while-loop◦ example :x=.2do while (x.lt..95)x=3.8*x*(1.-x)write(*,*) xenddo 3. 무한 루프◦ example :do ! "do forever". E..
1. 수◦ 연산자 :+ 더하기- 뺴기* 곱하기/ 나누기** 거듭제곱◦ 중요 함수 : sin, cos, tan, atan, exp, log (natural logarithm), log10 (logarithm to base 10), sqrt, . . .정밀도가 높은 피연산자에 의해 결과가 나타난다.◦ examples :1/2 → 01./2 → 0.50000001/2. → 0.50000001/2._dp → 0.5000000000000001+(1.,3) → (2.000000,3.000000) 2. 논리◦ 연산자 : .and. boolean "and" .or. boolean "or" .not. boolean "not".eq. or == "equal".ne. or /= "not equal".gt. or > "gre..
1. 기본 자료형integer real complex character logical 2. 유도 자료형◦ example :type person ! type [type 이름]character (len=20) :: nameinteger :: ageend type ! end typetype(person) :: myselfmyself%age=17 3. 속성dimension allocatable parameter intent kind lensave pointer public private optionalparameter : 컴파일 타임에 정의되기 때문에, 프로그램 실행 줄 바뀔 수 없음 (배열 크기 선언 시 유용)◦ example :integer, parameter :: np=3real, dimension(np)..