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 |
댓글