김승현

[Dreamhack : Web ] simple_sqli 본문

Web/Dreamhack : Web

[Dreamhack : Web ] simple_sqli

kshind 2023. 2. 22. 17:25

문제

로그인 서비스가 있는 사이트고 sql injection 취약점을 통해서 플래그를 얻으면 된다고 한다.

풀이 방법은 함께실습 강의에 다 있으니까 코드는 필요한 거만 보고 하는 방식으로 하겠습니다!

 

풀이

사이트에 접속을 하면 이런 식으로 Home About Contact Login 메뉴가 있고 그 밑에 Login이 있다. Login으로 가보자.

games/login으로 이동하면 이렇게 userid와 password를 입력하는 칸과 login 버튼이 있다.

개발자도구 - Elements에서도 딱히 힌트가 없는 것 같으니까 소스코드로 가보자.

 

여기서 db.excute 두 번째 줄에 guest/guest와 admin/랜덤값의 계정을 database에 생성하는 걸 볼 수 있다.

로그인 해보고 싶지만 딱히 별 힌트를 얻진 못할 것 같으니 하지 않았다.

 

users에서 userid와 userpassword를 조회하는 쿼리를 찾았다.

select * from users where userid="{userid}" and userpassword="{userpassword}"

위와 같은 형식이다. 여기 sql injection을 하려면 userid에 admin"-- 를 입력하면 

select * from users where userid="admin"-- and userpassword="{userpassword}"

userid = "admin" 이후는 다 주석처리가 되기 때문에 로그인 할 수 있을 것이다. 바로 해보자.

'Web > Dreamhack : Web' 카테고리의 다른 글

[Dreamhack : Web] command-injection-1  (0) 2023.02.22
[Dreamhack : Web] mango  (0) 2023.02.22
[Dreamhack : Web] csrf-2  (0) 2023.02.22
[Dreamhack : Web] csrf-1  (0) 2023.02.22
[Dreamhack : Web] xss-2  (0) 2023.02.22