Wargame Site/Webhacking.kr
-
|webhacking.kr| #29Wargame Site/Webhacking.kr 2019. 7. 9. 20:54
blind sql injection 으로 푸는 것보다 간단한 방법이 존재한다는 것은 뭔가 보다 단순한 문제인 것 같다. 처음 업로드에는 아무것도 출력되지 않았다. 하다보니 이제까지 넣어줬던 파일들이 출력되는 것을 알 수 있었다. 뭔가 문제 특성상 password 가 이 3개의 field 중에 출력이 되는 구나 라는 생각을 했다. select password from c29_tb 이 구문이 뭔가 그 역할을 해줄 것 같았다. 우선적으로 입력하는 값은 file_name 하나 뿐이고, 3필드가 출력되는 것으로 보아 file_name 을 사용해서 insert 취약점을 이용하여 password 가 출력되는 Query 를 만들어야할 것 같았다. 추가적으로 "." 가 str_replace 되는 것을 보니 IP 의 사용..
-
|webhacking.kr| #28Wargame Site/Webhacking.kr 2019. 7. 9. 19:23
페이지를 처음 봤을 때 업로드 취약점 같은 느낌이 들었다. 업로드 취약점에 대한 지식이 0 이기 때문에 write up 을 볼 수 밖에 없었다. 그냥 아무파일이나 넣어봤다. .htaccess 라는 힌트가 나왔다 .htaccess 란 hypertext access 의 약자로, Apache Web Server 의 설정파일이다. 더 자세히 말하자면, 디렉토리별 설정을 가능케해준다. .htaccess file 은 '분산설정파일' 로 불리기도 한다. 각 디렉토리에 대한 허가, 리다이렉팅, 인증, 디렉토리 리스팅 등의 용도로 사용된다. 조사결과 C 언어에서의 goto 문과 같은 느낌이라고 한다. 해당 문제에 에러가 있는게 분명한 것 같다. 풀이를 봐도 안풀린다. 이런식의 접근 정말 싫어하지만, .htaccess 의..
-
|webhacking.kr| #27Wargame Site/Webhacking.kr 2019. 7. 8. 08:23
no 이 1 일 때 guest 라는 문구를 확인할 수 있다. 소스보기를 통해서 index.phps 의 존재를 알았으니, 접근해서 소스를 파악해보자. 괄호가 쌓여있고, ) 가 필터링되지 않기 때문에 일단 닫고 시작해야한다. 그리고, 마지막에 닫혀있는 괄호를 주석처리해야할 것이다. 주석에는 ;%00, %23, -- 등이 있다. 이 중에 -- 를 사용했다. 그렇게 완성된 Query 는 " no=0)||no>1-- - " 이다. Clear!
-
|webhacking.kr| #25Wargame Site/Webhacking.kr 2019. 7. 7. 23:12
ls -l 의 결과를 나타낸 듯한 출력문이 보인다. file 에 hello 를 넣어주었을 때, hello.txt 가 실행되는 것을 보니 + .txt 가 되어있는 것 같다. 그렇다면 password.php 를 보기 위해서 어떻게 해야할까? SQL injection 밖에 할 줄 모른다는 생각밖에 안들었다..ㅜㅜ 바로 구글링을 해서 %00 널 바이트를 사용하면 되는 것을 알아냈다. SQL 말고도 다양한 취약점을 접해봐야 할 것 같다.
-
|webhacking.kr| #22Wargame Site/Webhacking.kr 2019. 7. 7. 11:54
다음과 같은 화면이 나오고, 아래의 코드를 조금만 분석해보면 admin 의 password 를 맞춰야할 것 같다는 생각이 든다. 바로 회원가입으로 들어갔다. 당연히 admin 으로 가입할 수 없었고, 그냥 jeju / sarang 으로 회원가입을 했다. 정상적으로 로그인을 해보면 다음과 같은 화면이 나온다. https://md5decrypt.net/en/#answer Md5 Decrypt & Encrypt - More than 10.000.000.000 hashes md5decrypt.net 키길이를 보니 MD5 와 관련이 있는 것 같았다. Password + zombie 의 값이 MD5 와 되어 나타나는 것을 알았다. 이제 본격적으로 SQL injection 을 시작해봅시다. 1. Query 의 결과가..