succubus

2022. 4. 5. 23:46Site/LOS

소스코드를 확인해보니

preg_match함수에서 get방식으로 받은 id, pw에 prob _ . ( ) , 가 있으면 필터링을 해주고

result변수에 id값이 있기만 하면 클리어됩니다

즉 '를 필터링 해주기 때문에 ' 를 우회하는 다른 방법으로 sql injection 공격을 해야 될 것 같습니다

 

*

싱글쿼터 우회방법

1. 더블쿼터["]

2. 백슬래시[\] : '앞에 \을 붙이면 '를 문자열로 인식함

*

 

id='\' and pw=' or 1=1#'

-> id='\' and pw=' or 1=1#'

\'을 해주어 '를 문자열로 인식해 버리기 때문에 id에 \' and pw= 라는 값이 한 문자열로 인식되어 들어갑니다

id값은 당연히 false 이므로 의미없는 값이 될 것이고 or 을 통해 항상 참인 1=1과 남아있는 ' 를 주석처리해주면 클리어됩니다[#->%23]

 

 

'Site > LOS' 카테고리의 다른 글

nightmare  (0) 2022.04.06
zombie assassin  (0) 2022.04.06
assassin  (0) 2022.04.05
giant  (0) 2022.04.05
bugbear  (0) 2022.04.05