'분류 전체보기'에 해당되는 글 1000건

root-me HTTP - Open redirect

2018. 1. 16. 00:05

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me HTML

2018. 1. 15. 20:09

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.


webhacking.kr 45번 문제다.

점수는 550point. 꽤 높은 점수다. 살짝 긴장 

들어가보니 인젝션 문제인 것 같다.

소스확인해보니 다행히 제공해준다.

id랑 pw가 몇가지 필터링당하고 있다. id에 admin만 불러오면 될 것 같다.
' id='admin'#으로 주면 될 것 같은데 해봤더니 안된다. 필터링부분에 따로 뭐가 없던걸 보면
php magic quote로 single quote를 필터링 하고 있는 것 같다. 그렇다면 우회를 해야하는데
처음보는 함수가 있다.

mb_convert_encoding()라는 함수가 입력값을 무슨처리를 하길래 찾아봤더니 3번째 인자로 들어온 인코딩 방식을 2번째 인자의 인코딩방식으로 전환시켜주는 것 같다.  이걸로 뭐하라는거지하고 있는데 연관검색어에 mb_convert_encoding 취약점이란게 보였다. 들어가보니 인코딩과정에서 멀티바이트 처리가되면서 백슬래시 앞에 %a1 ~ %fe 의 값이 들어오면 %a1\가 한개의 문자처럼 취급되는 취약점 이란다.

그렇다면 magic quote로 인해 \'방식으로 필터링되니까 %aa'  or id='admin'#방식으로 값을 주면 %aa\' or id='admin'#가 되어서 백슬레쉬가 문자가되어 우회가 될 것 같다.
id에서 admin이 필터링됬으니 char(97,100,109,105,110)로 바꾸고 특수문자 인코딩해서 넣어주면 될 것 같다.

시도해보니 다음과 같이 생각처럼 잘 동작한다.

성공!


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 47번  (0) 2018.01.17
webhacking.kr 46번  (0) 2018.01.17
webhacking.kr 44번  (0) 2018.01.15
webhacking.kr 43번  (0) 2018.01.15
webhacking.kr 42번  (0) 2018.01.15
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 44번 문제다.

점수는 500point.

들어가보면 다음과 같이 입력값을 줄 수 있다. 

아무값이나 주고 넣어봤는데 일단 글자수제한이 걸려있다. admin이라 주고 넣어보니 다음과 같이 hello 다음에 내가 준 값이 나온다.

처음엔 sql injection 문젠가 싶어서 이것저것 해봤는데 답이 안나와서 code injection쪽으로 생각을 해봤다. echo hello 내가준값 식으로해서 출력이 되는 것 같다.

그렇다면 ;ls라고 주면 파일 리스트가 나올 것 같다.

넣어보니 아무것도 안나온다. 필터링 되고 있는 것 같다. 그렇다면 ;와 ls를 우회해야 할 것 같다.
echo asdfg;ls 방식에서 ;는 &로 대신 입력해도 두개의 명령어가 다 실행되기 때문에 필터링이 가능할 것 같아서 &만 따로 넣어봤더니 정상적으로 출력된다. 문제는 ls를 우회해야 하는데 이부분은 전혀 감이 안와서 결국 검색을 해봤다 ㅠ
보니까 리눅스에서 ls 같은 명령어를 칠때 명령어 문자 하나하나 사이에 싱글쿼터를 줘서 l's' 식으로 넣어줘도 정상적으로 동작한단다. ㅡㅡ 신기하네 이건 처음 알았다.

그래서 다음과 같이 &l's'로 한번 넣어봤다.

?? 우회는 됬는데 생각처럼 ls가 실행이 안된다. 흠..

$l's'가 그대로 출력된걸보니 echo문이 저걸 출력한것 같다. 그렇다면 처음에 echo 내가준값 형식이라고 생각해서 echo $l's'면 명령어가 둘다 실행될 거라 생각했는데 echo '내가준값' 형식이었다면 echo '$'ls''가 되서 $'ls'가 문자열로 출력된 것 같다. 그렇다면 '$l's'라고 주면 echo ''$l's'가 되서 정상적으로 echo와 ls가 실행될 것 같다.
넣어보니 다음과 같이 파일목록이 나온다.

들어가서 확인해보니 바로 클리어된다.

리눅스에 저런기능이 있는지 새로알게됬다. 성공!


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 46번  (0) 2018.01.17
webhacking.kr 45번  (0) 2018.01.15
webhacking.kr 43번  (0) 2018.01.15
webhacking.kr 42번  (0) 2018.01.15
webhacking.kr 41번  (0) 2018.01.15
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 43번 문제다.

점수는 200point.

들어가보면 웹쉘 업로드 하란다. 기본적인 파일 업로드 취약점 문제인 것 같다.

Content-Type만 이미지파일 형식으로 바꿔서 등록해봤다.

?바로 성공했다. 기본적인 필터링도 안되있는 것 같다.

1분도안되서 풀었다. 여기 문제중에 제일 빨리 푼 것 같다.


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 45번  (0) 2018.01.15
webhacking.kr 44번  (0) 2018.01.15
webhacking.kr 42번  (0) 2018.01.15
webhacking.kr 41번  (0) 2018.01.15
webhacking.kr 40번  (0) 2018.01.15
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 42번 문제다.

점수는 200point.

들어가보면 다운로드 받을 수 있는 파일이 있다. 

test.txt는 별거 없고 test.zip을 받으면 권한 거부라고 뜬다.

소스를 확인해보니 test.txt 다운받을때 base64로 인코딩된 값이 넘어가는게 보인다.


인코딩된값을 디코딩해보면 test.txt다. 그러면 test.zip을 base64로 인코딩해서 보내보면 다운될 것 같다.

디코딩한 값 넣어보니 다운이 됬다. 압축풀려하니까 비밀번호가 걸려있따.

소스에서 비번이 숫자로만 되어있다 했으니 칼리로 숫자로만 된 dictionary 파일 만들어서
AZPR 툴로 크랙해 봤다. 다음과 같이 비밀번호가 나온다.

 

비밀번호 입력해주고 압축푼다음 파일열어보니 다음과같이 경로가나온다.

들어가보면 키값이 나온다.

성공!


'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 44번  (0) 2018.01.15
webhacking.kr 43번  (0) 2018.01.15
webhacking.kr 41번  (0) 2018.01.15
webhacking.kr 40번  (0) 2018.01.15
webhacking.kr 39번  (0) 2018.01.15
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

root-me PHP preg_replace()

2018. 1. 15. 03:44

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me Directory traversal

2018. 1. 15. 02:49

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me HTTP directory indexing

2018. 1. 15. 02:38

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.