.NET Core第26天_ScriptTagHelper的使用 取得連結 Facebook Twitter Pinterest 以電子郵件傳送 其他應用程式 - 8月 04, 2021 ScriptTagHelper (腳本標籤幫助程序):是針對HTML原生<script> tag的封裝。<script> 當中有src屬性用於加載CDN的js文件那微軟額外多封裝了asp-fallback-src屬性:主要是當主要URL師廖要回推到特定的URL,這裡通常會改用Server本機的js。asp-fallback-test屬性:設置用於作回推測是的屬性。 取得連結 Facebook Twitter Pinterest 以電子郵件傳送 其他應用程式 留言
經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header - 6月 27, 2021 接續前幾篇系列 經得起原始碼資安弱點掃描的程式設計習慣培養(一)_OWASP Top 10(十大網站安全風險)_學習寫更安全程式碼的網站推薦 經得起原始碼資安弱點掃描的程式設計習慣培養(二)_8.Insecure Deserialization :不安全的反序列化漏洞ASP.NET處理方式 經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients 經得起原始碼資安弱點掃描的程式設計習慣培養(四)_1.Injection注入攻擊_SQL Injection)_order by 語句正確參數化套入 最近又遇到被若安掃描到高風險要修正的程式碼啦.... 一看這還真是搞不懂該怎麼修呢 HSTS(HTTP Strict Transport Security) 主要是一份國際標準規格 (RFC 6797) 的網際網路瀏覽安全機制, 用於宣告瀏覽器與伺服器之間通訊方式必須強制採用 TLS/SSL 加密通道。 只要從伺服器端送出一個 Strict-Transport-Security 標頭 (Header) 給瀏覽器,即可告知瀏覽器於未來的某段時間內一律使用 SSL 來和該網站連接 (設定可涵蓋所有子域名網站), 一旦發生憑證失效情況,使用者將無法再瀏覽該網站,如此一來便可大幅減少中間人攻擊的問題發生。 再更白話一點 HSTS Header 就是負責將 http 強制轉為 https CheckMarx掃碼報告給的說明 ============================================================ 風險: 如果web config沒有設置HSTS表頭、"max-age"(有效期)不足一年, 或沒有設定"includeSubDomains"(包含所有子網域),可能會使用戶容易遭受中間人攻擊。 發生原因: 許多使用者只要在瀏覽器的網址列輸入網域名稱(Domain Name)即可瀏覽網站, 並沒有輸入協定(Protocol)的名稱。 瀏覽器會自動假設使用者使用的是HTTP協定而不是有加密機制的HTTPS協定。 在第一次發出前往特定網站的請求時,攻擊者可以執行中間人攻擊並將用戶轉址到 閱讀完整內容
經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients - 3月 10, 2021 近期新加入的功能code剛好也被CheckMarx掃出高風險部分的程式碼漏洞 我也踏到這個Issue啦 Cross Site Scripting(XSS) 第一種.Stored XSS 高風險 CheckMarx掃碼報告給的說明[Stored XSS] ============================================================ 風險: 攻擊者可以利用合法存取應用程式提交資料到資料庫。 當另一個使用者隨後存取該資料,網頁可能會被改寫且惡意腳本可能會被啟動。 發生原因: 從資料庫中的資料建立網頁。資料直接嵌入至HTML的頁面,利用瀏覽器顯示。 資料可能源自於其他使用者的輸入。 如果資料包含HTML片段或Javascript,使用者無法分辨是否為預期的頁面。 該漏洞主因為未先對嵌入資料庫中的資料進行編碼(Encode) 來預防瀏覽器將其當為HTML的格式而非純文字。 如何避免: 1.驗證所有資料,無論其來源為何。驗證應基於白名單:僅接受預定結構的資訊,而不是拒絕不良的樣式(Patterns)。 應確認: ● 資料型態 ● 大小 ● 範圍 ● 格式 ● 期望值 2. 驗證無法取代編碼. 輸出嵌入之前,不論其來源, 將所有動態資料進行編碼. 編碼方式應該是上下文相關的. 例如: ● HTML內容使用HTML的編碼方式 ● HTML編碼特性是將資料輸出到特性的值 ● JavaScript的編碼方式為伺服器產生的Javascript 3.考慮使用ESAPI的編碼庫,或它的內置功能。對於舊版的ASP.NET,請考慮使用AntiXSS. 4.在HTTP類型對應的表頭, 明確定義整個頁面的字元編碼. 5. 設置 httpOnly 標誌於會期資訊,以防止利用XSS來竊取資訊. ============================================================ 這裡報告描述是指我對傳進來字串參數直接拋給DAL處裡的類別執行查詢 這裡缺乏對輸入進來的字串參數做一些查檢判斷 也建議在帶入時對參數也做一些html encode處理 這裡用AntiXSS來Encode 第二種.Reflected XSS All Clients 高風險 CheckMarx掃碼報告給的說明[Reflecte 閱讀完整內容
T-SQL筆記3_索引觀念 和 B-Tree(SQL))_Performance Tuning技巧 - 1月 13, 2019 想想當我們以前在使用國語辭典時若不透過部首、筆劃來查對應出現頁數時 此時一定是從第一頁慢慢翻直到找到目標為止 因此索引在日常生活中很常用到 包括以前常見的電話簿用姓名筆劃、住址來排 書本前面的章節用字母來排序等等 結構化查詢一般的運作 採用 Full-Scan 機制 或 循序搜尋(Sequential Search) -->未先排序 也就是 當你要在一萬筆資料群的資料表中查找到特定匹配條件的 單筆或多筆資料時 會 從頭掃描整張表一遍 直到查詢到目標為止。 想當然這種查詢是十分沒有效率的!! 所以在資料結構應用上使用不同演算做法 會有不同回饋!!! 舉例: 同樣一組數據序列 用不同查詢下所產生的比對次數就有明顯的差異 循序(線性)查詢 非循序(非線性)查詢 E.g. 二元(分/岔) 資料庫之索引 這裡我們拿一本書最後頭的索引 來做一個生活例子比擬 你會看到一些常看或市面上書籍 後面都會有依照可能是英文字母開頭做排序的 以中文字典的部分則可能是用 部首、注音、筆畫 去做查詢索引 https://www.prismnet.com/~hcexres/textbook/indexing.html http://gimilee.pixnet.net/blog/post/209620930-大推薦-全方位造詞造句大詞典 藉由 Index 我們可以更快速找到我們想要的目標開頭為X的字眼 在SQL Server這部分是採用 B-Tree(B型束狀結構) B樹(B-Tree) 在你瞭解這個名詞前 可能需要先有關於樹的一些先備知識 Tree資料結構專術語(行話)介紹: 1.節點(Node):每一項data(資料值) -->A ,B ,C......,L 2.樹根(Root):每一棵樹最上層之節點 --> A 3.子樹(Sub Tree):去除樹根(A)後 , 所剩之以B、C、D為樹根之三棵樹也就是「子樹」 4.邊(Edge):節點之間的連線。 5.樹葉(Leaf):下方無串接任一節點(最末端)。換言之,就是分支度為0的節點,又稱終端節點。 6.樹林(Forest):去除樹根後剩餘的部分(三個子樹)即 「樹林」 7.階 閱讀完整內容
留言
張貼留言