• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account settings Log out
  • Favorite
  • Project
  • All
Loading...
  • Log in
  • Sign up
chominsoo4245 / mjon_git star
Forked from hylee / mjon_git
  • Project homeH
  • CodeC
  • IssueI
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB
  • Files
  • Commit
  • Branches
mjon_gitsrcmainjavaitnletmjomsgcampainwebMjonVOParamXssValues.java
Download as .zip file
File name
Commit message
Commit date
DATABASE
mjon_git
2023-06-12
src/main
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
.codetogether.ignore
mjon_git
2023-06-12
.gitignore
gitignore 적용
2023-06-12
pom.xml
mjon_git
2023-06-12
File name
Commit message
Commit date
java
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
resources
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
webapp
Merge branch 'hylee'
2023-07-24
File name
Commit message
Commit date
egovframework
mjon_git
2023-06-12
itn
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
File name
Commit message
Commit date
com
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
let
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
web
이준호 문자온 커밋
2023-07-12
File name
Commit message
Commit date
cop
이지우 - XSS 필터링 처리 : 기존 인터셉터 정규식 수정, 사용자 게시글 상세에 unscript 적용
2023-07-18
crypto/web
mjon_git
2023-06-12
fax
팩스 발송내역 상세 페이징 오류 수정
2023-07-17
hangulparser
mjon_git
2023-06-12
kakao
알림톡 슬랙 메시지 등록 기능 추가
2023-07-10
komoran
mjon_git
2023-06-12
lett
mjon_git
2023-06-12
mail
휴면회원 SMS발송 기능 추가 작업중
2023-07-18
main
대시보드 관리자로그관리 성능개선
2023-07-24
mjo
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
module/base
mjon_git
2023-06-12
org
mjon_git
2023-06-12
schdlr/service
첫결제 스미싱의심 지정기능 추가(휴대폰, 전용계좌)
2023-07-10
sec
mjon_git
2023-06-12
solr
mjon_git
2023-06-12
sts
mjon_git
2023-06-12
sym
대시보드 관리자로그관리 성능개선
2023-07-24
uat
본인인증시 DN으로 회원 조회가 되도록 수정
2023-07-26
uss
회원목록에 이용정지회원 금일, 금년 잔액 합계 표시기능 추가
2023-07-24
utl
휴면회원 SMS발송 기능 추가 작업중
2023-07-18
File name
Commit message
Commit date
addr
주소록 대량등록 치환문자 바이트수 계산로직 수정
2023-07-20
addragency
mjon_git
2023-06-12
apikey
feat:사용자 API소개 페이지 퍼블 적용
2023-07-24
block
간편결제 설정 및 하드코딩 제거
2023-07-14
cert
mjon_git
2023-06-12
conf
문자전송시 B라인 운영여부 체크
2023-06-21
dwn/web
mjon_git
2023-06-12
event
간편결제 설정 및 하드코딩 제거
2023-07-14
kisa
mjon_git
2023-06-12
mjocommon
알림톡 전송지연 기능 추가
2023-07-07
msg
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
msgCustom
mjon_git
2023-06-12
msgagent
전용전송사 변경시 관리자메모 추가
2023-06-20
msgcampain
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
msgdata
엑셀불러오기 이름, 치환1~4 바이트수계산 로직 수정
2023-07-24
msgsent
mjon_git
2023-06-12
pay
문자발송화면에 등급제 기능 추가
2023-07-18
paykgm/service
mjon_git
2023-06-12
payva
mjon_git
2023-06-12
rejt
mjon_git
2023-06-12
reservmsg
알림톡 발송결과 엑셀 다운로드 결과 출력 수정
2023-07-24
scheduler/service
mjon_git
2023-06-12
spammsg
mjon_git
2023-06-12
sttst/service
mjon_git
2023-06-12
symbol
mjon_git
2023-06-12
tax
mjon_git
2023-06-12
temp/service
mjon_git
2023-06-12
test
문자발송화면에 등급제 기능 추가
2023-07-18
File name
Commit message
Commit date
service
mjon_git
2023-06-12
web
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
File name
Commit message
Commit date
MjonMsgCampainDataController.java
선거문자 비로그인시 발신번호 조회가 안되도록 수정
2023-07-27
MjonVOParamXssValues.java
mjon_git
2023-06-12
hylee 2023-06-12 a0b76ca mjon_git UNIX
Raw Open in browser Change history
package itn.let.mjo.msgcampain.web; import java.lang.reflect.Field; public class MjonVOParamXssValues { /** * Build URI from VO and Host, Path * * @param paramObj VO * @param host Host * @param path Path * @return URI * @throws IllegalAccessException * @throws IllegalArgumentException */ public int buildUri(Object paramObj) { int XssCnt = buildParamMap(paramObj); return XssCnt; } /** * Build MultiValueMap - VO에 담긴 모든 변수의 값을 확인 * * @param paramObj VO * @return MultiValueMap * @throws IllegalAccessException * @throws IllegalArgumentException */ private int buildParamMap(Object paramObj) { int XssCnt = 0; for(Field field : paramObj.getClass().getDeclaredFields()) { // 각 변수를 하나씩 불러옴 field.setAccessible(true); Object value; try { value = field.get(paramObj); if(value != null) { String paramValue = value.toString(); //변수 값을 받아옴 //String paramName = field.getName(); int cnt = cleanXSS(paramValue); //XSS 체크해보기 XssCnt = XssCnt + cnt; } } catch (IllegalArgumentException e) { throw new IllegalArgumentException("IllegalArgumentException Error ::: " + e); } catch (IllegalAccessException e) { throw new IllegalArgumentException("IllegalArgumentException Error ::: " + e); } } return XssCnt; } /** * Get values from fields of VO * * @param field * @param clazz * @param obj * @return */ /* private Object getValueFromField(Field field, Class<?> clazz, Object obj) { for(Method method : clazz.getMethods()) { String methodName = method.getName(); if( (methodName.startsWith("get") && methodName.length() == field.getName().length() + 3) || (methodName.startsWith("is") && methodName.length() == field.getName().length() + 2) ) { if(methodName.toLowerCase().endsWith(field.getName().toLowerCase())) { try { return method.invoke(obj); } catch (Exception e) { e.printStackTrace(); } } } } return null; }*/ /** * XSS 문자열이 있는지 체크 * @param field * @param clazz * @param obj * @return */ private int cleanXSS(String test_str) { String test_str_low= test_str.toLowerCase(); int cnt = 0; if(test_str_low.contains("union")|| test_str_low.contains("select") || test_str_low.contains("insert") || test_str_low.contains("drop") || test_str_low.contains("update") || test_str_low.contains("delete") || test_str_low.contains("join") || test_str_low.contains("from") || test_str_low.contains("where") || test_str_low.contains("substr") || test_str_low.contains("user_tables")|| test_str_low.contains("script")|| test_str_low.contains("<")|| test_str_low.contains(">")|| test_str_low.contains("alert")|| test_str_low.contains("javascript")|| test_str_low.contains("=")|| test_str_low.contains("!")|| test_str_low.contains("or")|| test_str_low.contains("user_tables")|| test_str_low.contains("\\(")|| test_str_low.contains("\\)")|| test_str_low.contains("user_tables")|| test_str_low.contains("&lt;") || test_str_low.contains("\"") || test_str_low.contains("%") || test_str_low.contains("()") || test_str_low.contains("+") || test_str_low.contains("%") || test_str_low.contains("&gt;") ) { /*try { context.getRequestDispatcher("/blank.do").forward(request, response); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ /*test_str = test_str_low; test_str = test_str.replaceAll("union", "q-union"); test_str = test_str.replaceAll("select", "q-select"); test_str = test_str.replaceAll("insert", "q-insert"); test_str = test_str.replaceAll("drop", "q-drop"); test_str = test_str.replaceAll("update", "q-update"); test_str = test_str.replaceAll("delete", "q-delete"); test_str = test_str.replaceAll("and", "q-and"); test_str = test_str.replaceAll("or", "q-or"); test_str = test_str.replaceAll("join", "q-join"); test_str = test_str.replaceAll("substr", "q-substr"); test_str = test_str.replaceAll("from", "q-from"); test_str = test_str.replaceAll("where", "q-where"); test_str = test_str.replaceAll("declare", "q-declare"); test_str = test_str.replaceAll("openrowset", "q-openrowset"); test_str = test_str.replaceAll("user_tables","q-user_tables"); test_str = test_str.replaceAll("user_tab_columns","q-user_tab_columns"); test_str = test_str.replaceAll("table_name","q-table_name"); test_str = test_str.replaceAll("column_name","q-column_name"); test_str = test_str.replaceAll("row_num","q-row_num");*/ //xss 문자열이 포함되어 있으면 카운트 함 cnt++; } return cnt ; } }

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
Sign in with github login with Google Sign in with Google
Reset password | Sign up