일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- All Longest Strings
- markdown
- 피보나치 수
- til
- Counting cells in a blob
- flask
- adjacentElementsProduct
- 파이썬머신러닝완벽가이드
- baekjun
- codesingal
- data_structure
- 수 정렬하기
- 백준
- Daily Commit
- cpp
- recursion
- 2750
- matrixElementsSum
- centuryFromYear
- shapeArea
- C++
- codesignal
- 2015 봄학기 알고리즘
- 10953
- almostIncreasingSequence
- Numpy
- Sequential Search
- Python
- 파이썬 포렌식
- collections.deque
- Today
- Total
목록분류 전체보기 183
Introfor
파이썬(Python) - 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다. - 대표적으로 일반 사람들이 잘 알고 있는 구글, 드롭박스가 파이썬을 사용하고 있다.파이썬의 특징인간다운 언어이다. - 사람이 생각하는 방식을 그대로 표현할 수 있다. 문법이 쉬워 빠르게 배울 수 있다. - 문법 자체가 쉽고 소스코드도 간결하게 작성할 수 있다. 개발 속도가 빠르다. - 사고 체계가 인간과 비슷해서 개발 속도가 다른 언어들에 비해 빠르다.파이썬으로 할 수 있는 것시스템 유틸리티 제작 - 운영체제의 시스템 명령어들을 이용할 수 있는 각종 도구를 갖추고 있기 때문에 이를 바탕으로 갖가지 시스템 유틸리티를 만드는데 유리하다. GUI 프로그래밍 - 화면을 보며 마우스나 키보드로 조작할 수 있는 프로그램을..
6번 문제이다. 힌트로 base64 있는 것을 보니 base64인코딩/디코딩을 활용하는 문제인 듯하다. password와 user 쿠키가 있는 것을 확인했다. user 쿠키 값이 없으면 val_id에 guest값을 넣고, val_pw에 123qwe값을 넣는다. val_id와 val_pw를 각각 base64인코딩을 한 후 숫자를 특수문자로 바꾸고 쿠키값으로 저장을 한다.user와 password 쿠키값을 받아서 특수문자를 숫자로 바꾸는 동작을 수행하고, base64 디코딩을 합니다. 마지막 if문장을 보면 base64로 디코딩을 했을 때 id와 password 값이 admin이면 문제 풀리는 것을 알 수 있다.그러므로 admin을 base64로 인코딩한 값을 id, password 쿠키값으로 넣으면 문제가..
39번 문제이다. 소스코드를 보자. "index.phps"가 주석으로 되어있고, post 방식으로 index.php로 입력값을 전송하는 것을 알 수 있다. index.phps로 접속해본다.$_POST는 클라이언트로 부터 폼 데이터를 갖고와서 PHP스크립트 내의 변수에 값을 넣을 때 사용str_replace로 필터링을 하며, substr로 입력값 길이 제한을 두었다. (0~15에 해당되는 문자열 반환)자세히 보면 id='$_POST[id]"로 싱글쿼터(')가 없는 것을 확인할 수 있다. 그럼 싱글쿼터 값을 넣어서 쿼리 전송을 하면 되지만 ''으로 변환되는 것을 알 수 있다.문제를 풀어보면 15번째 자리에 싱글쿼터를 사용해서 ''로 바뀌더라도 15번째까지만 반환하기 때문에 문제가 없다. good ' 문제가 ..
38번 문제이다. Log injection에 대한 문제인 것 같다. 소스코드를 보면 "admin.php"가 주석 처리 되어있다. "admin.php"로 들어가게 되면 로그들이 나온다. "admin.php"에서 소스코드를 보면 힌트가 admin인 것을 알 수 있다."admin" 입력했더니 위와 같이 "you are not admin"이 index.php에서 나왔다. ("admin"값을 넣을 시 index.php로 가는 것을 주소창에서 알 수 있음)임의의 값 "aaaaa"를 입력해본다. admin.php에 자신의 아이피와 입력값이 출력되는 것을 확인할 수 있다. 다른 로그 값과 비교해보면 로깅 형식은 'IP:입력값'인 것 같다. 자신의 IP:admin이렇게 값을 입력했더니 문제가 풀렸다.
25번 문제 화면입니다. url을 보면 "?file=hello"입니다. 이 부분에 "hello" 대신 "password.php"로 해주면 문제가 풀릴 것 같다. "password.php"를 입력했지만 값의 변화가 없다. 파일명을 보면 "hello.txt"에서 .txt가 생략 되었다는 것을 보면 "password.php.txt"로 변환되는 것을 짐작할 수 있다.메모리에 text가 저장이 될 때 저장되는 값은 test\0 \0은 NULL값을 의미한다.그러므로 password.php에 NULL값을 주면 되므로 URL 인코딩에서 %00을 사용하면 문제는 풀린다.
27번 문제 화면이다. 이 문제는 SQL INJECTION을 사용하는 문제인 듯하다.우선 소스 코드를 본다. index.phps로 들어가본다. no 값에 따라 guest가 되거나, admin인 되는 것 같다. id는 guest로 정해져 있지만 no의 값을 admin의 no로 바꿔보자.1과 2를 입력 했을 때 no=1 일 때 guest라는 것을 알 수 있다. 그럼 no=2일 때 admin이 될거라고 가정해서 문제를 풀어보자.쿼리문을 사용하여 no가 2일 때를 만들면 2 or no like 2 위 처럼 실행을 하면 query error가 뜨는 것을 알 수 있다.2) or no like 2 -- select id from challenge27_table where id=’guest’ and no=(2) or ..
14번 문제를 들어가면 위와 같은 화면이 나온다.어떤 값을 넣어도 Wrong의 값이 나온다.소스코드 창에 들어가본다. ck() 함수를 풀면 문제가 풀릴 것 같다. var ul=document.URL; // 현재 URL 정보를 ul에 넣음 (document.URL-현재 HTML문서에 URL 정보를 가져옴)ul=ul.indexOf(" .kr"); // ul의 값에 있는 문자열에서 .kr의 위치 값을 ul에 넣음 (indexOf("검사할 문자", 시작순서) 0부터 순서를 정함)ul=ul*30; // ul에 있는 값을 30과 곱하고, 결과값을 ul에 넣음if(ul==pw.input_pwd.value) { alert("Password is "+ul*pw.input_pwd.value); } else { alert(..
SELECT [ALL | DISTINCT] 컬럼(속성)명 FROM 테이블명 [WHERE 조건식] [GROUP BY 컬럼명 [HAVING 조건식]] [ORDER BY 컬럼명] GROUP BY 컬럼명 ORDER BY 컬럼명 SELECT 검색 결과에 포함시킬 컬럼의 목록을 나열 FROM 검색 대상이 되는 테이블 나열WHERE 결과 테이블의 튜플(레코드)이 만족해야하는 조건 기술 GROUP BY 결과 테이블의 튜플을 그룹화할 때 GROUP BY 절에서 명시한 속성값과 동일한 튜플을 그룹화.HAVING GROUP BY 절로 그룹을 묶을 때 그룹이 만족해야 하는 조건 ORDER BY 검색 결과의 정렬 방법(오름차순 or 내림차순) 지정
bool file_exists (string $filename) - 파일 존재여부를 판단하는 함수. - 파일이 있으면 true, 없으면 false를 반환.예시 12345678910csbool is_dir (string $filename) - 디렉토리인지 판단하는 함수 - 디렉토리이면 true, 아니면 false를 반환예시 1234567Colored by Color Scriptercsbool is_file (string $filename) - 파일인지 판단하는 함수 - 파일이면 true, 아니면 false를 반환예시 1234567Colored by Color Scriptercs bool is_readable (string $filename) - 읽기 가능한 파일(디렉토리)인지 판단하는 함수 - 읽기 가능한..