일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- C
- setCookie
- C언어
- 피들러
- Web
- 명품자바프로그래밍
- 쏙쏙캠프
- FTZ
- html5
- 써니나타스
- 석문초등학교
- 실습문제
- 리버싱
- hackerschool
- 파이썬
- pythonchallenge
- 리눅스
- 대외활동
- 암호수학
- java
- 웹해킹
- 해커스쿨
- 경기대학교
- Linux
- 자바
- ARP Redirect
- 웹
- webhacking.kr
- SuNiNaTas
- 파이썬챌린지
- Today
- Total
목록분류 전체보기 (93)
Hongfluenza
와이어샤크란? : 오픈 소스 패킷 분석 프로그램 : "pcap"을 이용하여 패킷을 잡아내는 것이 주요한 기능이다. - pcap이란 Packet capture의 약자로, 네트워크 트래픽을 캡쳐하기 위한 API로 구성 - 윈도우 시스템에서는 Winpcap, 리눅스 시스템에서는 libpcap - 네트워크 트래픽을 분석하기에 아주 용이한 라이브러리 모음 : promiscuous mode(무차별 모드)를 지원 - 프로미스큐어스란, 주소값을 무시하고 모든 패킷을 받아들이는 상태를 말함 - wireshark 설치 시에 필수 프로그램인 winpcap이 프러미스큐어스 모드를 작동시키는 역할을 함 - 패킷을 캡쳐하기 전에 확인해야 할 것은 현재의 랜카드가 패킷 캡처를 지원하는지에 대한 여부. 패킷 캡쳐가 지원되지 않으면,..
ord() 함수 : 특정한 한 문자를 아스키 코드 값으로 변환해 주는 함수chr() 함수 : 아스키 코드 값을 문자로 변환해 주는 함수 (10진수, 16진수 사용 가능) 소스코드 >> 12345678print(ord('A'))print(ord('a'))print(hex(ord('b'))) print(chr(65))print(chr(96))print(chr(0x32)) cs 실행결과 >> 12345665970x62A`2cs
2번 URL 주소 : http://www.pythonchallenge.com/pc/def/ocr.html 2번 문제의 URL을 입력하면 다음과 같은 화면이 나온다. recognize the characters. maybe they are in the book, but MAYBE they are in the page source. 'page source' 라는 힌트를 얻어 2번 URL의 페이지 소스 속에 힌트가 있을 것이라는 걸 예상할 수 있었다. 소스 페이지의 주석처리 부분이 힌트인 것 같았다. 비슷한 문자들이 쓸데없이 너무 많은 것 같아 일단은 문자별로 분류를 해보기로 했다. 일단 주석처리 부분을 복붙해서 pythonchallenge2.txt 파일을 만들었다. 12345from collections i..
12str="2019년은 기해년. Happy New Year!"print(list(str))cs 실행 결과>>['2', '0', '1', '9', '년', '은', ' ', '기', '해', '년', '.', ' ', 'H', 'a', 'p', 'p', 'y', ' ', 'N', 'e', 'w', ' ', 'Y', 'e', 'a', 'r', '!'] ※ a=list(str)처럼 a라는 리스트에 한글자씩 끊어서 만든 리스트를 대입할 수도 있다. print(a)를 해주면 위와 동일한 실행 결과가 나온다.
1번 URL 주소 : http://www.pythonchallenge.com/pc/def/map.html 1번 문제는 다음과 같다. 예전에 암호수학 시간에 배웠던 개념이 생각나서 a-z까지 알파벳을 옆으로 두 칸 밀어보았더니 해답이 보였다. 코딩을 하기 전에, 간단하게 디자인을 해보았다. 1. a-z까지 알파벳을 원소로 갖는 리스트 a를 생성한다.2. 리스트 a를 옆으로 두 칸 밀어 c-b까지 알파벳을 원소로 갖는 리스트 b를 생성한다.3. 문제에 주어진 문장을 넣을 리스트 c를 생성한다.4. 공백(' ')은 건너뛰고, 리스트 c의 원소와 리스트 a의 원소가 일치할 때, a의 인덱스 위치를 가져와, 리스트 b의 동일한 인덱스에 있는 값을 리스트 c의 원소에 대입해준다. 소스코드 >> 12345678910..
파이썬 챌린지 첫 페이지 화면 URL 주소를 바꾸는 게 힌트. URL 주소에 0.html을 2의 38승으로 바꾸면 될 것 같았다. 0.html => 274877906944 로 바꾸면 끝. 쉽군 근데 생각해보니 파이썬 챌린지니까 넘나 간단
SuNiNaTaS 06번 문제이다. 이 문제는 SQL Injection과 관련이 있는 문제였다. 이 부분은 공부해서 따로 올릴 예정이다. 처음에 ' or '1'='1' 을 쓰니 막힌다고 하여 참이 될 수 있는 다른 조건을 넣어주었다. 다음과 같은 alert가 뜨고, auth key를 얻어낼 수 있다. 그리고 확인을 누르자, 접근권한이 없다는 다음과 같은 alert가 떴다. 문제에서 알려준 사이트를 통해 authkey를 MD5 방법으로 Hash 해보았다. 다음과 같은 결과가 나왔다. 접근권한은 쿠키와 관련이 많다고 하여 쿠키를 사용해 보았다. 쿠키의 값을 HASH한 결과 값으로 바꾸어 주었다.다음과 같은 화면이 나오는데 소스 코드에서 다음과 같은 힌트를 얻을 수 있었다. 정답은 Augustus
써니나타스 5번 문제이다. 너무 볼 것이 없어서 페이지 소스를 보았다. 핵심이 될 만한 코드는 이 함수였다. eval(function(p,a,c,k,e,r) 이 부분을 알기 위해 구글링을 한 결과, 자바스크립트 난독화가 되어있었다는 것을 알게 됐다. 간단한 자바스크립트 난독화를 해제해주는 사이트도 많았다. https://www.strictly-software.com/unpack-javascript 이 사이트를 통해서 해제 해보았다. 소스코드에서 힌트가 될 만한 내용은 다음과 같다. atom을 이용해 다음과 같은 코드에 alert(PASS(12342046413275659)) 를 추가시켜 실행해보았다. 1234567891011121314151617181920212223!DOCTYPE html> var dig..