`

top 10网站安全弱点 基本解决方案

阅读更多
A1 – Injection(注入攻擊)

 網站應用程式執行來自外部包括資料庫在內的惡意指令,SQL Injection與Command Injection等攻擊包括在內。因為駭客必須猜測管理者所撰寫的方式,因此又稱「駭客的填空遊戲」。

 舉例來說,原本管理者設計的登入頁面資料庫語法如下:

$str = "SELECT * FROM Users WHERE Username='“.$user."' and
Password=‘”.$pass."'“;

 如果說$user以及$pass變數沒有做保護,駭客只要輸入「’ or ‘‘=’」字串,就會變成以下:

$str = “SELECT * FROM Users WHERE Username='' or ''='' and Password= '' or
‘’=‘’”;

 如此一來,這個SQL語法就會規避驗證手續,直接顯示資料。

 簡述駭客攻擊流程:

   1. 找出未保護變數,作為注入點
   2. 猜測完整Command並嘗試插入
   3. 推測欄位數、Table名稱、SQL版本等資訊
   4. 完整插入完成攻擊程序

 防護建議:

    * 使用Prepared Statements,例如Java PreparedStatement(),.NET SqlCommand(), OleDbCommand(),PHP PDO bindParam()
    * 使用Stored Procedures
    * 嚴密的檢查所有輸入值
    * 使用過濾字串函數過濾非法的字元,例如mysql_real_escape_string、addslashes
    * 控管錯誤訊息只有管理者可以閱讀
    * 控管資料庫及網站使用者帳號權限為何

A2 – Cross Site Scripting ( XSS )(跨站腳本攻擊)

 網站應用程式直接將來自使用者的執行請求送回瀏覽器執行,使得攻擊者可擷取使用者的Cookie或Session資料而能假冒直接登入為合法使用者。

 此為目前受災最廣的攻擊。簡稱XSS攻擊。攻擊流程如下圖:

   1. 受害者登入一個網站
   2. 從Server端取得Cookie
   3. 但是Server端上有著XSS攻擊,使受害者將Cookie回傳至Bad Server
   4. 攻擊者從自己架設的Bad Server上取得受害者Cookie
   5. 攻擊者取得控制使用受害者的身分

 防護建議:

    * 檢查頁面輸入數值
    * 輸出頁面做Encoding檢查
    * 使用白名單機制過濾,而不單只是黑名單
    * PHP使用htmlentities過濾字串
    * .NET使用Microsoft Anti-XSS Library
    * OWASP Cross Site Scripting Prevention Cheat Sheet
    * 各種XSS攻擊的Pattern參考

A3 – Broken Authentication and Session Management(身分驗證功能缺失)

 網站應用程式中自行撰寫的身分驗證相關功能有缺陷。例如,登入時無加密、SESSION無控管、Cookie未保護、密碼強度過弱等等。

 例如:
 應用程式SESSION Timeout沒有設定。使用者在使用公用電腦登入後卻沒有登出,只是關閉視窗。攻擊者在經過一段時間之後使用同一台電腦,卻可以直接登入。

 網站並沒有使用SSL / TLS加密,使用者在使用一般網路或者無線網路時,被攻擊者使用Sniffer竊聽取得User ID、密碼、SESSION ID等,進一步登入該帳號。

 這些都是身分驗證功能缺失的例子。

 管理者必須做以下的檢查:

    * 所有的密碼、Session ID、以及其他資訊都有透過加密傳輸嗎?
    * 憑證都有經過加密或hash保護嗎?
    * 驗證資訊能被猜測到或被其他弱點修改嗎?
    * Session ID是否在URL中暴露出來?
    * Session ID是否有Timeout機制?

 防護建議:

    * 使用完善的COOKIE / SESSION保護機制
    * 不允許外部SESSION
    * 登入及修改資訊頁面使用SSL加密
    * 設定完善的Timeout機制
    * 驗證密碼強度及密碼更換機制

A4 – Insecure Direct Object References(不安全的物件參考)

 攻擊者利用網站應用程式本身的檔案讀取功能任意存取檔案或重要資料。進一步利用這個弱點分析網站原始碼、系統帳號密碼檔等資訊,進而控制整台主機。

 例如:http://example/read.php?file=../../../../../../../c:oot.ini。

 防護建議:

    * 避免將私密物件直接暴露給使用者
    * 驗證所有物件是否為正確物件
    * 使用Index / Hash等方法,而非直接讀取檔案

A5 – Cross Site Request Forgery (CSRF)(跨站冒名請求)

 已登入網站應用程式的合法使用者執行到惡意的HTTP指令,但網站卻當成合法需求處理,使得惡意指令被正常執行。

 舉例來說,攻擊者在網站內放置了 <img src=”http://server.com/send.asp?to=...”> ,受害者讀取到此頁面之後,就會去server.com主機執行send.asp惡意行為。

 例如Web 2.0時代的社交網站等等,都是CSRF攻擊的天堂。

 
 防護建議:

    * 確保網站內沒有任何可供XSS攻擊的弱點
    * 在Input欄位加上亂數產生的驗證編碼
    * 在能使用高權限的頁面,重新驗證使用者
    * 禁止使用GET參數傳遞防止快速散佈
    * 使用Captcha等技術驗證是否為人為操作

 或者參考OWASP所提供的CSRF Solution

    * OWASP CSRFTester Project
    * OWASP CSRFGuard Project
    * OWASP CSRF Prevention Cheat Sheet

A6 – Security Misconfiguration(安全性設定疏失)

 系統的安全性取決於應用程式、伺服器、平台的設定。因此所有設定值必須確保安全,避免預設帳號、密碼、路徑等。甚至被Google Hacking直接取得攻擊弱點。

 防護建議:

    * 軟體、作業系統是否都有更新到最新版本?是否都有上最新Patch?
    * 不需要的帳號、頁面、服務、連接埠是否都有關閉?
    * 預設密碼是否都有更改?
    * 安全設定是否都完備?
    * 伺服器是否都有經過防火牆等設備保護?

 各種設備、系統的預設密碼,都可以在網路上找到一些整理資料。

 http://www.phenoelit-us.org/dpl/dpl.html
 http://www.routerpasswords.com/
 http://www.defaultpassword.com/

A7 – Failure to Restrict URL Access(限制URL存取失敗)

 網頁因為沒有權限控制,使得攻擊者可透過網址直接存取能夠擁有權限或進階資訊的頁面。例如管理介面、修改資料頁面、個人機敏資訊頁面洩漏等等。

 舉例來說,
 /admin
 /backup
 /logs
 /phpmyadmin
 /phpinfo.php
 /manage

 這些都是常見的路徑及檔案。攻擊者只要猜測到,就可以操弄主機。

 防護建議:

    * HTTP Service直接限制來源IP
    * 使用防火牆阻擋
    * 密碼授權加密頁面
    * 網站架構最佳化

A8 – Unvalidated Redirects and Forwards(未驗證的導向)

 網頁應用程式經常將使用者Forward或Redirect至其他頁面或網站,沒有驗證的機制。攻擊者可將受害者導向至釣魚網站或惡意網站,甚至存取受限制的資源。

 例如:

 http://example.cc/redir.jsp?url=evil.com
 http://example.cc/func.jsp?fwd=admin.jsp
 http://g.msn.com/9SE/1?http://xxx.com

 防護建議:

    * 非必要時避免使用Redirect及Forward
    * 驗證導向位置及存取資源是合法的

A9 – Insecure Cryptographic Storage(未加密的儲存設備)

 網站應用程式沒有對敏感性資料使用加密、使用較弱的加密演算法或將金鑰儲存於容易被取得之處。加密演算法是安全防護的最後一道防線,當駭客取得了帳號密碼,可以簡單地使用一些破解軟體甚至線上服務進行破解。例如Cain & Abel,MD5 Reverse Lookup等。

 防護建議:

    * 使用現有公認安全的加密演算法
    * 減少使用已有弱點的演算法,例如MD5 / SHA-1,甚至更簡單的加密法
    * 安全的保存私鑰

A10 – Insufficient Transport Layer Protection(傳輸層保護不足)

 網頁應用程式未在傳輸機敏資訊時提供加密功能,或者是使用過期、無效的憑證,使加密不可信賴。

 例如:攻擊者竊聽無線網路,偷取使用者cookie;網站憑證無效,使用者誤入釣魚網站。

 防護建議:

    * 盡可能的使用加密連線
    * Cookie使用Secure Flag
    * 確認加密憑證是有效並符合domain的
    * 後端連線也使用加密通道傳輸
    * http://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet

 Cookie Secure Flag設定:

    * PHP setcookie ("TestCookie", "", time() - 3600, “/", ".example.com", 1);
    * JSP cookie.setSecure(true);
    * ASP.NET cookie.Secure = True;
分享到:
评论

相关推荐

    云安全项目解决方案(三个阶段)_v2.0_20160826.pdf

    【云安全项目解决方案概述】 云安全项目解决方案主要分为三个阶段,旨在为企业提供全面的云环境安全保障。本解决方案针对云环境中常见的安全威胁,如Web应用攻击、DDoS攻击、主机入侵等,提出有效的防御策略和应对...

    绿色互联网与网站安全(共75张PPT).pptx

    杭州安恒信息技术有限公司是一家由归国留学生创办的高新技术企业,专注于提供专业的Web应用和数据库安全解决方案。公司拥有强大的团队,核心成员来自国内外知名的安全厂商,注册资金1800万,员工总数超过200人,分布...

    2020-信息安全技术 代码安全审计规范.zip

    1. OWASP(开放网络应用安全项目)提供的编码规范:如OWASP Top 10,列出最常见的Web应用安全漏洞。 2. ISO/IEC 27001信息安全管理体系:包含代码安全审计的相关要求。 3. CWE(常见弱点枚举):提供一个通用的弱点...

    网络安全服务.pdf

    选择合适的漏洞扫描解决方案,并构建特定的评估文档至关重要,这有助于全面理解网络的安全状态。 测试钓鱼(Phishing Test)是另一种有效的安全措施,它模拟钓鱼攻击以评估员工对社会工程学攻击的抵御能力。免费...

    Web安全测试:《Appscan用户指南》《Web安全深度剖析》

    《AppScan用户指南》聚焦于IBM的AppScan工具,这是一个强大的静态和动态应用安全测试解决方案。AppScan允许测试人员在应用程序的开发阶段和部署后发现安全漏洞。以下是一些核心知识点: 1. **AppScan简介**:...

    OWASP,以开源的方式支撑企业应用安全体系化建设.pdf

    这些资源包括OWASP Top 10,这是OWASP发布的十大常见且重要的应用安全风险列表,它旨在教育开发者和安全分析师,帮助他们识别和解决应用程序中的安全弱点。OWASP Top 10的内容会定期更新,以反映当前应用安全威胁的...

    中标麒麟Linux系统的性能与安全.pdf

    * 监控系统资源的安全弱点和不良性能 * 用户管理用户活动 * 定期系统监控 * 系统备份和恢复 五、系统错误和违例 * 系统错误会影响系统性能 * 系统错误会生出体系空档 * 体系空档会给另类资源访问提供可乘之机 * ...

    信息安全_数据安全_Learning Lab:Unleash Your Inner .pdf

    在这个学习实验室中,参与者将接触到基于OWASP(开放网络应用安全项目)Top 10的挑战,这些挑战涵盖了最常见的安全问题。通过模拟真实场景,参与者需要识别特定的代码漏洞,定位已知的安全弱点,并修复不安全的代码...

    从应用安全风险的角度看待互联网汽车的安全.pdf

    它提供的OWASP Top 10是一份关于应用程序安全风险的年度清单,列出了当前最为常见的十大应用程序安全漏洞。例如,A1:2017–注入攻击,这是一种常见的攻击方式,通过将恶意代码注入输入字段来欺骗系统执行;A2:2017–...

    网络安全渗透思路(带视频讲解)

    6. **Web应用渗透**:重点讲解针对Web应用程序的渗透测试技术,如DOM XSS、CSRF、LFI/RFI等,以及如何利用OWASP Top 10中最常见的Web安全问题。 7. **防御策略**:在讲解攻击方法的同时,也会讨论相应的防御措施,...

    中标麒麟Linux系统的性能与安全.pptx

    * 监控系统资源的安全弱点和不良性能 系统错误分析方法: * 判断问题的性质 * 再现出错过程 * 查找进一步信息 * 形成一系列假说 * 挑选一个假说来证明 * 测试假说 * 记录结果,若有必要建立新的假说 系统监控的...

    Awvs最新v24.4.27

    总的来说,Acunetix Web Vulnerability Scanner v24.4.27是一个强大且全面的Web安全解决方案,适用于各类组织,无论大小,都需要确保其在线资产的安全。通过持续的扫描和漏洞管理,企业可以构建更坚固的网络安全防线...

    2010最危险的编程错误

    3. 缓解措施:榜单强调了缓解措施的重要性,即通过应用最佳实践和已知解决方案来减少软件中的安全风险。 4. 安全编程原则:榜单呼吁开发者遵循一些通用的安全编程原则,如最小权限原则、安全默认设置、防御深度等,...

    How_To_for_Innovators_and_Entrepreneursb.pdf

    此外,企业应部署移动设备管理(MDM)解决方案,以控制和保护公司拥有的设备及其上的数据。 安全体系的构建是全面保护企业免受威胁的基础。这包括制定和执行严格的安全政策,进行员工安全意识培训,以及建立应急...

    bwapp官方最新版本

    2. **README.txt**:这是一个标准的说明文件,通常包含了安装、配置、运行bwapp的步骤,以及可能遇到的问题和解决方案。它是初次使用者的指南,帮助快速上手。 3. **ClientAccessPolicy.xml** 和 **crossdomain.xml...

    天融信脆弱性扫描与管理系统(TopScanner)一本通.rar

    6. **异常处理**:提供在遇到问题时的故障排查方法,包括扫描失败、报告错误、系统警告等常见问题的解决方案。 7. **安全建议**:基于扫描结果,手册会给出针对性的安全建议,帮助用户修复漏洞,提高网络安全水平。...

    Burpsuite 1.7.26

    版本1.7.26是其历史上的一个重要更新,它集成了多种功能,为安全专业人员提供了一站式的解决方案,帮助他们发现并修复网站的安全漏洞。 一、Burp Suite的基本概念 1. **Proxy(代理)**:作为HTTP/HTTPS流量的中间...

    SecurityEssentials:通过将其用作模板而不是默认的Mvc项目,提高安全性基准。 通过持续应用安全规则来确保您的应用安全

    此Mvc解决方案改编自VS 2019,MVC5,.net 4.8和Bootstrap 4中的标准MVC模板。 安全增强 该列表基于OWASP Top 10 2013/2017 SQL注入:它使用实体框架ORM 弱帐户管理: 使用基于声明的身份验证 使用具有合适迭代...

Global site tag (gtag.js) - Google Analytics