분류 전체보기
-
Command injectionSecurity/Web보안 2020. 8. 1. 15:35
-웹 애플리케이션에서 시스템 명령어를 실행할 수 있는 함수를 제공하고, 사용자 입력값에 필터링이 제대로 이루어지지않을 경우 Command injection에 취약한 함수 java - system.* perl - open(), sysopen(), system(), glob() PHP - exec(), system(), passthru(), popen(), eval(), include(), preg_replace(), rquire() 공격 예제 ex) 127.0.0.1;ls 127.0.0.1;cat /etc/passwd 세미클론 대신 파이프(|)나 &사용가능 ex) 127.0.0.1| ls 127.0.0.1& ls 대응 방법 사용자 입력값에 대해 적절히 필터링을 하여 차단한다. 만약 os명령어를 불가피하게 ..
-
백준1260_DFS와 BFS알고리즘/백준 2020. 6. 3. 20:11
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net #include #define MAX 1001 int graph[MAX][MAX]={0,}; int bfs[MAX]={0,}; int dfs[MAX]={0,}; void DFS(int N, int s); void BFS(int N, int s); int main(){ int N,M,V; scanf("%d %d %d",&N,&M,&V); int n; int i,..
-
백준 알고리즘2798_블랙잭알고리즘/백준 2020. 5. 28. 02:50
문제원본 : https://www.acmicpc.net/problem/2798 2798번: 블랙잭 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 �� www.acmicpc.net - temp는 세장의 카드의 임시합을 저장 - min은 'M-세장의 카드의 숫자의 합'을 저장 - i, i+j, i+j+k번째의 카드를 골라 모든 경우의 합을 계산 #include int main(){ int N,M; scanf("%d",&N); scanf("%d",&M); int arr[N]; //VLA 방식 int min = M; int temp=0; int i,j,k; for(i=0..
-
XPath공부/Python 2020. 5. 21. 21:32
마크업 언어에서 특정 요소를 찾기 위한 경로를 나타내는 언어 보통은 ID나 클래스이름으로 특정 요소를 찾는데, 이를 XPath를 사용해 쉽게 찾을 수 있다. 기본 구문 //태그 이름[@속성 '값'] 절대 경로 /html/body/div[2]/div/form/div 상대 경로 //div[@class='form-group'] ex) driver.find_element_by_xpath('//*[@id="frmNIDLogin"]/fieldset/input').click() https://qssdev.tistory.com/42
-
네이버 자동 로그인(selenium)공부/Python 2020. 5. 21. 21:11
selenium모듈을 활용한 자동 네이버 로그인 * chromedriver.exe 와 selenium 모듈을 따로 설치하였다. from selenium import webdriver driver = webdriver.Chrome("C:\\Users\\user\\Desktop\\chromedriver.exe") driver.get("https://nid.naver.com/nidlogin.login") delay = 1 driver.implicitly_wait(delay) #리소스를 기다리는 시간 driver.find_element_by_name('id').send_keys('id') driver.find_element_by_name('pw').send_keys('*******') driver.find_el..
-
python 가변인자공부/Python 2020. 5. 19. 16:08
def 함수이름(*인자이름): 을 통해 파이썬에서 가변인자를 사용할 수 있다. 다음은 여러 수를 입력 받아서 가장 그 중 가장 큰 수를 반환하는 함수를 포함한 프로그램이다. python 3.x 버전 def func(*args): item=list(map(int, args[0])) n = len(item) max = item[0] for i in range(1,n): if max < item[i]: max = item[i] print(max) return max max = func(map(int,input("입력 : ").split())) print("max_num : %d" %max)
-
함수 호출 규약Security/Reversing 2020. 3. 7. 16:33
주요 함수 호출 규약으로 cdecl, stdcall, fastcall 의 3가지가 있으며, 이외에도 clrcall, thiscall fortran등등의 규약들이 존재한다. 함수 호출 규약의 구분 - 인자 전달(인자 전달의 순서) - 인자 전달에 사용하는 매체(스택, 레지스터) 함수 호출 규약의 종류 규악 정리하는 쪽 인자 전달 매체 인자 전달 순서 cdecl Caller 스택 오른쪽에서 왼쪽 stdcall Callee 스택 오른쪽에서 왼쪽 fastcall Callee 레지스터, 스택 오른쪽에서 왼쪽 *Caller, 호출자 - 함수를 호출한 쪽 *Callee, 피호출자 - 호출을 당한 함수 9 10