반응형
[los - SQL injection] darkelf ( 6단계 )
[ 풀이과정 ]
wolfman은 prob _ . ( ) or and가 preg_match 함수를 이용해서 필터링 되있었다.
$result['id']에 'admin'이 들어있어야 문제가 풀리게 된다..
or나 and가 필터링 되어있을때는 해당 기능을 대신하는 다른 문자로 우회가 가능하다.
우회문자 : || ( or ) , && ( and )
or만 우회할수 있다면 string injection을 통해서 문제를 풀어나갈수 있다.
select id from prob_darkelf where id='guest' and pw=''|| 1=1 #'에서 '||' 문자를 이용해서 or을 우회했고
pw=''|| 1=1 #' 쿼리를 추가시켜서 참/거짓을 판단 해봤고 Hello guest가 뜨면서 해당 쿼리는 먹힌다는게 인증이 됬다..
그리고 여기서는 limit를 이용해서 문제를 풀었고 limit 0,1부터 시작해서 순서대로 풀어보니 limit 1,1에 admin 아이디가
있었고 문제가 생각보다 간단하게 풀렸다.
select id from prob_darkelf where id='guest' and pw='' || 1=1 limit 1,1 #'
6단계 클리어~~
반응형
'워게임 > LOS' 카테고리의 다른 글
[los - SQL injection] troll ( 8단계 ) (0) | 2017.09.23 |
---|---|
[los - SQL injection] orge ( 7단계 ) (0) | 2017.09.23 |
[los - SQL injection] wolfman ( 5단계 ) (0) | 2017.09.23 |
[los - SQL injection] orc ( 4단계 ) (0) | 2017.09.23 |
[los - SQL injection] goblin ( 3단계 ) (0) | 2017.09.23 |
댓글