안녕하세요! 오늘은 pico ctf의 Irish-Name-Reop 1입니다!
한글로 위를 설명하자면
작가: CHRIS HENSLER 제작
설명
저기 웹사이트 운영되고있다.
너 로그인 할수있음 해봐 킼킼 이런느낌이죠?
한번 클릭해봅시다!
http://jupiter.challenges.picoctf.org:39720
https://jupiter.challenges.picoctf.org/problem/39720/
W3.CSS Template
Dylan Moran "You can sort your life out anytime; the pub closes in five hours."
jupiter.challenges.picoctf.org
이렇게 웹페이지가 나오는데요 여기서 좌측 상단에 三 모양으로 되어있는 메뉴바를 클릭해봅시다!
아까 로그인할수 있음 해봐라! 문제 이렇게 나와있었는데요.
이문제는 sql injection의 구문을 이용해서 뚫는 방법입니다.
지금 보시면 로그인창에 username과 password 가 뜨는것을 볼 수 있습니다.
username에서는 'or 1=1 -- 을 함으로써
모든 값을 참으로 만들어 어떤 username을 적더라도 무조건 참값이기 때문에
password또한 아무거나 적어도 무조건 로그인이 되게 됩니다.
즉
위에 사진에 보시는것처럼
SELECT * FROM Users WHERE id = ' ' OR 1=1 -- 'AND paswword = 'INPUT2'
위에 구문이 어떻게 해석이 되냐하면
SELECT * FROM Users
해석이됩니다. 무조건 참이라는 값이 나오게 되어있는 것이기에 무조건적으로 password 상관없이 무조건적으로 login이 허락되게 되어진다.
매우 간단한 구문이지만, 결론적으로 Users 테이블에 있는 모든 정보를 조회하게 됨으로 써
가장 먼저 만들어진 계정으로 로그인에 성공하게 됩니다.
보통은 관리자 계정을 맨 처음 만들기 때문에 관리자 계정에 로그인 할 수 있게 됩니다.
관리자 계정을 탈취한 악의적인 사용자는 관리자의 권한을 이용해 또 다른 2차피해를 발생 시킬 수 있게 됩니다.
위의 내용들을 다거치고 쭉내려오게되면.
이렇게 로그인이 되면서 플래그를 보여줍니다.
이 플래그를 입력하게되면?
플래그가 성공적으로 입력이 됬고
그이후에 flag가 정답이라는것을 알려줍니다.
sql injection 출처
https://noirstar.tistory.com/264
SQL Injection 이란? (SQL 삽입 공격)
1. SQL Injection 1.1 개요 SQL Injection SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작
noirstar.tistory.com
많이봐주세요 ㅎㅎ 감사합니다!
후기
내생에 처음으로 sql injection 문구에 대해서 조사를 제대로 해본거같고
또한 sql injection , Data base 말만 들어봤지
실제로는 내가 사용할줄 몰랐던 구문이였어 그런지 더욱 재밌었던거같다.
앞으로 이런문제 나오면 죽어버릴거같다.
생각보다 힘들다.
'IT 해킹 관련 공부 > pico ctf 풀이' 카테고리의 다른 글
6)pico ctf GET aHEAD 문제 (0) | 2022.06.01 |
---|---|
5)pico ctf SQLiLite 문제 (0) | 2022.05.23 |
3)pico ctf dont-use-client-side문제 (0) | 2022.05.21 |
2)pico ctf where are the robots 문제 (0) | 2022.05.21 |
1)pico ctf Insp3ct0r 문제 (0) | 2022.05.21 |