일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- AjouUniv #Whois #정보보안교육 #Pwnable
- Whois #정보보안교육 #Ajou
- N0NamedWargame #mandu-mandu #forensics #left_side_B
- webhacking
- AjouUniv #SuniNatas #Web
- N0NamedWargame #mandu-mandu #forensics #길에서주어온만두
- AjouUniv #Whois #정보보안교육
- Whois #AjouUniv #정보보안교육 #Pwnable
- Whois #정보보안교육 #AjouUniv #Pwnable
- Allocation Starategy
- 사이버보안학과
- Memory Virtualization
- SuNiNaTaS #mandu-mandu #AjouUniv #forensics
- N0NamedWargame #AjouUniv #mandu-mandu #forensics
- python
- N0Named
- Dreamhack
- hackerschool
- Whois #정보보안교육 #webhacking.kr
- 코딩도장
- 아주대학교 #Whois #정보보안교육 #4주차
- Pwnable
- HackCTF
- systemhacking
- Variable Partition
- ftz
- 스케줄링
- 아주대학교
- 운영체제
- AjouUniv #Whois #Reversing
- Today
- Total
chipkkang9's story
[Suninatas] 1번 문제풀이 본문
SuniNatas 문제 1번 내용은 다음과 같다.
첫 번째 문제이니만큼 어려운 문제같진 않다.
조건문을 읽어보니 result에 admin이라는 문자열이 입력되면 pw가 출력되는 형태인 듯하다.
다만, 위의 코드가 어떤 프로그램에서 실행되는 코드인지는 알 수 없었기 때문에,
개발자 툴을 이용했다.
해당 웹 페이지에 Sources 화면을 들어가 본 결과,
.asp의 확장자로 되어있는 페이지임을 알 수 있었다.
ASP란?
액티브 서버 페이지(Active Server Pages)의 줄임말로,
마이크로소프트사에서 동적으로 웹 페이지들을 생성하기 위해 개발한 서버 측 스크립트 엔진이다.
자세한 내용은 스핀오프로 다뤄보겠다.
우선 asp의 확장자로 이루어진 페이지임을 알게 되었으니,
해당 페이지에 적혀있는 Replace, Mid 함수와 & 연산자를 검색해보았다.
Replace함수는 '문자열 치환' 함수로써,
Replace(변수, 변경대상문자열, 변경하려는 문자열)
의 형식으로 사용하면 된다.
따라서,
result = Replace(str,"a","aad")라는 코드의 의미는
result에 이전에 입력받은 str속에 있는 a를 aad로 치환하라는 의미이다.
Mid함수는 '문자열 자르기' 함수로써,
Mid(변수, 자르기 시작할 위치, 개수)
의 형식으로 사용하면 된다.
이 밖에도, Left, Right 함수도 존재하는데 아마 사용 예를 보면 이해될 것이다.
예를 들어, 미리 입력받은 문자열 str이 존재할 때
Left(str,3)의 의미는 str의 왼쪽부터 3개의 문자열을 의미하고,
Mid(str, 4, 6)의 의미는 str의 4번째 위치부터 6개의 문자열을 의미하며,
Right(str, 4)의 의미는 str의 오른쪽부터 4개의 문자열을 의미한다.
마지막 &연산자는 문자열을 붙이는 연산자로써,
str1에 Hello, str2의 World!가 들어가 있다면,
str = str1&str2라는 코드로 작성이 되어있다 하면
str에는 HelloWorld! 문자열이 저장되게 된다.
코드가 위에서 아래로 흘러가면서 해독되므로,
우리는 admin 문자열을 만들어주기 위해 반대로 거슬러 올라가면서 역추적을 해주면
정답은 "ami"가 된다.
출처
ASP 문자열 치환(Replace)
asp replace 함수입니다. 변수에 저장된 값을 중 특정 문자를 원하는 값으로 변경하기 위한 함수입니다. 따옴표 처리(SQL Injection 방어 소스) 시 많이 쓰입니다. ex) Replace(tmp, "'", "") 사용법은 아래와
h5bak.tistory.com
[ASP] 문자열 자르기 - Mid, Left, Right
str = "abcdefghijk" response.write LEFT(str, 3) & " " // 왼쪽에서 3개의 문자열을 가져온다 response.write MID(str, 5, 2) & " " // 5번째위치부터 2개의 문자열을 가져온다. response.write RIGHT(str, 4..
mrb18.tistory.com
http://egloos.zum.com/paulownia/v/3869122
[ASP] ASP 기본문법 (비교연산자와 논리연산자)
연산자 : VB 스크립트의 연산자는 총 네 개의 그룹으로 산술연산자, 연결연산자, 비교연산자, 논리연산자등을 제공하고 있다. 1) 산술연산자 산술연산은 덧셈, 뺄셈 등의 사칙연산, 지수연산 그리
egloos.zum.com
액티브 서버 페이지 - 위키백과, 우리 모두의 백과사전
액티브 서버 페이지(Active Server Pages, 줄여서 ASP, 과거 명칭: 클래식 ASP/Classic ASP, ASP 클래식/ASP Classic)는 마이크로소프트사에서 동적으로 웹 페이지들을 생성하기 위해 개발한 서버 측 스크립트 엔
ko.wikipedia.org
'CTF > Web' 카테고리의 다른 글
[HackCTF] Hidden 문제 write-up (0) | 2022.02.09 |
---|---|
[HackCTF] / 문제 write-up (0) | 2022.02.09 |
[Lord of SQLInjection] wolfman, darkelf, orge 문제 write-up (0) | 2022.01.23 |
[Lord of SQLInjection] orc 문제 Write-up (0) | 2022.01.20 |
[Whois 정보보안교육] Webhacking.kr 21번 (write-up) (0) | 2021.09.20 |