| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- bee-box
- 네트워크
- 워게임
- 비박스
- 소프트웨어보안
- reversing
- CodeEngn
- ftz
- 네트워크보안
- network
- 순서도
- TCP
- hacking
- webhacking
- Webhaking
- 알고리즘
- 시스템
- System
- 시스템해킹
- 리버싱
- 모의해킹
- 웹
- dreamhack
- 웹해킹
- 소프트웨어
- 해킹
- 드림핵
- XSS
- Web
- WarGame
- Today
- Total
목록전체 글 (236)
Without a Break
정적 분석 vs 동적 분석 정적 분석 동적 분석 소프트웨어의 소스코드가 있을 때 분석이 가능 - 코드의 내용 속에서 취약성을 찾아냄 - 구문 에러 및 논리적 에러를 찾지는 못함 소프트웨어를 실행하여 가능한 모든 경우를 실행하도록 하여 오류가 있는지 확인 - 소스코드를 갖고 있지 않은 경우가 많음 - 소프트웨어 개발자가 제시하지 않은 use case를 고려 할 때도 있음 - 블랙 박스 테스트 vs 화이트 박스 테스트 + 참고) 동적 분석은 개발의 BUILD에서도 이뤄지지만 OPS의 OPERATE에서도 이루어짐 블랙 박스 테스트 vs 화이트 박스 테스트 (동적 분석) 블랙 박스 테스트 (소스코드를 포함) 소프트웨어의 내부 구조를 전혀 알지 못함 소프트웨어를 다양한 각도로 실행하여 반응을 확인하는 형태로 소프..
취약점의 발견과 보고 Zero Day Initiative https://www.zerodayinitiative.com/ Home | Zero Day Initiative www.zerodayinitiative.com TippingPoint에 의해 시작된 취약점 발견/공유 사이트 대기업 SW의 취약점을 발견, 공유함 취약점 발견자에게 금전적으로 보상 : 취약점을 발견 보고하여 경제적 이익을 얻을 수 잇음 CVE (Common Vulnerabilities and Exposures) CERT에 의해 1999년에 시작 취약점의 표준화된 식별을 목표 (Vendor 중심 자체 식별자 지정, 상호 의사소통의 어려움 해결) 각 Vendor 및 공급자들이 자신의 advisory 발표 가능 (단, CVE를 통해 상호참조하고..
개요 TCP는 연결형 프로토콜: 종단이 서로 데이터를 송신하기 전에 이들 사이에 연결을 확립 플래그 3문자 약어 설명 S SYN 순서번호의 동기화 F FIN 송신자는 데이터 송신을 종료 R RST 연결의 재설정 (강제 종료) P PSH 수신 프로세스가 가능한 빨리 데이터를 보낸다 . 위의 4개의 플래그가 설정된 것이 없다 연결 확립과 종료 연결 확립 프로토콜 [SYN] 요구 측의 종단은 접속하고자 하는 서버의 포트번호와 클라이언트의 초기순서번호(ISN)를 지정한 SYN 세그먼트를 보낸다. [SYN+ACK] 서버는 서버의 초기순서번호(ISN)를 포함한 자신의 SYN 세그먼트로 응답한다. [ACK] 클라이언트는 서버로부터 보내 온 SYN에 대하여 서버의 ISN+1 ACK로 확인응답을 보내야 한다. => 이와..
누승 활용 수열 문제1) 1부터 100까지의 누승의 합을 구하여 출력하는 알고리즘의 순서도 문제2) 누승을 재귀호출로 구하려면? 재귀호출을 위하여 START라는 시작 기호 대신, 자연수 N의 누승을 계산하는 알고리즘 이름과 인자 N을 괄호와 함께 명시 *동적 알고리즘 : 특정한 매개변수 값에 대한 함수 호출이 최초로 일어날 때에만 재귀호출 방식으로 계산 재귀호출에 따른 비효율성이 문제될 때가 있는데, 이를 줄이기 위하여 등장한 알고리즘 결과 값을 보관해둔 다음에 나중에 다시 호출될 때는 저장된 값을 가져다 사용하는 방식 최적 부분 구조(Optimal Substructure)이면서 중복호출의 비효율성이 심각한 경우 사용 제곱의 합 문제) S=(100*1)^2+(98*3)^2+...+(3*98)^2+(2*9..
[문제 파일] users = { '0': { 'userid': 'guest', 'level': 1, 'password': 'guest' }, '1': { 'userid': 'admin', 'level': 9999, 'password': 'admin' } } 존재하는 계정들의 정보 @app.route('/get_info', methods=['GET', 'POST']) def get_info(): if request.method == 'GET': return render_template('get_info.html') elif request.method == 'POST': userid = request.form.get('userid', '') info = requests.get(f'{API_HOST}/api/..
[풀이] 개발자 도구의 Element에서 script 코드를 보면 jack-target(호박)을 클릭 시 counter가 증가하는 함수가 있다. 이 코드를 활용하여 console창에 호박을 10000번 클릭하는 코드를 작성해 플래그를 얻을 것이다. 다음과 같이 호박을 10000번 클릭하는 코드를 Console창에 작성 후 엔터를 누르면 플래그가 출력된다. 답 : DH{I_like3_pumpk1n_pi3}
[문제 파일] def ping(): if request.method == 'POST': host = request.form.get('host') cmd = f'ping -c 3 "{host}"' try: output = subprocess.check_output(['/bin/sh', '-c', cmd], timeout=5) return render_template('ping_result.html', data=output.decode('utf-8')) except subprocess.TimeoutExpired: return render_template('ping_result.html', data='Timeout !') except subprocess.CalledProcessError: return rend..
컴퓨터 구조와 명령어 집합 구조 컴퓨터 구조 : 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고, 이들을 구상하는 방법 컴퓨터의 기능 구조에 대한 설계, 명령어, 집합구조, 마이크로 아키텍쳐, 하드웨어 및 컴퓨팅 방법에 대한 설계 등이 포함 컴퓨터의 기능 구조에 대한 설계 : 컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고, 설계하는 분야 명령어 집합구조(Instruction Set Architecture) : CPU의 명령에 대한 설계. CPU가 처리해야하는 명령어를 설계하는 분야 마이크로 아키텍쳐(Micro Architecture) : CPU의 하드웨어적 설계. 정의된 명령어 집합을 효율적으로 처리할 수 있도록, CPU의 회로를 설계하는 분..