써니나타스 [Web-1번 문제풀이]

2025. 11. 8. 18:00·CTF/써니나타스

출처: 써니나타스 Web 1번 문제풀이 이미지

 

<소스코드 분석>

str = Request("str")

request가 str이라는 피라미터 값을 가져옴.  GET 방식으로 데이터를 불러옴

Ex) example.com?str=hello 라면  str은 hello라는 값을 반환한다

 

If not str = "" then

조건문 - str 빈 문자열 "" 입력 값이 비어 있지 않으면 변환을 시작

 

result = Replace(str,"a","aad") : str에서 모든 "a"를 "aad"로 바꾼다는 뜻 여기서 Replace는 문자를 다른 것으로 대체함.

Ex) str = "apple"이면 result 결괏값으로 a-> add 이니까 addpple로 변환

 

result = Replace(str, "i" , "in:") : 이거 또한 i가 있으면 in으로 문자를 치환한다는 뜻

 

result1 = Mid(result, 2, 2)

문자열에서 두 번째 문자부터 2개의 문자 추출 

Ex) aadpple -> ad가 추출한다는 뜻

 

result2 = Mid(result, 4, 6)

문자열에서 네 번째 문자부터 6개 추출

Ex) aadpple -> pple를 반환 

 

result = result1 & result2

 

result 1 결괏값과 2의 문자열을 결합한다는 뜻

Ex) ad + pple =>  adpple이 됩니다 

 

Response.write result

변환된 값을 웹페이지에 출력함( 클라이언트 나에게 결괏값을 보여줌) 

 

If result = "admin" Then

위에 반환된 결괏값이 admin과 일치하는지 검사함 

Ex) result = 'admin ' 이면

 

pw ="?????"

위에 값이 보이게 되고

 

End if로 조건문을 종결한다

 

 

 

 

[풀이법]

 

우선 풀이를 위해 개발자도구에 console에 쓸 수 있는 브루스포스 자동화튤을 AI에게 만들어달라고 요청하였다.

요즘은 AI가 인간보다 더 빠르고 정확하게 코드를 만들어줘서 편하게 쓸 수 있는 거 같다.

// 변환 함수
function transformString(inputStr) {
    // 'a' -> 'aad', 'i' -> 'in' 변환
    let result = inputStr.replace(/a/g, 'aad');
    result = result.replace(/i/g, 'in');

    // 결과에서 특정 위치의 문자 추출
    let result1 = result.slice(1, 3);  // 두 번째와 세 번째 문자
    let result2 = result.slice(3, 9);  // 네 번째부터 아홉 번째까지

    // 두 결과를 합침
    result = result1 + result2;

    return result;
}

// 브루트포스 테스트를 위한 문자 집합
const charset = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];

// 가능한 문자열 길이 범위 설정 (1부터 5까지)
let found = false;
for (let length = 1; length <= 5; length++) {
    if (found) break;

    // 가능한 모든 문자 조합을 생성
    (function generateCombinations(prefix) {
        if (prefix.length === length) {
            // 변환된 결과 확인
            let result = transformString(prefix);
            if (result === "admin") {
                console.log(`Matching input found: ${prefix}`);
                found = true;
            }
            return;
        }

        for (let char of charset) {
            generateCombinations(prefix + char);
        }
    })('');
}

 

결과값이 ami을 도출함

해당 ami이라는 결괏값을 넣었더니

 

flag가 나옴

 

해당 flag를 얻고 문제를 풀 수 있었다. 

'CTF > 써니나타스' 카테고리의 다른 글

써니나타스 [Web-5 문제풀이]  (0) 2025.11.12
써니나타스 [Web-4 문제풀이/Burp Suite]  (0) 2025.11.11
써니나타스 [Web-4 문제풀이]  (0) 2025.11.11
써니나타스 [Web-3 문제풀이]  (0) 2025.11.10
써니나타스 [Web-2 문제풀이]  (0) 2025.11.09
'CTF/써니나타스' 카테고리의 다른 글
  • 써니나타스 [Web-4 문제풀이/Burp Suite]
  • 써니나타스 [Web-4 문제풀이]
  • 써니나타스 [Web-3 문제풀이]
  • 써니나타스 [Web-2 문제풀이]
Rookie_W
Rookie_W
Rookie 님의 블로그 입니다. IT 관련 공부(정보보안)를 하는 학생입니다. 공부하는 과정을 블로그에 남기고자 개설하였습니다.
  • Rookie_W
    Rookie 공부 노트
    Rookie_W
  • 공지사항

    • Rookie의 (정보보안) 공부 블로그 입니다.
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 글쓰기
    • 관리 페이지
    • 분류 전체보기 (120)
      • Programming (8)
        • Python (8)
      • IT 보안 (2)
        • ASCII Table(아스키 코드표) (1)
        • 개념 정리 (1)
      • 정보보안기사 (8)
        • 일반 (0)
        • 시스템 보안 (0)
        • 네트워크 보안 (2)
        • 웹 보안 (0)
        • 법률 (0)
      • Web Hacking Practice (57)
        • Webgoat (1)
        • 취약점 진단 (25)
        • 웹 모의해킹 (29)
        • portswigger web security ac.. (2)
      • Security Analysis & Researc.. (0)
      • Certifications (14)
        • 네트워크 관리사 (13)
        • cbt 오답노트 (1)
      • Education (8)
        • SK Shields Rookies (8)
      • CTF (13)
        • 써니나타스 (11)
        • CTFtime (2)
      • Markdown 사용법 (0)
      • Hacking tools (3)
      • Deep Learning & Machine Lea.. (5)
        • 데이터수집 (1)
        • 기초통계 (1)
        • 데이터전처리 (1)
        • 머신러닝_지도학습 (1)
        • 머신러닝_비지도학습 (1)
      • 라우터 (1)
      • 관리자전용 (0)
  • 링크

    • Github
    • Dreamhack
  • 인기 글

  • 태그

    WEB
    sql injection
    File Inclusion
    모의해킹
    루키즈
    XSS
    nos
    민감한 데이터 노출
    정보보안기사
    써니나타스
    Web-3
    OS injection
    파일업로드
    linux
    문제풀이
    루키즈34기
    SK쉴더스루키즈
    네트워크
    보안대책
    정보수집
  • hELLO· Designed By정상우.v4.10.5
Rookie_W
써니나타스 [Web-1번 문제풀이]
상단으로

티스토리툴바