본문 바로가기
security/웹 해킹

Webhacking.kr 48번

by aristia 2020. 8. 6.

1. 문제 확인

 

2. 코드 확인

 

 

 

3. 문제 풀이

 

이번 문제는 파일을 업로드 해서 거기서 flag 값을 찾는 문제인 것 같다.

그래서 딱히 코드 부분에서 정보를 얻을 것이 없었다.

그래서 그냥 아무 파일이나 업로드를 시도해보았다.

이때, 밑에 다른 사람들이 올려놓은 것을 보니까 Memo도 같이 적어서 Send 해야 하는 것 같다.

 

이렇게 php.txt라는 파일을 업로드하고 MEMO로 php를 적어주었다.

 

그랬더니 다음과 같이 업로드 한 시간, 아이디, MEMO가 나온다.

그리고 upload file, Delete가 나온다.

 

 

여기서 upload file을 클릭하니까 다음과 같이 php.txt에 적어주었던 내용이 나온다.

 

여기서 알 수 있는게 한정적이라서 /upload 디렉토리로 접근을 시도해보았다.

하지만 접근이 불가능했다.

 

이번에는 Delete 버튼을 눌렀다.

그랬더니 go back이라는 버튼이 나온다.

여기서 del&time이 나오는 것도 확인할 수 있다.

 

그래서 이 버튼을 누르면 이렇게 원래 화면으로 나오고,
내가 업로드한 파일이 나오지 않는 것을 확인할 수 있다.

 

여기서 주목했던 것은 delete이다.

Command Injection을 할 수 있기 때문이다.

https://owasp.org/www-community/attacks/Command_Injection

 

Command Injection | OWASP

Command Injection on the main website for The OWASP Foundation. OWASP is a nonprofit foundation that works to improve the security of software.

owasp.org

 

 명령 구분자(;) 이후 임의의 OS 명령어 (ifconfig)를 입력할 경우
반환 값에 의해 내부 데이터 탈취 및 실행 할 수 있다고 한다.

그 중 리눅스 명령어 중에 ls 명령어가 있는데,
이는 디렉토리에 있는 내용(디렉토리, 파일 등)을 확인해주는 명령어이다.

그래서 다음과 같이 파일명;ls로 파일 이름을 바꾸어주었다.

이때 Burp Suite를 사용해서 이름을 바꿔주어야 한다.

 

 다음과 같이 이름을 바꿔서 보내주었다.

 

그럼 다음과 같이 flag가 나온다.

 

4. 결과

 

 

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

Webhacking.kr 47번  (0) 2020.08.13
Webhacking.kr 49번  (0) 2020.08.09
Webhacking.kr 58번  (0) 2020.08.06
Webhacking.kr 34번  (0) 2020.08.02
Webhacking.kr 32번  (0) 2020.08.02

댓글