SlideShare a Scribd company logo
1 of 32
常見 Web 攻擊及防範
主講人|Rainmaker
日 期|2021/04/23
www.gss.com.tw
2
Introduction
何金鎮 Rainmaker Ho
現職 經歷 專長 證照
叡揚資訊 經理 • Microsoft MVP Reconnect
• Microsoft C# MVP
(2012 ~ 2016)
• .NET
• Node JS
• MS SQL
• Azure Developer Associate
• Azure Administrator Associate
• Azure Database Administrator
Associate
• MCSD: App Builder
3
Agenda
大綱 ❯ SQL Injection
❯ Cross-site Scripting (XSS)
❯Cross Site Request Forgery (CSRF)
❯ Broken Access Control
❯ Insecure Deserialization
購物網站
4
問題
❯ 想要買 Mac Pro ,但是 $$ 不夠
❯ … 找漏洞,改 價格 ?
❯ http://localhost:44375/Product/Detail?ProductID=13&orderBy=UserID
❯ http://localhost:44375/Product/Detail?ProductID=13&orderBy=UserIa
❯ http://localhost:44375/Product/Detail?ProductID=13&orderBy=UserID,1
❯ http://localhost:44375/Product/Detail?ProductID=13&orderBy=UserID,a
5
SQL Injection 手法 – WaitFor Delay ‘時:分:秒’
6
SQL Injection 手法 – 依序取得一筆資料
❯ 翻轉吧! 資料
7
SQL Injection 手法 – 讓 SQL 發生錯誤
8
Understanding SQL injection
9
http://www.mysite.com/product?id=1
SELECT * FROM Product WHERE Id = 1
可信任
不可信任
問題是?
❯ 不信任的地方
10
/product?id=1 or 1=1
SELECT * FROM Product WHERE
Id = 1 or 1=1
Types of SQL injection attack
❯ Explicit
❯ Union-based: append a result set that’s render to the markup
❯ Error-base: disclose information in an unhandled exception
❯ Implicit(blind)
❯ Boolean-base: test if a particular condition is true
❯ Time-base: cause the response to be delayed in response to a
test
11
利用漏洞,改價格
❯ http://localhost:44375/Product/Detail?ProductID=13&orderBy=UserID
;WaitFor Delay '00:00:05’;--
❯ http://localhost:44375/Product/Detail?ProductID=13&orderBy=UserID
,case when (SELECT Top 1 substring(A2.name, 1, 1) From
( SELECT Top 1 A1.name FROM sys.tables A1 Order By A1.name )
A2 Order By A2.name Desc) = 'a' then 1 else convert(int, 'x') end;
12
取得 Email 帳號
❯ SQL Injection
13
修正 SQL Injection - Parameter
14
修正 SQL Injection - LINQ
15
Reflected XSS
16
1234
http://web.site/vulnerable.asp?arg=1234
<html><body>1234</body></html>
1234
http://web.site/vulnerable.asp?arg=<script>...</script>
<html><body><script>…</script></body></html>
stored
Stored XSS
17
<script>
...
</script>
Usernam
e
Note Time
john hello …
allen
<script>
…
</script>
…
bill … …
hello
Submit
Post
<script>…</script>
Attack
Encoder
Encoding Method Example/Pattern
HtmlEncode <a href="http://www.contoso.com">Click Here [Untrusted input]</a>
HtmlAttributeEncode <hr noshade size=[Untrusted input]>
JavaScriptEncode
<script type="text/javascript"> …
[Untrusted input]
…
</script>
UrlEncode <a href="http://search.msn.com/results.aspx?q=[Untrusted-input]">Click Here!</a>
VisualBasicScriptEncode
<script type="text/vbscript" language="vbscript"> …
[Untrusted input]
…
</script>
XmlEncode <xml_tag>[Untrusted input]</xml_tag>
XmlAttributeEncode <xml_tag attribute=[Untrusted input]>Some Text</xml_tag>
18
https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/aa973813(v=msdn.10)?redirectedfrom=MSDN
提供免費 Wi-Fi ,使用中間人攻擊,Key Logger
19
偷聽,竄改
Cross Site Request Forgery(跨站請求偽造)
20
CSRF 解法
21
偷取管理權
22
Direct Obj-Ref: Upload File
23
upload
Select a file to upload
D:Documentsabc.txt
http://web.site/upload/abc.txt
upload
Select a file to upload
D:Malwareevil.exe
http://web.site/upload/evil.exe
攻擊練習 – 新增產品
24
攻擊練習 – 新增產品
25
攻擊練習 – 新增/修改產品
26
序列化 及 反序列化
27
Object
序列化
Stream
Of
Bytes
File
Data
Base
Remote Web
Application
Server
反序列化
Stream
Of
Bytes
Object
這 MyStore 是 Open Source
28
呼叫計算機程式
29
呼叫計算機程式
30
多段攻擊
❯ 上傳 KeyLogger.exe
❯ 執行 KeyLogger.exe
❯ 下載 KeyLogger.log
31
感謝聆聽
www.gss.com.tw
Vital 雲端服務家族
GSS 叡揚資訊
國家產業創新獎
卓越中堅企業獎
股票代號|6752

More Related Content

What's hot

视图模式
视图模式视图模式
视图模式Li Zhang
 
Inspire DGT 網站技術分享
Inspire DGT 網站技術分享Inspire DGT 網站技術分享
Inspire DGT 網站技術分享inspire digital
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染Sheng-Han Su
 
浏览器加载原理
浏览器加载原理浏览器加载原理
浏览器加载原理imkingbird
 
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.02011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0Anthony Chen
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationMia Chang
 
Proxy解說
Proxy解說Proxy解說
Proxy解說Tony Yeh
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
浅析浏览器解析和渲染
浅析浏览器解析和渲染浅析浏览器解析和渲染
浅析浏览器解析和渲染Ailsa126
 

What's hot (9)

视图模式
视图模式视图模式
视图模式
 
Inspire DGT 網站技術分享
Inspire DGT 網站技術分享Inspire DGT 網站技術分享
Inspire DGT 網站技術分享
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
 
浏览器加载原理
浏览器加载原理浏览器加载原理
浏览器加载原理
 
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.02011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
 
twMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie RecommendationtwMVC#29 -Learning Machine Learning with Movie Recommendation
twMVC#29 -Learning Machine Learning with Movie Recommendation
 
Proxy解說
Proxy解說Proxy解說
Proxy解說
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
浅析浏览器解析和渲染
浅析浏览器解析和渲染浅析浏览器解析和渲染
浅析浏览器解析和渲染
 

Similar to 常見 Web 系統攻擊及防範

钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会Zhi Zhong
 
建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4Cat Chen
 
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile ServicesKuo-Chun Su
 
大型互联网应用架构设计
大型互联网应用架构设计大型互联网应用架构设计
大型互联网应用架构设计thinkinlamp
 
D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomihdksky
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器Leyi (Kamus) Zhang
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dbamaclean liu
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing江華 奚
 
前端框架發展
 前端框架發展 前端框架發展
前端框架發展Chi-wen Sun
 
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统Frank Xu
 
Web Caching Architecture and Design
Web Caching Architecture and DesignWeb Caching Architecture and Design
Web Caching Architecture and DesignHo Kim
 
Php应用程序常见安全问题解析
Php应用程序常见安全问题解析Php应用程序常见安全问题解析
Php应用程序常见安全问题解析mysqlops
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC
 
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsExam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsChieh Lin
 
前端MVC之backbone
前端MVC之backbone前端MVC之backbone
前端MVC之backboneJerry Xie
 
zend framework in web services
zend framework in web serviceszend framework in web services
zend framework in web services王 承石
 
Jdbc中驱动加载的过程分析(下)
Jdbc中驱动加载的过程分析(下)Jdbc中驱动加载的过程分析(下)
Jdbc中驱动加载的过程分析(下)yiditushe
 

Similar to 常見 Web 系統攻擊及防範 (20)

钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会钟志 第八期Web标准化交流会
钟志 第八期Web标准化交流会
 
建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4建站大业,实战ASP.NET 4
建站大业,实战ASP.NET 4
 
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
 
大型互联网应用架构设计
大型互联网应用架构设计大型互联网应用架构设计
大型互联网应用架构设计
 
D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomi
 
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIStwMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
twMVC#32應用 ASP.NET WebAPI2 Odata 建置高互動性 APIS
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dba
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
 
前端框架發展
 前端框架發展 前端框架發展
前端框架發展
 
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
 
Mvc
MvcMvc
Mvc
 
Web Caching Architecture and Design
Web Caching Architecture and DesignWeb Caching Architecture and Design
Web Caching Architecture and Design
 
Php应用程序常见安全问题解析
Php应用程序常见安全问题解析Php应用程序常见安全问题解析
Php应用程序常见安全问题解析
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsExam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
 
前端MVC之backbone
前端MVC之backbone前端MVC之backbone
前端MVC之backbone
 
zend framework in web services
zend framework in web serviceszend framework in web services
zend framework in web services
 
CRUD 綜合運用
CRUD 綜合運用CRUD 綜合運用
CRUD 綜合運用
 
Jdbc中驱动加载的过程分析(下)
Jdbc中驱动加载的过程分析(下)Jdbc中驱动加载的过程分析(下)
Jdbc中驱动加载的过程分析(下)
 

More from Rainmaker Ho

Progressive Web Apps - Tips
Progressive Web Apps - TipsProgressive Web Apps - Tips
Progressive Web Apps - TipsRainmaker Ho
 
Sql效能調校分享-資料瘦身
Sql效能調校分享-資料瘦身Sql效能調校分享-資料瘦身
Sql效能調校分享-資料瘦身Rainmaker Ho
 
從Developer來看 效能調校
從Developer來看效能調校從Developer來看效能調校
從Developer來看 效能調校Rainmaker Ho
 
SQL Count(*) VS Count(1)
SQL Count(*) VS Count(1)SQL Count(*) VS Count(1)
SQL Count(*) VS Count(1)Rainmaker Ho
 
Internet of Things
Internet of ThingsInternet of Things
Internet of ThingsRainmaker Ho
 
Asp.net開發要注意的是?
Asp.net開發要注意的是?Asp.net開發要注意的是?
Asp.net開發要注意的是?Rainmaker Ho
 
軟體弱點掃描
軟體弱點掃描軟體弱點掃描
軟體弱點掃描Rainmaker Ho
 

More from Rainmaker Ho (9)

Progressive Web Apps - Tips
Progressive Web Apps - TipsProgressive Web Apps - Tips
Progressive Web Apps - Tips
 
Sql效能調校分享-資料瘦身
Sql效能調校分享-資料瘦身Sql效能調校分享-資料瘦身
Sql效能調校分享-資料瘦身
 
Angular2 Form
Angular2 FormAngular2 Form
Angular2 Form
 
Angular2 DI
Angular2 DI Angular2 DI
Angular2 DI
 
從Developer來看 效能調校
從Developer來看效能調校從Developer來看效能調校
從Developer來看 效能調校
 
SQL Count(*) VS Count(1)
SQL Count(*) VS Count(1)SQL Count(*) VS Count(1)
SQL Count(*) VS Count(1)
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Asp.net開發要注意的是?
Asp.net開發要注意的是?Asp.net開發要注意的是?
Asp.net開發要注意的是?
 
軟體弱點掃描
軟體弱點掃描軟體弱點掃描
軟體弱點掃描
 

常見 Web 系統攻擊及防範

Editor's Notes

  1. 看一下 mac pro 的價格,太貴了!
  2. 看一下 Comment 後,可能有 SQL Injection 的問題
  3. 信任 不信任的地方
  4. 確定有 SQL Injection 後,猜出要改的資料表及欄位,然後透過 Injection 的方式來更新價格
  5. 1.’ or ‘1’ = ‘1 2.每次都是同一個 tony 帳號,尋找多一點人頭戶
  6. VS.NET 工作清單
  7. 登入系統,找出 Reflected XSS 問題,開EMAIL給你,然後故意把URL輸入Script , hack cindy
  8. Hack
  9. Encode會造成一些問題
  10. 登入系統,變更密碼,發現沒有用
  11. 沒有阻擋一些惡意程式的功能,限制副檔名,但效果有限. 若惡意程式更改副檔名,還是可上傳. 可以upload上去,也可以download下來 1.不讓人家知道upload區域 2.Upload區域只可寫不可讀,download區域只能讀不能寫 3.上傳檔案後變更原始檔名(增加困難度) 4.定時搬到download區域,再做定期的病毒掃描 上傳到一個區域,然後再給別人連結點(傳到政府單位) 可以對得起來就是Direct Obj-Ref
  12. 上傳 MyStore\Labs 目錄中的 fileBrowser.aspx
  13. Hacker預設是不會把程式直接執行出來的 要加上 ?authkey=gss 更多的 WebShell 可以 Search https://github.com/SecWiki/WebShell-2