일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- system hacking
- stack overflow
- Lord of BOF
- Payload
- 운영체제
- OS
- wargame
- webhacking
- webhacking.kr
- Buffer Overflow
- SQL
- pwnable
- Spring MVC
- BOF
- Operating System
- Shell code
- System
- 해킹
- 정보보안기사
- hacking
- 정보보안기사 실기
- PWN
- LOB
- 정보처리기사 실기
- Spring Framework
- Pwnable.kr
- 네트워크
- 워게임
- 웹해킹
- Spring
- Today
- Total
목록분류 전체보기 (171)
DongDD's IT
ICMP ICMP - Network Layer에 있는 protocol 중 하나- error reporting, query message에 사용되는 protocol- Router가 packet을 버리는 경우나 error로 인해 제대로 전송되지 않았을 때 Sender에게 알려주기 위해 사용 다른 프로토콜과 같은 형태로 IP data부분에 ICMP message가 들어가고 header가 붙으면서 encapsulation됨 ICMP Message ICMP도 다른 Protocol과 비슷한 형태로 구성되어 있음 error가 발생했을 때 report하기 위해 이러한 형태로 ICMP packet을 구성한다. 1) 왼쪽 IP header : source address를 통해 어디서 error가 발생한지 알 수 있음2) ..
Buffer overflow Stack overflow - stack overflow는 기본적으로 프로그램의 오류 중 buffer overflow의 한 종류이다.- stack이 프로그램 실행 시 할당된 사이즈를 넘어갈 때 일어난다.- 이러한 stack overflow로 인해 취약점이 생길 수 있다. - 기본적으로 stack에 이러한 순서로 쌓이게 된다.- buffer가 20bytes라면 그 뒤에 4bytes의 sfp, 함수가 끝난 후 돌아갈 return값 4bytes, parameter 이런 순으로적재가 된다. Saved frame pointer(SFP) : 함수의 실행이 끝나고 이전 함수로 돌아가기 위해 이전 함수의 ebp를 저장해둠 Stack corruption에서는 RET의 값을 변조시켜 함수가 끝..
[C 언어] 메모리 구조 메모리 구조- 프로그램 실행 시 메모리 공간에 프로그램이 쌓이게 된다.- C언어에서는 Stack, Heap, Data, Code 영역으로 나뉘어진다1) Code 영역 - 실행되는 프로그램의 코드 부분이 저장되는 영역- Text 영역이라고도 불림- 이 부분에 저장된 내용을 하나씩 처리하며 프로그램이 실행됨 2) Data 영역 - 전역변수, 정적 변수 등이 저장되는 공간- 프로그램 실행 시 프로그래머가 선언한 변수에 대한 메모리 공간이 할당되고 프로그램 종료 시 해제된다.- 초기화 되지 않은 변수는 BSS영역에 할당되게 된다. 3) Stack 영역 - 지역 변수와 함수 호출 시 매개 변수가 저장되는 공간- 함수 안에서 변수를 선언할 경우 stack에 쌓이게 되고 함수가 종료되면 소멸..
Address Resolution Protocol(ARP) ARP - Logical address로 Physical address를 알아올 수 있게 해줌- IP address -> MAC address-> 반대로 MAC address로 IP address를 얻어올 수 있게 해주는 프로토콜 : RARP- ARP table에 IP와 MAC의 올바른 mapping이 필요함(static, dynamic) ARP Operation 1) ARP Request- 보내야 할 목적지 MAC address를 모르기 때문에 logical address를 가진 ARP packet을 broadcast로 전달함2) ARP Reply- ARP을 받고 destination이 자신과 일치한다면 ARP packet에 적혀있는 MAC a..
Internet Protocol Version4(IPv4) CheckSum - TCP/IP 에서 error를 detect하기 위해 사용하는 방법- Sender가 Header의 모든 값을 다 더해 보수를 취해서 checksum을 만듬- Receiver는 모두 더한 후 보수를 취한 값이 0이면 제대로 도착, 아닐 경우 버림Sender Receiver IP Package, Module - IP에서는 효율적으로 관리하기 위해 여러 가지 모듈을 나누어 사용1) 빨간색 선- Receiver쪽에서 Packet을 받을 때 거치는 모듈- Processing Module -> Reassembly module -> upper-layer2) 파란색 선- Sender쪽에서 Packet을 전송할 때 거치는 모듈- Header-a..
Internet Protocol Version4(IPv4) IP Protocol IP : Netwrok Layer에 존재하는 프로토콜 현재 많이 쓰이는 TCP/IP에 사용되는 프로토콜 IP Header IP Header는 기본적으로 20bytes를 사용하고 Option을 추가하면 최대 60bytes까지 사용된다.1) VER : IP프로토콜의 version을 나타냄. (IPv4, IPv6)2) HLEN : header길이를 나타내 Option이 사용된 여부를 알 수 있다. TCP와 마찬가지로 4로 나눈 값을 넣음3) Service type : service type을 나타내는데 거의 쓰이지 않음4) Total length : Header+Data 길이를 나타냄. padding 사용 정도를 알 수 있음5) ..
[webhacking.kr] 가입 webhacking.kr 문제를 풀고 있지만 뒤늦게 가입방법을 올리려고 한다.webhacking.kr은 가입부터가 문제라고 볼 수 있다. webhacking.kr에 들어가면 처음 볼 수 있는 페이지다. 처음에 시작할 때는 홈페이지가 되게 멋있다는 생각을 했었다.먼저 로그인밖에 없는 것을 볼 수 있다. 처음에는 가입하는데 굉장히 오래걸렸었다.브라우저에 있는 개발자 도구를 보기로 하자. 개발자 도구로 소스코드를 보면 Register라 써있고 주석처리가 되있는 것을 볼 수 있다. 여기서 두 가지 방법을 통해 가입 페이지로 갈 수 있다. 첫 번째는 주석에 있는 location.href를 주소에 붙여넣기해서 들어가는 방법이 있다. 이런 방식으로 주석에 써있는 것을 붙여넣기해 들어..
[webhacking.kr] Level 33 남은 문제가 몇개인지 모르지만 오늘은 마무리 해보려고 한다. 풀다가 길어지면 다른 게시글로 올릴 것 같다. 97~122까지 for문을 돌리면서 i를 2씩 증가시켜주며 chr함수를 이용해 숫자를 아스키코드로 바꿔주고 answer에 넣어주는 것 처럼 보인다. 그리고 GET방식으로 넘겨주는 ans와 비교해 같다면 다음 단계로 넘어갈 수 있는 구조로 되어있다.abcdefghijklmnopqrstuvwxyz -> acegikmoqsuwy 이번 문제는 어려운 것 없이 무난하게 통과할 수 있었던 것 같다. 이번 문제는 Wrong이라는 출력 문구가 없이 그냥 소스코드 주소만 있었다. 소스코드를 보니 이번 문제가 마지막 문제인 것 같다. REMOTE_ADDR을 ip에 넣어주고..
[webhacking.kr] Level 33 33번 문제의 5번째 문제도 같은 형식으로 되어있었다. 게속 이런 형식인 것 같다. 소스 코드를 보니 이번에는 앞에 문제들을 합쳐놓은 형태로 되어 있었다.GET방식으로 imget을 받는 데 값이 있어야 하고POST방식으로 impost을 받는 데 값이 있어야 하고 COOKIE에 imcookie가 설정되어 있으면 Next가 나오는 방식으로 되어있다. Burp Suite를 이용해 각 항목에 받는 방식으로 1값을 넣어줘 Next를 얻어낼 수 있었다. 이번에는 hint가 나와있었다. Request header에 있는 값이 힌트로 나와있었다. 소스코드를 보면 좀 더 자세히 알 수 있을 것 같다. 이번에는 md5 암호화를 사용하는 방식으로 되어있었다. 앞에 문제와 비슷하게..
Browser에서 POST 방식 전송 webhacking.kr 33번 문제를 풀다 보면 post방식 전송을 사용해야 될 때가 있다. (webhacking.kr 33번 문제의 일부 해답이 되어있음) burp suite를 사용하여 문제를 해결했지만 다른 tool이 없는 사람이나 사용하지 않고 풀때 사용할 수 있는 방법이다. 크롬에서 F12(개발자 도구)를 키고 Network란에 들어가면 Request헤더에 따른 Response헤더를 볼 수 있다. 이 문제에서는 GET방식으로 되있는데 새로 수정해 Request를 보낼 수 있다. 개발자 도구에 있는 Console로 들어가 변수명=new XMLHttpRequest()로 객체를 만들어 준다. XMLHttpRequest()는 Request 헤더를 수정할 수 있게 해..