[Normaltic's CTF] Login Bypass1

2024. 5. 22. 16:29정보보안 및 해킹/CTF

이쯤 되면 문득 생각이 납니다. 도대체 doldol이 뭘까요...?

normaltic1로 로그인을 해야한다고 합니다.

일단 계정이 주어졌으니 로그인을 해줍니다.

이번에는 UserId와 Password로 로그인을 하고 있고, 로그인을 성공하게 되면 302 코드와 함께 index.php로 Redirect하게 됩니다.

index.php를 볼까요? User Name : doldol이라고 되어있습니다. 이 부분에서 나중에 플래그를 확인할 수 있을 것 같습니다.

일단 SQL Injection공격이 먹히는지 확인하기 위해 and연산자와 '1'='1로 항등식을 삽입하여 확인해 줍니다.

동일하게 302코드와 함께 index.php로 이동되는 것을 확인할 수 있고, 해당 스크립트에는 SQL Injection 취약점이 존재하는 것을 확인할 수 있습니다.

그러면 일단 기본적인 것부터 시작해봅니다.

normaltic1로 로그인 하라고 하였으니, normaltic1' or '1'='1

그리고 비밀번호 쪽에는 아무거나 넣어줍니다. 그렇게 하면 최종 쿼리문은 이렇게 됩니다.

SELECT * FROM [TABLE_NAME] WHERE [ID_COLUMN_NAME]='normaltic1' or '1'='1' AND [PASSWORD_COLUMN_NAME]='[사용자가 비밀번호 란에 삽입한 문구]';
[ID_COLUMN_NAME]='normaltic1' or { '1'='1' AND [PASSWORD_COLUMN_NAME]='[사용자가 비밀번호 란에 삽입한 문구]' }

{}괄호 안에 있는 것이 먼저 연산이 되어, '1'='1'은 항상 참이므로, 뒷 부분은 어떤 것이 오든지 참이 되게 됩니다.

때문에 뒤의 비밀번호에 어떤 것을 삽입하든 상관이 없습니다.

그렇게 {}부분을 먼저 연산하여 참으로 계산한 후, 앞 부분과 연한하면 OR부분이므로 또 참이 되게 됩니다.

최종 쿼리문이 참이 되므로 로그인에 성공하게 됩니다.

Burp Suite에서 보면 이렇게 됩니다.

302코드를 받고 index.php로 이동하는 것을 볼 수 있습니다.

플래그를 받았습니다.

'정보보안 및 해킹 > CTF' 카테고리의 다른 글

[Normaltic's CTF] Login Bypass3  (0) 2024.05.29
[Normaltic's CTF] Login Bypass2  (0) 2024.05.22
[Normaltic's CTF] Pin Code Crack  (0) 2024.05.22
[Normaltic's CTF] Admin is Mine  (0) 2024.05.22
[Normaltic's CTF] PIN CODE Bypass  (0) 2024.05.22