[LOS] Level15: succubus

두비니

·

2020. 1. 13. 01:42

 

Lord OSQLInjection: lv.15 succubus

 

 

 

 

succubus입니다.

이 문제는 둘다 싱글쿼리를 막고있고, id의 값만 있으면 풀립니다.

평소같이 sql injection을 하면 되겠지만, 싱글쿼리를 어떻게 해결해주면 좋을까요?

 

 

preg_match문을 주의깊게 봅시다.

 

  if(preg_match('/\'/',$_GET[id])) exit("HeHe");

 

보면 싱글쿼리 앞에 \가 붙어있죠? (코드블럭 안에 들어있어서 / 좌우돌림한것처럼 보이네요)

\는 많은 언어 안에서 "문자열 자체"로 인식되게끔 합니다.

그냥 싱글쿼리를 넣으면 이게 문자열 작은따옴표로 쓰고싶었는지, 쿼리를 나눠주는 싱글쿼리인지 구분하지 못하기 때문에 \를 앞에 입력하면 뒤에 있는 싱글쿼리를 문자열로 인식합니다.

 

이를 이용해서 \를 id로 입력을 하면

 

select id from prob_succubus where id='\' and pw=''

 

가 되므로 id는 ' and pw= 가 되고, 그렇다면 pw부분에 항상 참이 되는 문장을 넣으면 끝나겠죠??

 

 

 

 

 

끝!

 

'War Games > Lord of SQLInjection' 카테고리의 다른 글

[LOS] Level17: nightmare  (0) 2020.01.15
[LOS] Level16: zombie_assassin  (0) 2020.01.14
[LOS] Level14: assassin  (0) 2020.01.12
[LOS] Level13: giant  (0) 2020.01.11
[LOS] Level11: darkknight  (0) 2020.01.09