보안이란게 직업으로 삼는건 별로이긴 한데ㅇㅅㅇ
사실 일반 개발자들도 보안 알면 좋긴하지
코테 글도 좀 올라오는 프갤이니 ctf 문제 중에 코테 냄새나는 문제가 하나 기억나서 해볼거임ㅇㅅㅇ
아 ctf는 대충 해킹 대회인데 문제 안에 flag 라는 특정 문자열을 찾는 거임ㅇㅅㅇ
아래가 문제임ㅇㅅㅇ(웹사이트)
보면 대충 코테 웹 사이트 처럼 보이고
저기 "Run Code"를 클릭하면
이렇게 예제 3개 중에 몇개 통과됐는지 나옴
참고로 3개 다 맞춘다고 플래그를 주진 않음..ㅇㅅㅇ
암튼 우리가 코드를 올리면 서버에서 컴파일과 실행을 할테니
보통 파일로 저장돼 있는 flag 를 얻기 위해
파일을 읽는 코드를 넣어 출력해야 하는 문제라는걸 알수있음ㅇㅅㅇ
코드를 몇개 실행해보면
이렇게 특정 키워드가 막힌걸 볼수있음
대충
system
exec
open
read
#
...
이렇게 막혀있는걸 확인했는데
소스코드를 보니 (물론 대회 중에 소스코드를 제공하진 않았음ㅇㅅㅇ)
include
system
exec
open
fscanf
read
fread
fget
getc
asm
pragma
#
위의 두개를 이용하면
??=define oo fop??=??=en
이렇게 우회하여 fopen 사용이 가능함ㅇㅅㅇ
이제 디렉토리를 뒤져서 flag 가 적힌 파일을 찾고 그 파일을 내용을 읽으면 됨ㅇㅅㅇ
그런데 바로 출력할 수 있는 방법이 없자나?ㅇㅅㅇ
보통 리버스쉘 연결해서 푸는데 네트워크 연결이 안됨 (컨테이너가 분리돼 있음)
따라서 "Run Code" 를 누르면 나오는 결과를 이용해서 한 비트씩 빼와야됨ㅇㅅㅇ
관심있는 사람은 직접 짜보길ㅇㅅㅇ
Tutorial 문제를 제외하면 가장 많은 사람들이 풀었던 문제였다ㅇㅅㅇ
여기 있는 문제들을 다 풀수있다?
보안전문가ㅆㄱㄴ
최신 C++에서는 삼중자가 삭제되었
백준에서조차 c99 따로 있고.. 삼중자 말고 우회할수 있는게 있긴함ㅇㅅㅇㅋㅋ
정보글 개추
?
해당 댓글은 삭제되었습니다.
해당 댓글은 삭제되었습니다.
분야를 넓혀봐요ㅇㅅㅇ
포넙도 바이너리 좀 보긴 해야할텐데..ㅇㅅㅇ
캐리는 다른 사람이 해줄테니 양수이기만 하면 되지 않을까요
기초만 익혀도 툭툭 던지는 게 도움이 많이 되지 않나요ㅇㅅㅇㅋㅋ
보안 안할래요 퉷 ㅡㅅㅡ
나이거 10등했는데