[Webhacking.kr]old-02
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