# 나/source Code

[Fortify] Cross-Site Scripting: DOM

SaltLee 2025. 3. 12. 17:20

history.js 파일

setDefaultURL: function(def) {
 defaultHash = def;
 def = getHash();

 if (browser.ie) {
  window['_ie_firstload'] = true;
  var sourceToSet = historyFrameSourcePrefix + def;
  var func = function() {
    getHistoryFrame().src = sourceToSet;
    ....

 

getHistoryFrame()이 가리키는 프레임의 src 속성에 sourceToSet 값을 넣고 있다

sourceToSet 값이 악의적인 JavaScript 코드를 포함하고 있으면 XSS(DOM) 가능하다

 

근데 var sourceToSet = historyFrameSourcePrefix + def; 에서 

historyFrameSourcePrefix 는 하드코딩 된 값이고

def 는 getHash() 값이라서 입력값 조작 불가 (양호)