본문 바로가기
워게임/LoS

[los 문제풀이] succubus

by 그적 2021. 3. 7.

 

아래 코드에서 GET방식으로 보낸 id와 pw값이 쿼리문에 들어가고, 해당되는 id값을 가져온다.

이때의 id값은 뭘 가져와야 할까? 문제가 풀리는 if문을 가져오면, 가져온 id값이 참일 경우에 문제가 풀린다.

 

따라서 우리는

1. select에 있는 작은따옴표를 우회한다.

2. id 값이 참이 되도록 쿼리문을 작성한다.

 

작은따옴표 우회는 작은따옴표 앞에 \(역슬래쉬)를 붙여 문자로 인식되도록 하는 것이다. 무슨 말이냐면, preg_match에서 필터링되는 특수문자를 입력할 때 \를 붙이는 것처럼 쿼리문 안에서 특수문자를 문자로 인식시키려면 역슬래쉬를 사용하면 된다.

 

그럼 id에는 \를 입력하면 아래와 같이 pw의 첫 번째 작은따옴표까지 한 문자로 인식하게 된다.

pw에는 참 값과 주석이 포함되면 풀린다.

or 1=1 %23

or 1=1;%00

or 1=1 --%20

or true %23

or true;%00

or true --%20

 

전체 payload : ?id=\&pw=or 1=1 %23

 

 

'워게임 > LoS' 카테고리의 다른 글

[los 문제풀이] nightmare  (0) 2021.03.24
[los 문제풀이] zombie_assassin  (0) 2021.03.08
[los 문제풀이] assassin  (0) 2021.02.15
[los 문제풀이] giant  (1) 2020.08.14
[los 문제풀이] SKELETON  (0) 2020.04.29

댓글