Site(96)
-
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 -
SQL ZOO[MySQL] Nested SELECT Quiz 2022.03.04
-
SQL ZOO[MySQL] SELECT within SELECT Tutorial
Argentina와 Australia의 대륙과 일치하면 출력하도록 서브쿼리를 이용하여 continent가 일치한지 비교하여 출력하였습니다 유럽의 국가의 인구를 독일인구의 백분율로 계산하여 표시하고 ROUND함수를 사용하여 반올림하고 '%' 문자열을 붙여주기 위해 CONCAT 함수를 이용하였습니다 * CONCAT(문자열1, 문자열2) -> 문자열1 + 문자열2 * * ALL(서브쿼리 OR 값) - + >= or > or < or
2022.03.04