Sh4n3e
문제는 아래와 같다. [golem@localhost golem]$ cat darkknight.c/* The Lord of the BOF : The Fellowship of the BOF - darkknight - FPO*/ #include #include void problem_child(char *src){char buffer[40];strncpy(buffer, src, 41);printf("%s\n", buffer);} main(int argc, char *argv[]){if(argc
스크립트 코드를 분석해보자. id와 pw가 같다면 You can’t join! Try again이라는 경고문이 뜨게 된다. 하지만 이것이 아니라면 submit()함수를 호출하게 된다. 여기서 우리는 Join을 위해서는 id와 pw가 같아야 한다는 힌트를 봐야 한다. Paros를 통해서 Request를 변조해보자. 이렇게 request하면 다음과 같은 결과를 얻어낼 수 있다.
이제부터 시간이 날때마다 SuNiNaTaS의 풀이방법에 대해서 작성해놨던 WriteUp을 가지고 포스팅해보고자 한다... 간단한 소스코드 분석 문제 str = Request(“str”) // 입력 받은 str을 str변수에 저장 If not str = “” Then // 받은 문자열이 공백이 아니라면 if문의 참을 알림 result = Replace(str, “a”, “aad”) // a를 aad로 교체해서 result에 저장 result = Replace(result, “i”, “in”) // i를 in으로 교체해서 result에 저장 result1 = Mid(result,2,2) // result의 문자열을 2번째부터 2개를 result1에 저장함 result2 = Mid(result,4,6) // ..