swlug

swlug 2학년_1학기_2주차_웹해킹_과제

memo1240 2025. 4. 2. 18:28

swlug 2학년_1학기_1주차_웹해킹공

공통문제 1

 

 

https://webhacking.kr/challenge/bonus-10/

 

Chellenge 39

 

webhacking.kr

 

 

문자 'aa'를 입력해보았지만, 오류 메세지나 딱히 다른 메세지가 뜨지 않음

밑 view-source의 링크를 들어가 봄.

$_POST['id'] = str_replace("\\","",$_POST['id']);
    
$_POST['id'] = str_replace("'","''",$_POST['id']);

 

위 코드를 통해 역슬래시는 없애고 '는 ''으로 변경한다는 것을 알 수 있음.

 

$result mysqli_fetch_array(mysqli_query($db,"select 1 from member where length(id)<14 and id='{$_POST['id']}"));

 

id는 15글자이며, 대괄호 앞에 있는 따옴표의 짝이 맞지 않음

 

위의 힌트들을 통해 "aa            '"를 작성해서 제출함.


 

2학년 문제 1 (등록예정)

https://dreamhack.io/wargame/challenges/1113

 

php7cmp4re

Description php 7.4로 작성된 페이지입니다. 알맞은 Input 값을 입력하고 플래그를 획득하세요. 플래그 형식은 DH{} 입니다.

dreamhack.io

 

페이지에 접속하면 input값을 입력하는 칸이 두 개 주어짐

아무 값이나 입력해보았더니 Try again.. 

일단 페이지 소스코드를 확인 해 보았더니

웹프로그래밍에서 보았던 익숙한 구조가 눈에 띈다.

하지만 별다른 힌트는 없으니 넘어간다

 

별도 파일이 첨부되어 있다는 걸 뒤늦게 알았다..

input_1. 길이가 4보다 작은지 확인하고,  

input_1의 값이 "8"보다 작고, "7.A"보다 작으며, "7.9"보다 커야 한다.  

이 때 숫자 비교가 아닌 문자 비교를 한다.

 

input_2. 길이가 3보다 작아야 하며, 1보다 커야 한다

값은 74보다 작고 "74"보다 커야 한다. 

 

input1,2 둘 다 문자열이고,

아스키코드를 사용해야함을 알 수 있다.

 

input 1 

7의 아스키코드 값은 55이고 8의 아스키코드 값은 56이다.

"7.<"는 "8"보다 작고, "7.A"보다 작으며 "7.9"보다 크다

 

input 2

74보다 작고 "74"의 아스키 값 55 52 보다 커야한다.

input 2는 74와 55 52 사이에 있는 두 자리 문자열임을 알 수 있다.

-> 그래서 "7J"라는 55 74 사이의 두 자리 문자열을 입력해보았다.

 


2학년 문제 2

https://dreamhack.io/wargame/challenges/850

 

Flying Chars

Description 날아다니는 글자들을 멈춰서 전체 문자열을 알아내세요! 플래그 형식은 DH{전체 문자열} 입니다. ❗첨부파일을 제공하지 않는 문제입니다. ❗플래그에 포함된 알파벳 중 x, s, o는 모두

dreamhack.io

 

_과제

들어가자 마자 알파벳들이 막 돌아다닌다.

검사 (F12)를 통해 날아다니는 알파벳을 알아볼 수 있었다.