GaGe

Web hacking 39 본문

SISS (2017-2018)/웹해킹(순서대로X)

Web hacking 39

Sorrel 2018. 5. 2. 11:18

Web hacking 39

 

 

 

 

 

 

 

 

39번 문제 화면입니다.

소스코드로 들어가서 주석 처리된 문구로 다시 힌트 소스로 들어갔습니다.

 

 


 



39번 코드입니다.


코드를 보니 답 제출 칸에 적어서 제출하면 POST에 id값으로 받아지는 것 같군요.

 

str_replace는 앞에 문자열을 뒤의 문자열로 변환한다는 뜻입니다.

 

\\를 쓰면 공백으로 바뀌고

' 는 ''로 바뀌는 것입니다.

 

substr은 문자열을 잘라서 반환하는 함수이데 0,15인 것을 보니

0번째 문자열부터 15-1 번째 문자열까지 잘라서 반환하나 봅니다.

 

"select 'good' from zmail_member where id='$_POST[id]"

 

여기서 제일 중요한 부분입니다.

구문을 보니 맨 뒤에 ' 하나가 부족합니다.

 

제출칸에 '를 써주면 뒤에 가서 붙어서 구문이 완성되어 good을 반환할 것 같은데

 

 

제출칸에 '을 쓰면 ''가 되어 위 문자열이 다시 미완성이 됩니다.

'를 오로지 ' 하나만 제출하게 하는 방법이 무엇이 있을까요?

 

아까 문자열 0부터 15-1까지 잘라서 반환하는 함수를 이용하면 될 것 같습니다.

 

 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ ' '

 

위와 같이 15번째(문자열 14번)에 '을 넣어준다면

15번째에 ', 16번째에 '가 추가로 생길 것입니다.

 

하지만 substr 때문에 16번째의 '값은 잘리고 첫번째부터 15번째까지만 반환될 것입니다.

 

 

따라서 '가 ''가 되어도 앞에 있는 '만 잘려서 반환되는 것이죠.

 

한번 15번째에 '를 넣어보겠습니다.

다른 앞에 문자열은 공백으로 넣었습니다.

 

 

 


 

 


'SISS (2017-2018) > 웹해킹(순서대로X)' 카테고리의 다른 글

Web hacking 24  (0) 2018.05.13
Web hacking 38  (0) 2018.05.04
Web hacking 18  (0) 2018.04.29
Web hacking 17  (0) 2018.04.10
Web hacking 16  (0) 2018.04.07
Comments