no image
webhacking.kr challenge 46
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ lv에 값을 대입해보면 1부터 4까지는 값이 출력되고 0과 5부터는 값이 출력되지 않는다. lv 값으로 1 or 1=1을 넣었더니 1을 넣은 것과 동일한 결과가 나오지 않았다. 이는 이 값을 대입했을 때 제대로 동작하지 않는 것을 의미한다. lv 값으로 1%0aor%0a1=1을 넣어보니 1을 넣었을 때와 동일한 결과가 나왔다. 소스를 확인해보았다. addslashes 함수는 ' -> \' 등 백슬래시를 붙여주는 함수로 문자열에서 저장 쉽게 하려고 쓰인다. 또한 공백과 /, *, %는 str_replace로 없애고, preg_match로 select, 0x, limit, cash를 거르고 있다. 싱글 쿼터의 우회 방법..
2020.06.27
no image
webhacking.kr challenge 43
위와 같이 입력한 php 파일을 업로드하게 되면 파일을 열었을 때 “cat /flag” 명령이 실행되어 flag가 출력된다. 하지만 php, txt 등의 파일은 업로드 할 수 없고 image 파일만 업로드를 할 수 있다. 따라서 php 파일을 업로드한 후 proxy를 이용해서 content-type을 image로 바꿔주면 파일을 업로드할 수 있다. 업로드 한 파일을 클릭하면 flag가 나타난다.
2020.06.27
no image
webhacking.kr challenge 42
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ 페이지 소스를 살펴보면 text.txt의 다운로드 링크의 주소가 ‘?down=(test.txt를 base64로 인코딩한 값)‘임을 확인할 수 있다. 따라서 flag.docx를 base64로 인코딩한 후 ‘?down=(인코딩한 값)’이라고 입력하면 flag.docx 파일이 다운되고, 이를 입력하면 문제가 풀린다.
2020.06.27
no image
webhacking.kr challenge 41
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ 255보다 큰 길이의 file 이름을 가지게 되면 copy 함수에서 에러가 나고, 에러 메시지를 통해서 {$upload_dir}이 출력된다. 그 이후에 정상적인 파일을 업로드하고, 업로드 파일을 들어가보면 FLAG가 나온다.
2020.06.27
no image
webhacking.kr challenge 39
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ 39번 문제는 특정 값을 입력해서 제출을 하는 것이다. 소스를 확인해보면 쿼리가 전달되는데, id의 값에 ‘가 열린 채로 전송이 된다. 또한 조건을 보면 ‘은 ‘’로 바뀌고, 15개의 문자만이 전달이 된다. 따라서 글자 수를 조절해 ‘가 닫히도록 하면 된다. “admin ‘”라고 입력해서 문제를 풀었다. 꼭 admin을 입력해야 하는 건 아니고, “1234 ‘”처럼 ‘이 15번째 문자로 들어가면 문제가 해결된다.
2020.06.27
no image
webhacking.kr challenge 38
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ 주석 처리된 a href를 해제하면 admin page 링크가 나타난다. 이동해보면 log viewe과 ‘You must logged ad “admin”’이라는 문장이 보인다. “admin”이라 입력하면 제대로 동작하지 않는다. 이는 CR-LF injection을 이용하여 풀 수 있다. Input을 textarea로 바꾼 후 줄바꿈과 ip:admin이라고 입력하면 문제가 풀린다.
2020.06.27
no image
webhacking.kr challenge 36
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ vi의 임시 파일은 swp 형식으로 저장된다. 따라서 ‘.index.php.swp’이라고 입력하면 임시 파일을 받을 수 있다.
2020.06.27
no image
webhacking.kr challenge 35
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ 문제 화면과 소스 코드이다. id가 admin이고, 접속한 ip가 컬럼에 들어있는 값과 일치해야 문제가 풀린다. 따라서 (id, ip, phone)의 양식에 맞게 (‘admin’, ‘내 ip 주소’, ‘번호’)를 넣어주면 된다. 1234),('admin','ip 주소','2345'를 phone 변수에 넣어주면 문제가 풀린다.
2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

 lv에 값을 대입해보면 1부터 4까지는 값이 출력되고 05부터는 값이 출력되지 않는다.

 

 

 lv 값으로 1 or 1=1을 넣었더니 1을 넣은 것과 동일한 결과가 나오지 않았다. 이는 이 값을 대입했을 때 제대로 동작하지 않는 것을 의미한다.

 

 

 lv 값으로 1%0aor%0a1=1을 넣어보니 1을 넣었을 때와 동일한 결과가 나왔다.

 

 

 소스를 확인해보았다. addslashes 함수는 ' -> \' 등 백슬래시를 붙여주는 함수로 문자열에서 저장 쉽게 하려고 쓰인다. 또한 공백과 /, *, %str_replace로 없애고, preg_matchselect, 0x, limit, cash를 거르고 있다. 싱글 쿼터의 우회 방법으로는 0x, %27 등의 방법이 있지만 모두 거르고 있으므로 char를 사용했다. ?lv=0%09or%09id=char(97,100,109,105,110)을 입력하면 문제가 풀린다.

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 49  (0) 2020.06.27
webhacking.kr challenge 48  (0) 2020.06.27
webhacking.kr challenge 43  (0) 2020.06.27
webhacking.kr challenge 42  (0) 2020.06.27
webhacking.kr challenge 41  (0) 2020.06.27

<?php
	system(“cat /flag”);
?>

 위와 같이 입력한 php 파일을 업로드하게 되면 파일을 열었을 때 “cat /flag” 명령이 실행되어 flag가 출력된다. 하지만 php, txt 등의 파일은 업로드 할 수 없고 image 파일만 업로드를 할 수 있다.

 

 

 따라서 php 파일을 업로드한 후 proxy를 이용해서 content-typeimage로 바꿔주면 파일을 업로드할 수 있다. 업로드 한 파일을 클릭하면 flag가 나타난다.

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 48  (0) 2020.06.27
webhacking.kr challenge 46  (0) 2020.06.27
webhacking.kr challenge 42  (0) 2020.06.27
webhacking.kr challenge 41  (0) 2020.06.27
webhacking.kr challenge 39  (0) 2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

 페이지 소스를 살펴보면 text.txt의 다운로드 링크의 주소가 ‘?down=(test.txtbase64로 인코딩한 값)‘임을 확인할 수 있다.

 

 

 따라서 flag.docxbase64로 인코딩한 후 ‘?down=(인코딩한 값)’이라고 입력하면 flag.docx 파일이 다운되고, 이를 입력하면 문제가 풀린다.

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 46  (0) 2020.06.27
webhacking.kr challenge 43  (0) 2020.06.27
webhacking.kr challenge 41  (0) 2020.06.27
webhacking.kr challenge 39  (0) 2020.06.27
webhacking.kr challenge 38  (0) 2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 255보다 큰 길이의 file 이름을 가지게 되면 copy 함수에서 에러가 나고, 에러 메시지를 통해서 {$upload_dir}이 출력된다. 그 이후에 정상적인 파일을 업로드하고, 업로드 파일을 들어가보면 FLAG 나온다.

 

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 43  (0) 2020.06.27
webhacking.kr challenge 42  (0) 2020.06.27
webhacking.kr challenge 39  (0) 2020.06.27
webhacking.kr challenge 38  (0) 2020.06.27
webhacking.kr challenge 36  (0) 2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

 39번 문제는 특정 값을 입력해서 제출을 하는 것이다.

 

 

 소스를 확인해보면 쿼리가 전달되는데, id의 값에 가 열린 채로 전송이 된다. 또한 조건을 보면 ‘’로 바뀌고, 15개의 문자만이 전달이 된다. 따라서 글자 수를 조절해 가 닫히도록 하면 된다.

 

 

 “admin         ‘”라고 입력해서 문제를 풀었다. admin을 입력해야 하는 건 아니고, “1234          ‘”처럼 15번째 문자로 들어가면 문제가 해결된다.

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 42  (0) 2020.06.27
webhacking.kr challenge 41  (0) 2020.06.27
webhacking.kr challenge 38  (0) 2020.06.27
webhacking.kr challenge 36  (0) 2020.06.27
webhacking.kr challenge 35  (0) 2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

주석 처리된 a href를 해제하면 admin page 링크가 나타난다. 이동해보면 log viewe‘You must logged ad “admin”’이라는 문장이 보인다.

 

 

 

 

 “admin”이라 입력하면 제대로 동작하지 않는다. 이는 CR-LF injection을 이용하여 풀 수 있다.

 

 

 

 Inputtextarea로 바꾼 후 줄바꿈과 ip:admin이라고 입력하면 문제가 풀린다.  

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 41  (0) 2020.06.27
webhacking.kr challenge 39  (0) 2020.06.27
webhacking.kr challenge 36  (0) 2020.06.27
webhacking.kr challenge 35  (0) 2020.06.27
webhacking.kr challenge 34  (0) 2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

vi의 임시 파일은 swp 형식으로 저장된다. 따라서 ‘.index.php.swp이라고 입력하면 임시 파일을 받을 수 있다.

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 39  (0) 2020.06.27
webhacking.kr challenge 38  (0) 2020.06.27
webhacking.kr challenge 35  (0) 2020.06.27
webhacking.kr challenge 34  (0) 2020.06.27
webhacking.kr challenge 32  (0) 2020.06.27

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

 문제 화면과 소스 코드이다.

 

 

 idadmin이고, 접속한 ip가 컬럼에 들어있는 값과 일치해야 문제가 풀린다. 따라서 (id, ip, phone)의 양식에 맞게 (‘admin’, ‘ip 주소’, ‘번호’)를 넣어주면 된다.

 

 

 

 1234),('admin','ip 주소','2345'phone 변수에 넣어주면 문제가 풀린다.

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 38  (0) 2020.06.27
webhacking.kr challenge 36  (0) 2020.06.27
webhacking.kr challenge 34  (0) 2020.06.27
webhacking.kr challenge 32  (0) 2020.06.27
webhacking.kr challenge 27  (0) 2020.06.27