관리 메뉴

FU11M00N

Lord of Injection troll(8)단계 본문

Web Hacking/Lord of injection

Lord of Injection troll(8)단계

호IT 2019. 10. 29. 01:44

이번엔 8단계인 트롤입니다!!

그전에 제가 네이버 웨일 브라우저를 쓰는데

블랙 모드가 생겨 변경해봤습니다.. ㅎㅎ(헛소리)

 

자 이번 단계에서 금지된 것은 '이고

쿼리문에서는  id=admin이 되어야 troll가 뜨네요!!

 

그리고 처음 보는 함수 ereg() 함수가 나왔습니다!

이 함수가 아직 뭔지는 모르겠지만 admin을 금지시키는 것 같네요.

 

그럼 먼저 ereg() 함수에 대해 알아보겠습니다.

ereg() 2가지 종류가 있는데,

 정규식으로 문자열을 찾거나, 찾은 문자열을 바꾸거나 하는 함수입니다!

하지만 ereg()의 함수는 두 가지로 나눠지는데요,

 

ereg('찾고자 하는 문자', '필터링할 문자열') 

대소문자를 구분하는 함수로 찾고자 하는 문자가 있으면 True, 없으면 False를 출력.

 

eregi('찾고자 하는 문자', '필터링할 문자열')

대소문자를 구분하지 않는 함수로 찾고자 하는 문자가 있으면 True, 없으면 False를 출력.

 

이렇게 대소문자를 구분하고 싶으면 ereg를 하고 싶지 않으면 eregi입니다.

MySQL에서는 대소문자 구분이 없는데요,

그래서 id= ADMIN이나  Admin 등 이렇게 대소문자를 구분하지 않고 써도 값은 얻을 수 있습니다.

 

어쨌든 이 문제에서 는 ereg() 함수를 유심히 봐야 하는데요,

아까도 말했듯이 ereg() 함수는 대소문자를 구분하지 않아서

 

만약 필터링(금지) 되어있는 단어인 admin을 쓰면 ture 값을 내버려서 HeHe를 출력하게 됩니다..

하지만 Admin이나 ADMIN을 쓰면 false 값을 내겠죠??!

그럼 답을 한번 써보겠습니다!

 

이렇게 flase값을 내버려서 Admin을 써도 답이 되고 ADMIN을 써도 답이 됩니다!! 

 

Comments