-
[Lord of SQL_injection] #28 frankenstein$ 웹 해킹 $/los.rubiya.kr 2019. 10. 25. 22:42
문제를 보면 일단 if(mysqli_error($db)) exit("error"); 를 보면 결과가 나오지 않고 error 가 일어났을 때 에러가 출력되는 error base sql injection 문제입니다.
union과 (, ) 가 필터링 되는 것으로 보아 if문을 이용한 union select 에러를 일으 킬수 없을 것 같아서 case when else ~ end 를 이용하기로 했습니다.
에러로 mysql 에서는 9e307*N의 형식으로 값을 넘기면 Logical Error 를 띄어서 error가 나게 됩니다.
페이로드 : ?pw=1' or case when id='admin' and pw like '[ ]%' then 9e307*2 else 0 end%23
↑ 올바르지 않은 문자를 넣었을때 : 'a%'
↑ 올바른 문자를 넣었을때 : '0%'
error 를 출력합니다.
이제 python 코드를 통해서 문제를 해결 해 보겠습니다.
'$ 웹 해킹 $ > los.rubiya.kr' 카테고리의 다른 글
[Lord of SQL_injection] #27 blue_dragon (0) 2019.10.25 [Lord of SQL_injection] #26 red_dragon (0) 2019.10.25 [Lord of SQL_injection] #25 green_dragon (0) 2019.10.25 [Lord of SQL_injection] #24 evil_wizard (0) 2019.05.28 [Lord of SQL_injection] #23 hell_fire (0) 2019.05.28