김승현
[Dreamhack : Web ] simple_sqli 본문
문제
로그인 서비스가 있는 사이트고 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 |