Wargame/webhacking.kr (old)
-
[Webhacking.kr] 45번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 16:57
SQL Injection 문제이다.id와 pw가 guest로 초기화되어 있고, 그대로 제출하면 get방식으로 값이 전송되고,hi guest가 페이지에 출력된다. index.phps를 보자. id값이 mb_convert_encoding 함수에 의해 연산된 후 쿼리문에 적용된다.id와 pw의 값에는 admin, pw 등등의 문자열이 필터링되고, id가 admin이면 문제가 풀린다. 그러나, 쿼리문에서 pw는 md5 함수로 해시화하기 때문에 직접 admin의 pw 값을 알아내는 것은 어렵다.id 값을 이용하여 SQL Injection을 수행해야 한다. mb_convert_encoding (string \$str, string \$to_encoding [, mixed \$from_encoding=mb_inter..
-
[Webhacking.kr] 44번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 16:12
name에 test를 입력하여 Make 버튼을 클릭해보았다. go.html로 넘어가고 hello test가 출력된다.admin으로 만들어보니 hello admin이 출력된다. admin으로 접근하는것은 아닌것 같다. 이것저것해보니 name의 길이는 5글자로 제한되어 있다.도저히 어떤 문제인지 알 수 없어 찾아보니 Command Injection 문제였다. name의 값을 다른 것을 넣어줄 때마다 값이 바뀌는 것을 보니"echo 'hello $name'" > index/go.html 의 명령어가 실행되는 것으로 추측하였다. ;ls go.html 페이지에 아무 값도 출력되지 않았다.. 필터링되어 있는 것 같다.어떤 문자가 필터링되어 있는지 알아보기 위해 ;를 입력해보았다. hello만 출력되었다. 공백문자로..
-
[Webhacking.kr] 43번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 20:00
파일 업로드 취약점 문제로 웹 쉘(Web Shell)을 업로드 하는 문제이다. 파일 업로드 취약점업로드 할 수 있는 게시판 등을 이용하여 악성 서버 스크립트(웹 쉘)를 해당 페이지에 심어악성코드가 실행되도록 하는 취약점 웹 쉘(Web Shell)이란?원격에서 웹 서버에 명령을 수행할 수 있도록 작성한 웹 스크립트의 형태를 가지는 파일(php, asp, jsp, cgi...) 보통 파일 업로드 기능에는 텍스트 파일이나 이미지 파일만 업로드 가능하게 설정한다. [ 업로드 파일 제한 우회 방법 ]1. 프록시 툴을 이용한 Content-Type 검사 우회2. .htaccess 파일을 이용한 확장자 우회3. unix의 경우 파일명에 %00 %zz ; 를 포함시켜 확장자 검사 우회4. 프록시 툴을 이용한 Clien..
-
[Webhacking.kr] 42번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 19:42
read me가 있다. download를 클릭해보았다. Access Denied..test의 download를 클릭해보니 test~~~가 출력되는 페이지로 접근하였다. 다시 원래 페이지로 돌아가 소스 코드를 보았다. test.txt의 download를 클릭하면 특정 페이지로의 이동이 이루어진다.dGVzdC50eHQ= 를 알아내고 그에 맞게 test.zip으로 접근하면 될 것 같다. dGVzdC50eHQ= 는 =로 끝난다. =는 보통 Base64로 암호화된 경우이다. 복호화 해보자. 해당 문자는 test.txt를 Base64로 암호화한 것이었다.test.zip도 똑같이 Base64로 암호화한 곳으로 접근하면 접근가능할 것 같다. test.zip : dGVzdC56aXA= 개발자 도구를 사용하여 소스 코드를..
-
[Webhacking.kr] 41번 풀이Wargame/webhacking.kr (old) 2019. 5. 7. 19:20
파일을 업로드 할 수 있다. 파일 업로드 취약점 문제인 것 같다. 파일 업로드 취약점이란?업로드할 수 있는 게시판 등을 이용하여 악성 서버 스크립트(웹 쉘)를 해당 페이지에 심어 악성코드가실행되도록 하는 취약점 문제의 소스를 보았다. hidden_dir에 업로드한 파일이 복사되고, 그 파일에 password를 적어준다.업로드한 파일로 접근하여 password를 알아내는 문제이다.hidden_dir를 어떻게 알아내야할까?! 소스를 자세히 보면 copy함수 앞에 @표시가 없다.함수의 에러를 이용하여 hidden_dir를 알아낼 수 있을 것 같다. php의 @함수 실행 시 에러가 발생하여도 에러 메시지를 출력하지 않는다. copy(string \$source, string \$dest[, resource \$..