Description
Category: Misc/Secure Coding
Source: TAMUctf 2019
Points: 478
Author: Jisoon Park(js00n.park)
Description:
https://gitlab.tamuctf.com/root/pwn
Difficulty: easy
Write-up
특이하게 Secure Coding을 확인하는 문제이다. 문제에서 주어진 gitlab 페이지로 가보면 (팀 계정으로 로그인 할 수 있다.) 문제 코드가 있고, 이를 fork해서 수정한 후 commit을 하면 된다는 안내가 있다.
Project 코드를 fork 한 후, 문제 코드를 살펴보자.
#include <stdio.h>
#include <stdlib.h>
void echo()
{
printf("%s", "Enter a word to be echoed:\n");
char buf[128];
gets(buf);
printf("%s\n", buf);
}
int main()
{
echo();
}
printf()의 format에는 constant string만 들어가서 별다른 특이점이 없어 보이는데, gets() 함수를 이용해서 사용자 입력을 받고 있는 부분이 거슬린다.
이 부분을 아래와 같이 수정하고 commit 해보자
fgets(buf, 128, stdin);
문제 안내에서 알려준대로 commit한 후 CI/CD 메뉴에 가보면 flag를 확인할 수 있다.
Flag : gigem{check_that_buffer_size_baby}
'writeups > Coding|misc.' 카테고리의 다른 글
plz variable (0) | 2019.11.25 |
---|---|
input (0) | 2019.11.25 |
algo-auth (0) | 2019.11.25 |
Run me! (0) | 2019.11.23 |
JPEG file (0) | 2019.11.23 |