Commit Graph
1548 Commits
Author SHA1 Message Date
thisgun c927925a05 Fix PHP 5.2 compatibility issues 2026-05-26 09:34:18 +00:00
thisgunandClaude Opus 4.7 4c00c60006 [security]KVE-2026-0882 race condition 잔액 부족 시 결제 취소 처리로 변경
이전 커밋(e53689ac3)의 미수금 처리 방식은 사용자에게 결제 금액과
다른 청구가 발생해 혼란/분쟁을 유발할 수 있어, 동시 주문 race 로
포인트 잔액이 부족하면 결제 자체를 취소하는 방식으로 변경.

- PG 결제가 진행된 경우 (\$tno 존재): cancel_pg.inc.php 로 환불 요청
- 장바구니 복구: 기존 line 839 동일 패턴 (od_id = tmp_cart_id, ct_status = '쇼핑')
- 주문 삭제: g5_shop_order_table 에서 od_id 제거
- 사용자에게 die 로 명확한 오류 메시지 표시

lock timeout 케이스도 동일하게 결제 취소 처리 (보수적).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 07:10:53 +00:00
thisgunandClaude Opus 4.7 56b1958d37 [security]KVE-2026-0882 주문 포인트 차감 Race Condition (Double Spend) 수정
shop/orderformupdate.php / mobile/shop/orderformupdate.php 의 포인트
검증과 차감 사이에 TOCTOU race 가 존재하여, 동일 회원이 여러 세션으로
동시에 주문 제출 시 같은 포인트 잔액을 반복 검증 통과 → 다중 차감으로
mb_point 가 음수가 되는 double spend 가 가능했음.

insert_point() 의 기존 named lock 은 (mb_id, rel_table, rel_id, rel_action)
조합 키 기반이라 서로 다른 od_id 주문 간에는 lock 이 다르고, 주문 차감
호출에 rel_* 가 전달되지 않아 lock 미적용 상태였음.

조치: KVE-2026-0687 (쇼핑몰 쿠폰) 와 동일한 회원 단위 MySQL GET_LOCK
패턴을 적용. lock 획득 후 g5_point SUM 으로 잔액을 재조회하여
- 충분하면 정상 차감
- race 로 부족하면 사용 가능한 만큼만 차감 + 부족분은 od_receipt_point
  보정 + od_misu(미수금) 으로 반영하여 매장 손실 방지.

MyISAM 정책상 트랜잭션 금지이므로 named lock 으로 직렬화하는 방식이
가장 적합. 데스크톱·모바일 동일 패턴 적용.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 06:52:25 +00:00
thisgunandClaude Opus 4.7 6b2f9e094c [security] ORDER BY sst/sod 화이트리스트 누락 Blind SQL Injection 수정
KVE-2026-0876 동일 패턴 추가 발견 5건 일괄 수정.

- shop/itemuselist.php / mobile/shop/itemuselist.php (상품후기 목록)
- shop/itemqalist.php / mobile/shop/itemqalist.php (상품문의 목록)
  → 비회원 접근 가능한 공개 페이지에서 sst/sod 가 ORDER BY 절에
    검증 없이 삽입되어 CASE WHEN/SLEEP 기반 blind SQLi 가능했음.
    sst 는 컬럼 화이트리스트, sod 는 asc/desc 정규식으로 검증.

- bbs/list.php (게시판 목록)
  → sst 는 wr_datetime/wr_hit/wr_good/wr_nogood 화이트리스트 적용
    되어 있으나 sod 가 검증 누락되어 ORDER BY 절에 함수 표현식
    삽입이 가능했음. sod 에 asc/desc 정규식 검증 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 06:32:28 +00:00
thisgun a781b4aef3 [KVE-2026-0876] 모바일 상품 리스트 sort 파라미터 Blind SQL Injection 수정 2026-05-26 06:27:53 +00:00
thisgunandClaude Opus 4.7 9e7465319b [security]KVE-2026-0822 댓글 수정 textarea wr_content 미이스케이프 Stored XSS 수정
view_comment.skin.php 8종(skin/, mobile/skin/, theme/basic/ 하위 basic·
gallery)에서 댓글 수정($w == 'cu') 시 \$c_wr_content 가 textarea 내부에
이스케이프 없이 출력되어 </textarea> 페이로드로 탈출 가능하던 문제를
get_text() 적용으로 일괄 수정. 게시글 본문 수정(bbs/write.php) 과
동일한 escape 패턴을 댓글 수정에도 적용함.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 03:32:43 +00:00
thisgun f2e7dbc5ed [security]그누보드5 XSS, SQL Injection 취약점 수정 2026-04-16 03:46:02 +00:00
thisgun a612e69d3e [perf]for 루프 조건의 count() 호출을 루프 밖으로 추출 (핵심 파일)
for ($i=0; $i<count(\$arr); $i++) 패턴은 매 반복마다 count()를 호출하여
불필요한 CPU 오버헤드를 발생시킴. 루프 전에 한 번만 count()를 계산하여
변수에 저장하는 고전적인 최적화.

적용 파일 (19개, 41곳):
- lib/common.lib.php (8)
- common.php (2)
- lib/shop.lib.php (5)
- lib/naverpay.lib.php (1)
- lib/thumbnail.lib.php (2)
- bbs/list.php (1), bbs/search.php (4), bbs/qalist.php (1), bbs/qawrite.php (1)
- bbs/ajax.filter.php (1), bbs/write_update.php (4)
- bbs/write_comment_update.php (1), bbs/memo_form_update.php (2)
- bbs/new_delete.php (1), bbs/move_update.php (4)
- shop/search.php (1), shop/orderform.sub.php (1)
- mobile/shop/search.php (1), mobile/shop/orderform.sub.php (1)

부수 효과:
- lib/shop.lib.php line 2115: 동일 루프 내 strstr($dlcomp, $company)를
  strpos($dlcomp, $company) !== false 로 변경 (strstr 최적화의 일부)

제외:
- theme/, skin/, plugin/ (사용자 커스터마이징/서드파티)
- lib/PHPExcel/ (서드파티 라이브러리)
- adm/ 및 shop/mail/ (관리자/드문 경로, 별도 후속 작업 여지)
- 주석 처리된 코드 (bbs/delete.php:127, bbs/delete_all.php:143)
2026-04-16 02:26:59 +00:00
thisgun c00c73465a [security]비회원 주문/개인결제 조회 uid를 HMAC-SHA256으로 강화 2026-04-16 02:15:29 +00:00
thisgun 3e0e8be6da [security]쇼핑몰 update 엔드포인트 CSRF 보호 추가 2026-04-16 02:02:26 +00:00
thisgun c3db9b454e [KVE-2026-0569]그누보드,영카트 SQL Injection 취약점 수정 2026-03-30 11:50:30 +00:00
thisgun bf19cd8bf5 [KVE-2026-0568]영카트 SQL Injection 취약점 수정 2026-03-30 11:03:16 +00:00
thisgun 01fab8136e git commit -am "[KVE-2026-0330]영카트_SQL_Injection취약점_수정"; 2026-03-26 01:32:14 +00:00
thisgun 5054e24631 [KVE-2026-0243]영카트주문시_쿠폰중복사용취약점_수정 2026-03-25 09:18:48 +00:00
thisgun 0ddcda4b0c toss 모바일결제 포인트 적용시 결제 오류 수정 2026-02-02 09:37:49 +00:00
thisgun 607e15424d 토스결제 비회원결제가 안되는 오류 및 모바일 개인결제 취소과정 코드 수정 2026-02-02 07:18:28 +00:00
thisgun 1438f8d557 충돌수정 2025-09-22 10:39:44 +09:00
chym1217 7e8eff5395 팝빌 알림톡 제거 완료
- 광고성 및 회원관리파일(친구톡 코드만 제거) 제외
2025-09-19 17:53:50 +09:00
chym1217 46ea2d03b5 토스페이먼츠 v2 결제 모듈 연동 2025-09-16 16:34:15 +09:00
chym1217 66f6a75a10 팝빌 알림톡 기능 추가 2025-09-04 12:37:12 +09:00
총 f69b66dced [KVE-2025-0510] Stored XSS (bypass html_purify patch) to RCE 취약점 수정 2025-08-27 11:48:36 +09:00
thisgun 9758007f91 NHN_KCP 네이버페이 간편결제 카드 또는 머니결제로 분리 2025-07-31 20:21:22 +09:00
restarea92 327e7ba7ba feat: add list.php theme override (#358)
* feat: add theme override in shop/list.php

* feat: add theme override in mobile/shop/list.php
2025-06-27 09:35:52 +09:00
thisgun 316d3542a9 [KVE-2025-0259]XSS 취약점 수정 2025-05-15 09:53:28 +09:00
thisgun 6874e767c2 kcp 모바일 테스트결제 url 변경 2025-05-14 12:00:09 +09:00
thisgun 20eb993757 나이스페이 주문정보 입력 오류시 결제 취소 코드 추가 및 불필요한 코드 제거 2024-09-04 12:55:05 +09:00
thisgun 532bf6f0f4 토스페이먼츠 (구)lg XPay 도메인 지원종료에 따른 결제도메인 수정 2024-09-03 17:17:55 +09:00
thisgun 7754e12194 토스페이먼츠 테스트 결제 url 수정 2024-07-18 10:28:26 +09:00
thisgun 287d68790f 토스페이먼츠 모바일 결제수단 키 수정 2024-07-18 10:18:57 +09:00
thisgun 92c1052cf5 NHN_KCP 결제정보 검증기능 추가 적용 2024-05-14 17:10:00 +09:00
thisgun c4763a64d8 쇼핑몰 주문 SMS 파일의 금액변수에 (int) 형 추가 2024-05-14 16:04:14 +09:00
thisgun d0eadcb12e 나이스페이 관리자 테스트결제 경고문 표시 및 모바일결제 스크립트 오류 수정 2024-04-17 15:45:36 +09:00
thisgun 6048a8a1c5 NHN_KCP 결제정보 검증기능 적용 2024-04-17 15:21:55 +09:00
thisgun 84669cb47f 나이스페이 결제수단 추가 2024-04-03 10:42:04 +09:00
thisgun 2bfd995e49 쇼핑몰 결제시 결세수단 체크 과정 추가 2024-04-03 09:59:02 +09:00
thisgun aba7d75de6 쇼핑몰 모바일 상품 리스트 페이지에서 불필요한 변수 제거 #308 2024-03-27 12:21:54 +09:00
thisgun 248cb2b173 관리자 페이지 원격 명령 실행 취약점 수정 2024-02-14 19:09:20 +09:00
thisgun 1ff5df8215 KCP 모바일 결제중 Deprecated 메시지로 결제가 안되는 오류 수정 2024-01-02 09:59:06 +09:00
thisgun 72d03f305c 카카오로 링크 내보내기 스크립트 수정 2023-12-29 18:14:54 +09:00
thisgun a061d6c863 동시성 문제로 wr_seo_title 값이 중복되는 문제 수정 #293 2023-12-18 17:26:30 +09:00
MayCactus c869f29f0d 세션 쿠키 보안 강화 (#282)
* Enhance Session Cookie Security

* Fix user registration link path
2023-10-19 11:27:00 +09:00
thisgun 337ee4e68f Merge branch 'master' of github.com:gnuboard/gnuboard5 2023-08-16 15:49:14 +09:00
maycactus 3da5145bef Fix undefined variable issue in mobile login page 2023-08-09 11:48:53 -04:00
thisgun 6868cee8d1 영카트 모바일 주문시 SQL Injection 취약점 수정 2023-08-07 10:26:50 +09:00
maycactus 2c88ef6d13 Update CSS styles for improved consistency
This commit updates the CSS styles for better consistency and correctness. The changes involve:

1. Replacing 'z-index: -1px' with 'z-index: -1' to correct the z-index value. The value should be an integer, not a length with a unit.
2. Replacing 'font-size:bold;' with 'font-weight:bold;' to set the font weight to bold properly.

Please note that I haven't tested the changes yet, but they should have a positive impact on the overall appearance and functionality of the elements styled with these CSS rules.
2023-07-25 14:06:43 -04:00
thisgun ffc8706a76 [KVE-2023-5153] XSS 취약점 수정 2023-07-04 18:37:23 +09:00
thisgun 2a8f5f6035 상품 검색 페이지 xss 취약점 수정 2023-06-16 17:20:18 +09:00
thisgun f4821aa49a 비회원으로 상품을 장바구니에 담아두고 후 로그인하면 mb_id가 누락되는 문제 수정 2023-06-15 17:16:47 +09:00
thisgun 4204f7970e 안드로이드 chrome 112.0.5615.48에서 상품옵션선택이 안되는 문제 수정 2023-04-17 12:16:12 +09:00
thisgun 4b92543c61 KG이니시스 TX모듈을 사용하는 코드를 API로 전환 건 2023-04-13 20:10:48 +09:00