정보보안/DreamHack 썸네일형 리스트형 [Wargame]rev-basic-8(reversing) [Wargame]rev-basic-7(reversing) [Wargame]basic_exploitation_000,001(system) 문제는 다음과 같다 basic_exploitation_000 익스플로잇해서 쉘을 실행한후 flag를 읽으면 된다. 문제파일을 받아보면 buf의 주소를 알려주고 scanf를 하는것으로 버퍼오버플로우 공격을 시행하라는 것이다. pwntool을 이용하여 쉘코드를 버퍼의 맨위에 놓고 나머지를 아무문자로 채워넣는다 쉘코드(26자) + 106자 = 버퍼크기(128) + 스택포인터(4) 그 다음 return address에 쉘코드가 들어갈 명령어의 주소를 보내며 실행한다. basic_exploitation_001 위와 같은 방향의 문제이다. read_flag라는 함수가 이미 만들어져 있어 이를 실행하면 되는 것 같다. pwndbg로 read_flag함수의 주소를 알아내어 같은 버퍼오버플로우 코드를 실행했다. [Wargame]XSS(web) 예전에 풀어봤던 XSS를 복습삼아 다시 풀어봤다. Flag값을 알아내는 문제이다. 다음과 같은 페이지가 있고 vuln page는 XSS공격에 취약함을 alert(1);을통해 보여주고 있다. 코드를 보면 check_xss에서 쿠키값에 FLAG값을 넣어서 보내주고 있으므로 쿠키값을 알아내는 문제라고 볼 수 있다. 그리하여 location.href : url 업데이트 코드를 입력하면 다음과같이 flag값이 나온다. [Wargame]rev-basic-5, 6(reversing) [Wargame]rev-basic-4(reversing) [Wargame]blind-command(web) 이 문제를 풀어보려고 했다. 다음과 같은 창이 나와 ?cmd= "" 에 실행 될거라고 생각했다. 오류가 나지는 않아 코드를 열어보았다. 코드를 보면 요청 방식이 GET이면 안된 다는 것 같았다. 하지만 어떻게 요청방식을 바꾸는지 몰라서 답을 보게 되었다. 결과적으로는 요청방식을 바꾸는 것 뿐만아니라 출력하게 만드는 것도 문제였던것이다. BurpSuite와 Curl을 이용해서 위 문제를 해결 할 수 있었다. 먼저 GET /?cmd=ls 였던 이부분을 BurpSuite에서 Intruder 기능을 써서 GET을 OPTIONS로 바꿔 GET외에 무슨 요청이 가능한지 알아보았다. Allow : GET, OPTIONS, HEAD 라고 되있는걸 보니 HEAD로 요청을 보내면 필터링에 걸리지 않을 것이다. curl과 .. [Lecture]블록암호 : 운영모드(Cryptography) Padding 패딩 : 입력의 길이를 블록의 배수에 맞게 하는 방법 Bit Padding : 평문이 채우지 못하는 비트 최상위를 1 나머지를 0 ex) 1101 1101 11 -> 1101 1101 11 (10 0000) 문제점 : ex) 1101 1000 다음과 같은 평문이 있으면 뒷부분을 패딩처리 하기때문에 1101 1000 (1000 0000) 이렇게 보내야 한다. Byte Padding ANSI X.923 : 바이트를 보통 0 으로 채우고 마지막 바이트에 패딩의 길이를 넣는것 ex) 99 99 (00 04) 위와 같은 문제점이 역시 있음 Byte Padding PKCS#7 : 추가할 패딩의 크기로 블록을 채우는 패딩 기법 ex) 99 99 (04 04) Mode of Operation 운영모드 :.. 이전 1 2 다음