일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- 김성엽 대표님
- 백준 파이썬
- xss game
- 조건문
- suninatas 풀이
- 백준 알고리즘
- blind sql injection
- IF문
- 메소드
- 객체
- 사칙연산
- 포인터
- 함수
- element 조회
- window
- github
- 자바스크립트
- sql injection
- htmlspecialchars
- property
- burp suite
- 배열
- xss game 풀이
- Pwndbg
- document
- 파이썬
- lord of sql injection
- jQuery
- object
- Today
- Total
목록분류 전체보기 (389)
power-girl0-0
해당 글은 CMS에 대한 간단한 개념을 정리하기 위해 작성한 글입니다. CMS ( Web Content Management, 콘텐츠 관리 시스템 ) : 이를 이용하면, 웹 사이트의 다양한 리소스 및 컨텐츠, 데이터를 보다 쉽게 관리할 수 있다. CMS 핵심기능 1. 콘텐츠 편집 2. 콘텐츠 저장 3. 콘텐츠 공유 4. 버전 관리 5. 다른 앱들과의 통합 6. 전자상거래 및 마케팅 기능 7. 대용량 콘텐츠 통합 8. 사용자 관리: 복수의 사용자 계정 생성, 각각 다른 권한 부여 등 장점 1. 누구나 간단하게 웹사이트를 쉽게 제작할 수 있다. html등의 지식이 없어도 만들어진 웹사이트에 콘텐츠를 작성할 수 있는 정도의 웹사이트 구축이 가능하다. 2. 시간 절약 간단한 코드 같은 것은 직접 만들지 않고, 작..
시저 암호 시저 암호는 암호화하고자 하는 내용을 알파벳별로 일정한 거리만큼 밀어서, 다른 알파벳으로 치환하는 방식이다. 여기서, 일정한 거리는 key를 의미한다. 따라서 시저 암호는 key가 필요하며, 숫자로 지정해줘야한다. 암호화와 복화화 과정도 다르기 때문에, 따로 구현해줘야 한다. 암호화는 일정한 거리만큼 밀리지만, 복호화는 이동한 거리만큼 다시 당겨야 한다. 소스코드 def encrypt_cis(msg,key): #암호화 ans = '' dic = 'abcdefghijklmnopqrstuvwxyz' for m in msg: index = dic.find(m) #dic에서 해당 문자가 몇번째 문자인지 찾아준다. if(index == -1):#공백일 경우 ( =띄어쓰기 ) ans = ans + m e..
XOR을 이용한 암호화, 복호화 앞에서 구현한 암호화, 복호화를 활용하여 XOR을 구현해보자. XOR을 하기 위해서는 key가 필요하며, key는 임의로 지정해주면 된다. 또한 암호화와 복화화 과정이 같기 때문에, 아래 소스에서는 enc_xor함수로 표현하였다. ^연산자는 XOR연산을 해주는 연산자이다. 소스코드 def enc_xor(msg,key): msg_size = len(msg) key_size = len(key) enc = bytearray() for i in range(msg_size): msg_xor = msg[i]^key[i%key_size] # i%key_size를 통해 key길이가 초과하는 것을 방지하였다. enc.append(msg_xor) return enc def main(): m..
간단하게 암호화, 복호화를 구현해보자. 암호화는 메시지를 거꾸로 출력해주는 것을 만들어보자. 이에 따라, 암호화와 복호화는 같은 함수를 사용한다. 따라서, 아래 소스에서는 encrypt_r함수를 통해 암호화와 복호화를 표현하였다. string 메시지 암호화, 복호화 하기 소스코드 def encrypt_r(msg): #암호화, 복호화해주는 함수 size = len(msg) #메시지 길이 구한다. enc = '' #아무 값도 안들은 enc변수를 생성한다. for i in range(size): #메시지 길이만큼 반복한다. enc+=msg[size-i-1] #끝에서부터 출력하기 위해 한글자씩 추출하여 enc변수에 값을 넣는다. return enc def main(): msg = 'I love you' # 메시..
설치 1. 아래 주소에서, 컴퓨터 환경에 맞게 다운로드해준다. ( www.anaconda.com/products/individual ) 2. 다운로드한 파일을 실행한다. 설정은 default로 진행하였다. 3. 설치가 완료되면, window 시작 메뉴에 Anaconda폴더가 생성된다. 아나콘다 기능 Anaconda Prompt 콘솔에서 실행된다. Jupyter 서버가 연결되어 웹페이지로 생성된다. 코드에 대한 설명 작성도 가능하지만, 디버깅이 불편하다는 단점이 있다. spider 콘솔 + 주피터 기능이 합쳐진 정도의 툴로, 디버깅이 가능하다.
해당 글은 개념을 간단히 정리하고자 작성한 글로, 실습은 다른 글에서 진행하였습니다. 개요 웹 어플리케이션이 database에 접근하는 과정에서, 악의적인 사용자가 악의적인 SQL문을 실행시켜 데이터베이스를 비정상적으로 조작하는 해킹 방법이다. 로그인 요청을 하면, DB는 계정 정보가 있는 테이블에서 해당 계정이 존재하는지 확인해야 한다. 종류 1. Error based SQL Injection ( =논리적 에러를 이용한 SQL Injection ) 논리적 에러를 발생시킬 수 있는 패턴을 이용한 인증 우회 기법이다. SQL Injection에서 가장 많이 쓰이며 대중적인 공격기법이다. 2. union SQL injection union 키워드는 두 개의 쿼리문에 대한 결과를 통합해서, 하나의 테이블로 보..
1. 아래 주소를 통해 컴퓨터 환경에 맞게 다운로드 한다. ( www.oracle.com/tools/downloads/sqldev-downloads.html ) 2. 다운로드 후 압축을 풀어주면, exe파일이 있는 것을 확인할 수 있다. 3. 실행시켜주면, 이전 환경정보를 읽어오는 설정을 해줄 수 있다. 해당 툴을 설치한 적이 있으면 "예"를 클릭하고, 처음 설치는 "아니오"를 클릭하면 된다. 본 작성자는 처음 설치하므로, 아니요를 눌러줬다. 환경정보를 설정하면, 아래와 같이 설치가 완료된다. 4. 설치가 완료되었으니, DB에 접속해보자. 좌측 상단에 +를 클릭한다. 각각의 필드를 알맞게 채운 뒤, 룰은 SYSDBA로 설정한다. 설정 후 테스트하고 저장하면, 성공적으로 접속된다. 참고로, sys는 주로 ..
1. 해당 링크에서 설치 파일을 다운로드 해준다. ( https://www.oracle.com/database/technologies/oracle-database-software-downloads.html ) 해당 링크에서 스크롤을 내리다보면, 아래와 같이 "Oracle Database Express Edition" 항목이 있다. 해당 항목에서 컴퓨터 환경에 맞춰, 다운로드 해주면 된다. 본 작성자는 window이므로, 해당 파일을 다운로드 해주었다. 2. 다운로드한 파일에서 setup.exe를 클릭하여 설치한다. 해당 항목을 허용 후, next를 누른다. 설치할 위치를 설정 후, Next로 넘어간다. Database 패스워드를 설정해주고, Next를 누르면 설치가 완료된다. 3. 설치를 완료했으니, 실..