CTF 공부/webhacking.kr

[Webhacking.kr]old-02

JJWANIC 2020. 2. 21. 02:14

admin.php가 존재하는 것 같습니다. 접속을 해보니

이런 페이지가 나오네요. password를 입력해야하는데 무슨 값을 입력해도 틀렷다고 나옵니다..

다시 돌아가서 쿠키의 time값을 변경해보았습니다.

1로 변경해보니

이런 값이 뜨네요?

2를 입력하니 09:00:02, 3을 입력하니 09:00:03 값이 적용됩니다. 0을 입력하니 다시 지금의 시간으로 돌아왔습니다.

이게 뭘까요...

참을 의미하는 1=1을 넣어보니 09:00:01이 떴고, 거짓을 의미하는 1=2를 넣었더니 09:00:00이 떴습니다.

이를 이용해서 참, 거짓을 판별할 수 있고 blind SQL Injection 공격이 될 것 같습니다.

DB의 이름을 알 수 있는 code를 작성해서 적용해보면

DB의 이름이 chall2 인 것을 알 수 있습니다.

이 정보를 이용해서 table을 알아와보겠습니다.

먼저 table의 개수를 알아보겠습니다.

이렇게 작성해서 실행해보니

2개가 존재하는 것을 알 수 있습니다.

하나는 log이고, 다른 하나는

admin_area_pw 입니다.!

이 테이블 명을 이용해서 칼럼 갯수를 알아보고, 그 안에 값을 확인해보겠습니다.

짤렸지만... 밑에 풀 코드를 올리겠습니다.

실행 결과는?!

calumn의 이름이 pw인 것을 확인할 수 있습니다.!

자 이제 마지막으로

값을 확인해볼까요?

주어진 정보들로 코드를 작성하여 돌려보면?!

다 끝났습니다. 처음에 본 admin 페이지에 값을 입력해보겠습니다.

참고한 글입니다.

https://noirstar.tistory.com/291

 

데이터베이스(DB) 종류 별 명령어 정리

MS-SQL * MS-SQL은 각 개별 데이터베이스별로 시스템 뷰가 존재하기 때문에 데이터베이스명으로 필터링할 필요 없음 데이터베이스 조회 SELECT * FROM sys.sysdatabases SELECT name, database_id, create_date FR..

noirstar.tistory.com

 

webhacking_2.py
0.00MB