전체 글(303)
-
FTZ level20
이번시간에는 level20에 대하여 풀어보겠습니다 공부를 하는 입장이니 틀린게 있어도 양해부탁드리겠습니다 전체 디렉토리와 파일목록을 확인하니 attackme가 있습니다 힌트파일을 열어주었더닌 소스코드를 확인했습니다 * chat형 blesh배열 20bytes할당 setreuid = level 20 id fgets함수로 79bytes의 입력값을 bleh에 할당 printf로 bleh 출력 * 여기서 이상한점이 bleh버퍼가 80bytes로 선언이 되어있는데 입력을 79bytes 제한을 해버려서 버퍼오버플로우로 이용해서 ret까지 덮어 쓸 수 없을 것 같습니다... 하지만 printf(bleh)부분에서 포맷스트링버그가 발생한다고 합니다 * 포맷스트링버그 : 검사되지않은 사용자입력을 포맷스트링으로 입력하여 %s..
2022.03.13 -
Comparing C to machine language
복습하는 와중에 c언어를 어셈블리어로 잘 풀어 올린 영상이 있어서 공유하려고 합니다 영상에 나오는 내용을 실습을 해보아서 간단하게 소개도 해볼까합니다... 원래는 gdb형식이 intel로 변환해서 보는게 편했는데 이번에는 at&t형식으로 해보겠습니다 [gdb형식이 달라서 영상처럼 안나오는점 양해부탁드리고 공부하는 입장이라 틀린게 있어서 양해부탁드리겠습니다 (:] https://www.youtube.com/watch?v=yOyaJXpAYZQ main+16 = 0xfffffffc에 0[0x0]대입 -> 0xfffffffc = x main + 23 = 0xfffffff8 에 1[0x1]대입 -> 0xfffffff8 = y main+33부터 main+41까지는 printf부분인것같네요... main+33에서 0..
2022.03.12 -
SQL ZOO[MySQL] JOIN Quiz 2022.03.11
-
SQL ZOO[MySQL] The JOIN operation
드디어 대망의 join입니다 sql zoo의 남은 마지막 문제들도 모두 join관련 문제들이니 중요한거겠죠... join 연산방법 -> SELECT FROM JOIN ON (table1.key=table2.key) hint를 보면 중복값을 허용하지않는 DISTINCT와 !=연산자를 사용하라고 나옵니다 팀정보가 있는 game.team1/team2와 goal.teamid에 접근하기 위해 game테이블과 goal테이블의 공통된 키값인 id, matchid을 이용하여 조인을하고 WHERE조건문을 걸어 team1이나 team2에 GER을 입력하여 독일과 상대한 팀을 조회하고 AND 연산자를 추가하여 독일팀이 독일팀과 상대하는 것을 방지하기 위해 !=연산자를 통해 독일팀을 제외시켰습니다 teamname 정보가 있는..
2022.03.11 -
SHELL CODE
ftz를 풀면서 shellcode를 이용한 문제가 많아서 한번 정리해보면 좋을것 같다는 생각에 작성했습니다 32bit shellcode 6bytes shellcode \x31\xc0\xb0\x01\xcd\x80 25bytes shellcode [가장 base] \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80 26 Bytes Shell Code [scanf 우회] \x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x31\xc9\x31\xd2\xb0\x08\x40\x40\x40\xcd\x80 41 Bytes Shell ..
2022.03.10 -
FTZ level19
이번시간에는 level19에 대하여 풀어보겠습니다 공부를 하는 입장이니 틀린게 있어도 양해부탁드리겠습니다 먼저 ls -al을 입력하여 디렉토리과 파일 목록을 확인해보았고 이번에도 attackme 파일이 있네요 hint파일을 열어주었는데 저번레벨보다 상당히 짧은 코드가 있습니다 char 형 buf에 20bytes를 할당하고 gets함수를 통해 buf를 입력받습니다 -> 버퍼오버플로우 취약점발생 그리고 printf함수로 buf를 출력해줍니다 기존것과 다른점은 setreuid를 실행시켜주는 어떠한 것도 없네요 쉘코드를 이용해서 접근을 해야될 것 같습니다 gdb를 통해 attackme를 실행시켜줍니다 main+3에서 40bytes[0x28] 공간을 확보해주는데 위에서 선언한 buf는 20bytes이므로 남은 2..
2022.03.10