상세 컨텐츠

본문 제목

[HackCTF-Web#7] Login - 100 points

WebHacking/HackCTF

by bing_su 2021. 3. 24. 14:09

본문

반응형
SMALL

HackCTF Web의 7번째 문제는 Login이다.

문제 링크: http://ctf.j0n9hyun.xyz:2024

로그인 페이지가 보인다. 뭔가 SQL Injection 문제라는 생각이 든다. 또한, 페이지 소스를 볼 수 있게 했다.

페이지 소스 부분이다. 이를 살펴보자.

$sql = "select * from jhyeonuser where binary id='$id' and pw='$pw'";
$result = mysqli_fetch_array(mysqli_query($db,$sql));

이 부분을 중심으로 살펴보자. 일단 id와 pw를 $sql로 쿼리를 보내는 것을 확인할 수 있다.

mysqli_fetch_array()는 mysqli_query를 통해 얻은 result set에서 record를 1개씩 리턴하는 함수다. 한 번에 한 개의 데이터 행을 배열의 형태로 가져오고, $data_row 배열에 저장한다.

 

id='$id' and pw='$pw' 부분을 통해 SQL Injection을 통해 문제를 해결함을 알 수 있다.

 

SQL Injection 공격 방법으로는 여러 가지가 있다. 이 블로그에 공격 방법이 잘 정리되어 있다. 이 문제를 해결하기 위해 대표적인 방법인 주석 처리를 해서 pw 부분을 우회하는 방법으로 문제를 해결했다.

Login을 누르면 flag 값이 뜬다. 이를 인증하면 문제를 해결할 수 있다.

반응형
LIST

관련글 더보기

댓글 영역