SQL Injection (simple_sqli_chatgpt - dramhack)

이원찬·2023년 11월 30일
0

Web Security

목록 보기
6/8

https://dreamhack.io/wargame/challenges/769

우선 /login 으로 이동했을때 userlevel을 입력하는 칸이 있다.
문제 파일을 받아보자.

app.py중 DATABASE 쪽과, app.route('/login') 부터 보자.

userid가 admin이고, userlevel이 0인 경우에 flag값이 출력되는걸 볼수 있다.
그럼 userlevel 입력칸에 0을 넣어보자.

그럴 경우 guest로 접속이 된다.
이것은 DATABASE를 보면 알수 있는데, users에 guest부터 넣고, admin을 그 다음에 넣는것을 볼수 있다.

그렇다면 select를 할때 guest부터 확인하기 때문에 guest로 접속이 된다.
이 문제는 and로 풀수 있을거 같다.

0' and userid='admin
으로 풀수 있을거 같다.

해당 명령어로 요청을 보내면 쿼리문은
select * from users where userlevel='0' and userid='admin'이 되므로 admin으로 접속이 가능한 것을 볼수 있다.

profile
개발과 보안을 공부하고 있습니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN