전체 글(303)
-
6027
문제 설명 10진수를 입력받아 16진수(hexadecimal)로 출력해보자. 예시 a = input() n = int(a) #입력된 a를 10진수 값으로 변환해 변수 n에 저장 print('%x'% n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력 참고 10진수 형태로 입력받고 %x로 출력하면 16진수(hexadecimal) 소문자로 출력된다. (%o로 출력하면 8진수(octal) 문자열로 출력된다.) 10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고, 16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다. 16진수 a는 10진수의 10, b는 11,..
2022.03.08 -
FTZ level13
이번시간에는 level13에 대하여 풀어보겠습니다 공부를 하는 입장이니 틀린게 있어도 양해부탁드리겠습니다 이번에도 먼저 전체 디렉토리와 파일을 확인해 보니 attackme파일이 이번에도 있습니다 cat hint를 통해 힌트파일 보니 c코드가 나와있습니다 여기서도 strcpy함수에서 buf에서 1024보다 큰값이 들어가면 버퍼오버플로우취약점이 발생합니다 그런데 전 level과 다르게 i값이 0x1234567이 아니면 프로그램을 강제종료시키는 조건이 있는데 이 부분은 버퍼오버플로우가 발생하는지 확인하는 역할을 하는것 같아서 나중에 페이로드를 작성할때 신경써주어야 될 것 같습니다 * iong형 변수 i에 0x123456 선언 char형 배열 buf에 1024byte 할당 level14의 id값 argc가 2이..
2022.03.07 -
FTZ level12
이번시간에는 level12에 대하여 풀어보겠습니다 공부를 하는 입장이니 틀린게 있어도 양해부탁드리겠습니다 전체 디렉포리와, 파일을 조회해보았습니다 level12이와 같이 attackme라는 있고 setuid가 걸려있는 것을 확인했습니다. attack파일을 실행 시켰더니 위와 같은 소스코드가 나옵니다 level11에서 언급했던거같이 strcpy처럼 get함수도 변수의 범위를 검사하지않아 저희가 256byte를 초과하여 입력하면 버퍼오버플로우가 발생할 가능성이 있을것 같습니다 아마 접근방식이 level11과 동일할것 같습니다 * char str[256] : char형 문자열을 256바이트만큼 할당함 setreuid(3092, 3092); -> level12의 권한id값임 printf : 출력 gets(str..
2022.03.06 -
SQL ZOO[MySQL] SUM and COUNT Quiz 2022.03.06
-
SQL ZOO[MySQL] SUM and COUNT
* 집계함수 종류 - SUM(컬럼명) : 총합 - AVG(컬럼명) : 평균 - COUNT(컬럼명) : 총 개수 - MIN(컬럼명) : 최소값 - MAX(컬럼명) : 최대값 cf) 집계함수는 다른 컬럼들과 섞어서 사용 [X] -> SELECT name, area, SUM(population) [X] 집계함수는 WHERE절에도 올 수 없음 -> 집계함수를 사용하는 GROUP BY절보다 WHERE절이 먼저 수행되기 때문 [SQL연산의순서 : FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY * * DISTINCT 함수 -> 중복값 제거 * cf) GROUP BY () == GROUP BY NULL * HAVING : GROUP BY로 묶인 각각의 그룹들 중..
2022.03.06 -
ASCII Table
아스키코드는 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계이며 0x00(0)부터 0x7F(127)인 128개의 문자조합을 갖는 문자체계입니다. 8번째 비트는 parity bit으로 통신상의 에러나 변조 가능성의 검출을 위해 사용됩니다 구성요소로는 제어문자, 공백문자, 구두점, 숫자, 알파벳으로 구성되어있으며 많은 프로그래밍 언어에서도 사용되고 있습니다. * 자주 사용되는 아스키코드 : A-Z(65-90), a-z(97-122), 0-9(48-57), NULL(0), 공백(32) *
2022.03.06