2015-06-02 193 views
0

對於傳統的ASP應用程序,我應該刪除所有安全攻擊問題。目前,DB包含已編碼的數據,並且不會再有插入/更新操作。只從現在開始選擇行動。經典ASP ::跨站點腳本(XSS)驗證問題

我能夠刪除SQL注入和其他一些安全問題,但是,無法刪除

跨站點腳本(XSS):可憐的驗證問題

這成爲瓶頸交付項目。

有沒有人可以幫助我做到這一點。

例如: 我在DB中的數據如下。

一個單元格示例數據(韓語和英語字符)

1..&nbsp;Rupture&nbsp;disc&nbsp;설치&nbsp;관련&nbsp;필요&nbsp;자재&nbsp;List<BR>──────────────────────────────────────<BR>&nbsp;&nbsp;&nbsp;No 필요&nbsp;자재 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;재질 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;비&nbsp;고 <BR>──────────────────────────────────────<BR>&nbsp;&nbsp;&nbsp;1 inlet&nbsp;isolation&nbsp;valve,&nbsp;8" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hast&nbsp;C276 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;기존&nbsp;재고&nbsp;사용 <BR>&nbsp;&nbsp;&nbsp;2 RD&nbsp;holder&nbsp;inlet/outlet &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hast&nbsp;C276&nbsp;/&nbsp;316L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;신규&nbsp;구매 <BR>&nbsp;&nbsp;&nbsp;3 Rupture&nbsp;Disc &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hast&nbsp;C276 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;신규&nbsp;구매 <BR>&nbsp;&nbsp;&nbsp;4 SV&nbsp;outlet&nbsp;isolation&nbsp;valve,&nbsp;10"&nbsp;&nbsp;&nbsp;SUS&nbsp;316L &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;신규&nbsp;구매 <BR>──────────────────────────────────────<BR><BR>2.&nbsp;Rupture&nbsp;Disc&nbsp;Specification<BR>&nbsp;&nbsp;1)&nbsp;Rupture&nbsp;design&nbsp;press :&nbsp;4kg/cm2<BR>&nbsp;&nbsp;2)&nbsp;Design&nbsp;temperature :&nbsp;100℃<BR>&nbsp;&nbsp;3)&nbsp;Rupture&nbsp;press&nbsp;tolerance&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;±&nbsp;5%<BR>&nbsp;&nbsp;4)&nbsp;Manufacturing&nbsp;range :&nbsp;+&nbsp;0%,&nbsp;&nbsp;&nbsp;-&nbsp;10%<BR>&nbsp;&nbsp;5)&nbsp;Material&nbsp;spec :&nbsp;M1,&nbsp;M4,&nbsp;C31<BR>&nbsp;&nbsp;6)&nbsp;Max.&nbsp;allowable&nbsp;oper&nbsp;press &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;3.2kg/cm2&nbsp;(at&nbsp;100℃)<BR><BR>3.&nbsp;Rupture&nbsp;Disc&nbsp;spec&nbsp;선정&nbsp;기준<BR>&nbsp;&nbsp;.&nbsp;Code,&nbsp;&nbsp;Standard&nbsp;=&nbsp;API&nbsp;520,&nbsp;&nbsp;ASME&nbsp;VIII<BR>&nbsp;&nbsp;.&nbsp;Required&nbsp;Burst&nbsp;Pressure&nbsp;=&nbsp;Vessel&nbsp;Design&nbsp;Pressure<BR>&nbsp;&nbsp;.&nbsp;Manufacturing&nbsp;range(+0%&nbsp;∼&nbsp;-10%)&nbsp;of&nbsp;Required&nbsp;Burst&nbsp;Pressure<BR>&nbsp;&nbsp;.&nbsp;Rupture&nbsp;Pressure&nbsp;Tolerance&nbsp;+5%,&nbsp;-5%&nbsp;of&nbsp;Stamped&nbsp;Burst&nbsp;Pressure<BR>&nbsp;&nbsp;.&nbsp;Specified&nbsp;Disc&nbsp;Temperature&nbsp;=&nbsp;Actual&nbsp;Temperature&nbsp;of&nbsp;Disc&nbsp;in&nbsp;Operation&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;usually&nbsp;lower&nbsp;at&nbsp;disc&nbsp;than&nbsp;in&nbsp;liquid&nbsp;phase&nbsp;of&nbsp;vessel&nbsp;&nbsp;<BR><BR>4.&nbsp;Rupture&nbsp;Disk&nbsp;전단&nbsp;및&nbsp;SV2209&nbsp;후단&nbsp;Isolation&nbsp;valve는&nbsp;CSO(CAR&nbsp;SEAL&nbsp;OPEN)&nbsp;.<BR><BR>5.&nbsp;Rupture&nbsp;Disk&nbsp;후단에&nbsp;PG2209를&nbsp;설치하여&nbsp;운전&nbsp;중&nbsp;Rupture&nbsp;disk&nbsp;파손&nbsp;여부&nbsp;확인&nbsp;가능토록&nbsp;함.<BR> 

我顯示上述細胞的數據如下:

示例頁面:

<!-- #include file="INCLUDES/HTMLDecode.inc" --> 
. 
. 
. 
<HTML> 
. 
. 
. 
sampledata = rs("sampledata") 
. 
. 
. 
<TD><%= ClearForAttack(sampledata) =%></TD> 
. 
. 
. 
</HTML> 

上面功能定義如下:

用戶定義函數:

<% 
    Function HTMLDecode(sText) 
     Dim I 
     sText = Replace(sText, "&quot;", Chr(34)) 
     sText = Replace(sText, "&lt;" , Chr(60)) 
     sText = Replace(sText, "&gt;" , Chr(62)) 
     sText = Replace(sText, "&amp;" , Chr(38)) 
     sText = Replace(sText, "&nbsp;", Chr(32)) 
     For I = 1 to 255 
      sText = Replace(sText, "&#" & I & ";", Chr(I)) 
     Next 
     HTMLDecode = sText 
    End Function 
    %> 
    <% 
    Function ClearForAttack(pStrValue) 
     if len(pStrValue)>0 then 
      pStrValue = HTMLDecode(Server.HTMLEncode(pStrValue)) 
      pStrValue = replace(pStrValue,"'","") 
      pStrValue = replace(pStrValue,"`","") 
      pStrValue = replace(pStrValue,"%","") 
      pStrValue = replace(pStrValue,"<","&lt;") 
      pStrValue = replace(pStrValue,">","&gt;") 
     else 
      pStrValue = "" 
     end if 
     ClearForAttack = pStrValue 
    End Function 
    %> 

要我同時使用HTMLDecode和功能的HTMLEncode

編輯功能顯示已編碼的數據或建議我另一個方法。

非常感謝您的幫助和建議。

在此先感謝。

+0

只需清理郵政/查詢字符串數據。你可以嘗試一些方法,包括'Server.HTMLEncode'。 – Paul

+0

XSS的哪種變體是您遇到的問題? – Juxhin

+0

如上所述,XSS:不合格 – kpgu1718

回答

0

如前所述,只需簡單清理 帖子/查詢字符串數據 來自用戶輸入和數據庫的所有數據。您可以嘗試多種方法,包括Server.HTMLEncode

如果需要擴展,以覆蓋數據庫字段,那麼你將需要進行某些搜索和<>取代,分別&lt;&gt;替換它們。

XSS有一些問題。你可能想要read this first

+0

感謝您的幫助。但是,我很抱歉。我已經嘗試過這些方法,而不是工作。 – kpgu1718

+0

您是否對來自數據庫的數據嘗試了'HTMLEncode'? – Paul

+0

看看[這篇文章](http://stackoverflow.com/questions/725875/anti-xss-and-classic-asp)S.O. – Paul