old-51 풀이
POST 형식으로 id와 pw를 가져옵니다 id는 addslashes()로 이스케이핑을 해주고, pw는 md5()로 처리를 해줍니다 그런데, pw에서 md5 처리를 할 때, raw_output 부분이 true로 되어있습니다 이런 경우에는 md5 해시값이 16bytes의 바이너리 형태로 나오게 됩니다 바이너리 형태에 특수문자가 포함되는걸 이용해서, SQL Injection을 시도해 보면...? 될 것 같습니다 "select id from chall51 where id='{$input_id}' and pw='{$input_pw}'" result 변수에 들어가는 MySQL 쿼리를 가져왔습니다 pw='{$input_pw}' 부분을 참으로 만들어줘야 하는데, 바이너리 값에 'or'이 포함되도록 하는 값을 찾아 넣..
2024.02.28