보여지는 페이지에서는 특별할게 없으니 소스를 한번보자
주석을 통해 힌트를 주고있다.
<!-- if you access admin.php i will kick your ass -->
즉시 https://webhacking.kr/challenge/web-02/admin.php로 이동해본다.
패스워드를 입력하는 창이 하나 있다.(쉽지않다...)
아무값이나 입력해보면 wrong password라는 경고창과 함께 돌아가게 된다.
다른 힌트가 없는걸로 봐서 SQL injection을 통해 접근해야 될거같다.
SQL injection 기본적인 정보
https://m.mkexdev.net/427
' OR 1=1 -- 기본적인 인젝션 시도 실패 2번문제임에도 기본적인 공격은 통하지 않는다...
'' or 'a'='a'--
'' or 1=1--
등 여러가지 시도해 봤지만 기본적인 sql injection은 통하지 않는다.
좀더 공부해 봐야겟다...
-------------------------------------------------------------------------------------------------------------------
다시돌아왔다.파일 업로드 취약점을 다루기전에 sql injection부분은 마무리 지어야겟다. 28번 풀기전이다.
대충 찾아보니 쿠키값의 시간에 들어가는 값을 이용하여 injection을 할수있다는 사실을 알아냇다.
일단 참과 거짓을때 반응이 차이가 있는지 시간값 뒤에 and 1=0과 and 1=1 을 넣어 반응을 확인해보자
true 일때는 즉 참일때는 2070-01-01 09:00:01
false 일때는 즉 거짓일때는 2070-01-01 09:00:00 이라는 시간값이 나타낫다.
테이블 이름,테이블 colume 등 모든 정보를 하나씩 찾아야 할거같다.(많은양의 파이썬 코드를 짜야겟지...)
먼저 데이터 베이스 정보부터 가져와야한다.
정리해서 올리기에는 글이 길어질거같아 소스를 짜면서 주석처리를 하여 정보를 남겼다.
소스를 통해 해결하는 과정도 볼수 있게 만들어 놓았다.
length()와 ascii() substr()등의 기본적인 함수들과 기본적으로 데이터베이스에 저장되는 데이터베이스정보
와 테이블 컬럼정보등을 확인하여 blind sql injection을 수행하였다. 방법을 알고 있어도 중간중간 쿼리문
의 디테일한 부분이나 서버에서의 응답에 따른 오류등으로 인해 굉장히 오래 걸렸다 ...
부족함을 많이 느꼈다.
아직 몇문제 더있던데 걱정반 기대반 풀수있을지....
'보안 > webhacking' 카테고리의 다른 글
webhacking.kr old-06 (0) | 2019.11.23 |
---|---|
webhacking.kr old-05 (0) | 2019.11.22 |
webhacking.kr old-04 (0) | 2019.11.22 |
webhaking.kr old-03 (0) | 2019.11.22 |
webhaking.kr old-01 (0) | 2019.11.22 |
최근댓글