일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정보처리기사 실기
- LOB
- PWN
- 정보보안기사
- Spring
- Pwnable.kr
- 정보보안기사 실기
- 해킹
- 워게임
- pwnable
- Payload
- webhacking
- System
- Operating System
- webhacking.kr
- Lord of BOF
- 운영체제
- wargame
- system hacking
- SQL
- OS
- 네트워크
- 웹해킹
- Spring Framework
- stack overflow
- BOF
- hacking
- Spring MVC
- Buffer Overflow
- Shell code
- Today
- Total
목록분류 전체보기 (171)
DongDD's IT
Network Layer Router - Network Layer 정보를 기초로 한 네트워크에서 다른 네트워크로 패킷을 포워딩해주는 역할- Network Layer 장비이기 때문에 IP 주소를 보고 해당 Network로 갈 수 있는 경로에 패킷을 포워딩함 Switching 1. Circuit Switching- Connection-oriented Service (Physical connection)- 중앙에서 경로를 관리하여 최적의 경로를 찾아 특정 대상에게 할당해줌- 장점 : Quality of service(QOS) 보장- 단점 : 안쓰는 자원을 다른 사람에게 공유할 수 없음2. Packet Switching- Connectionless Service- 중앙 통제없이 Router들끼리 경로를 공유하여..
[pwnable.kr] cmd1 문제 풀이 문제를 보니 환경변수가 무엇인지 물어보는 걸로 보아 환경변수를 이용하는 문제 같았다. 다른 문제와 같이 flag 파일, cmd1 실행 파일, cmd1.c 소스코드 세가지 파일이 있었다. 소스 코드를 보고 파악하기로 했다. /fuckyouverymuch라는 폴더를 환경변수에 넣어주고 filter라는 함수에 argv[1]을 넘겨주고 system 함수의 인자로 argv[1] 를 넣어주는 구조로 되어있었다. 처음에 코드를 봤을 때 strstr() 함수에 대해서 알지 못해서 따로 찾아보았다.strstr(char *a, char *b) 함수는 a라는 string에 b의 string이 포함되어 있으면 해당 패턴이 나타나는 위치값을 return 해주고 없다면 0을 return..
TCP Connection Establishment Diagram Establishment 에는 5가지 상태가 있음1) LISTEN : SYN 받기를 기다리는 상태 (Server)2) SYN-SENT : SYN을 보내고 ACK을 기다리는 상태3) SYN-RCVD : SYN을 받고 ACK을 보냄4) EStABLISHED : 3-handshake 이후 연결이 된 상태5) CLOSED : 연결 종료 상태 3-Handshake Termination 3-Handshake에는 4가지 상태가 있음1) FIN-WAIT-1 : 연결 종료를 위해 FIN을 보낸 상태2) CLOSE-WAIT : FIN을 받은 후 FIN+ACK을 보내기 전까지의 상태3) LAST-ACK : FIN+ACK이후 마지막 ACK을 받기 위해 기다리는..
TCP TCP/UDP -Transport Layer에 있는 protocol Transport Layer에는 크게 UDP(User Datagram Protocol)와 TCP(Transport Control Protocol) 두 가지가 있음 TCP의 특징1) Connection oriented (연결 지향형)2) reliability (신뢰성)3) Segment 사용 UDP의 특징1) Connectionless (비연결)2) User datagram 사용3) Unreliability (신뢰성 보장 X) -> 현재는 TCP를 많이 사용하는 추세 TCP에는 각 process가 sending buffer와 receiving buffer를 가지고 있음 Sending Buffer1) Sent : 보내진 segment..
[webhacking.kr] Level 26 이번에는 한 페이지 링크만 주어져 있다. 들어가보니 소스 코드가 주어졌다. GET방식으로 id를 받고 이것을 eregi함수를 통해 admin이 아니도록 인식해야하고url decode 했을 때 admin과 일치하면 통과하는 방식으로 되어 있었다. "%61%64%6d%69%6e"로 시도해보았더니 no!라는 메시지와 함께 실패했다.생각해보니 이게 admin을 뜻하는 거라는 생각이 들어 이것을 한번 더 url encoding하면 어떨까 해서 시도해보았다.%가 %25로 표현 되기때문에 "%2561%2564%256d%2569%256e"로 시도 하면 이것이 %a%d%m%i%n 으로 표현되어 eregi를 우회하게 되고 디코딩 했을 경우 다시 "%61%64%6d%69%6e" ..
[webhacking.kr] Level 18 문제에 들어갔더니 SQL Injection이라고 떡하니 써있었다. 코드도 주어진 상태라 코드를 보고 풀어나가면 되겠다는 생각이 들었다.SQL Injection에 대해서 조금은 공부했지만 아직 잘은 모르는 상태지만 도전해보기로 했다. 코드를 보니 여러 문자에 대해 필터링이 되어있었고 select를 통해 맨 위의 row에 admin이 오게 되면 통과하게 되어있었다. 간단한 값으로 1 or 1=1 을 넣어봤더니 no hack이라는 결과가 나왔다. Space가 필터링 걸려있다는 것을 알 수 있었다. Space(%20)을 대체하기 위한 것으로는 %0A, %0B, %0C, %0D가 있다는 것을 알았고 이것으로 시도해보았다. %0C를 사용하여 시도해보았다. hi guest..
[webhacking.kr] Level 17 이번 문제는 단순한 입력 box하나와 check button하나가 주어져 있다. 소스코드를 보니 저 값을 계산하고 넣어준 후 버튼을 클릭하면 sub함수로 넘어가 이 값과일치하는지 확인하여 맞다면 password를 띄어주는 구조였다. password가 unlock/10인것으로 보아 굳이 넣어보지 않아도 알 수는 있게 되어 있는 구조였다. 크롬에 있는 console을 이용해 저 값을 계산하여 넣은 후 버튼을 클릭해 flag를 얻을 수 있었다. ************** Answer & Flag ************** 이번 문제는 딱히 생각할 거 없이 간단히 해결할 수 있는 문제였다.
[webhacking.kr] Level 16 들어가보니 이쁜 별들이 있었다. 소스 코드를 살펴보기로 했다. 소스 코드를 보니 키보드를 누르면 자바스크립트 mv함수로 들어가는 것을 알 수 있었다.처음에 코드가 잘이해되지 않아 키보드를 눌러보았다. 화면에 *이 추가되는 것을 볼 수 있었다. 문제를 내기 위해 신기한걸 만들어 놨다는 생각이 들었다. ㅋㅋ 소스 코드를 보고 분석을 해보았다.key를 누르면 key값이 mv함수로 넘어가게 된다. kk함수를 통해 화면에 *을 찍고 if문을 거치게 된다.아스키코드로 넘어오기 때문에 아스키코드를 보고 if문을 해석해 보았다.if문을 볼때 a(97) d(100) w(119), s(115)를 누르면 *이 이동하는 것 같은데 이동하지 않고 추가만 되었다. 크롬에서는 스크립트가..
OSI 7 Layers(Open Systems Interconnection) OSI 7 Layers - International Stadards Organization(ISO) 에서 네트워크 관리와 사용을 간편하게 할수 있도록 만들어 놓은 7계층 - Layer 7 (Application) : 응용 프로세스와 관계되어 있고 일반적인 응용 서비스를 수행하는 계층. (message)- Layer 6 (Presentation) : 코드 간 번역을 담당. MIME 인코딩이나 암호화 등의 동작을 하는 계층.- Layer 5 (Session) : 응용 프로세스의 통신을 관리하는 계층. full-duplex, half-duplex 설정- Layer 4 (Transport) : 아래 계층에 신뢰성 있는 데이터를 제공하는..
[webhacking.kr] Level 14 문제에 들어가니 이런 화면을 볼 수 있었다.바로 소스코드 확인을 했다. 소스 코드를 보니 button클릭시 javascript의 ck함수로 넘어가 값을 검사하는 구조였다.document.URL함수로 현재의 URL을 가져오고indexOf함수를 통해 .kr이 있는 index를 가져와 그 값에 30을 곱한 값을 넣으면if문을 통과하여 그값을 두번 곱한 값이 flag라고 출력해준다.즉 굳이 값을 넘겨서 확인해보지 않아도 답을 알 수는 있는 것이었다. 콘솔창을 이용하여 ck함수에 있는 값을 그대로 입력하여 넘겨야 하는 값을 알아낼 수 있었다. ************** Answer & Flag **************