Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開發學校雲端服務的奇技淫巧(Tips for Building Third-Party School Service)

adr
March 18, 2017

開發學校雲端服務的奇技淫巧(Tips for Building Third-Party School Service)

想替自己學校開發雲端服務卻無從上手起嗎?議程教學如何在學校電算中心未開放任何 API 下實作出屬於自己的學校雲端服務。本議程將演示一個義守大學廣獲好評第三方熱門服務,並解釋如何實作同步學生當天課程、Moodle 課程、Moodle作業狀況,並且在前端即可實作跨域名繞過 CSP 瀏覽器安全限制替學校 Moodle 登入,議程末將釋出整份專案開源於 Github 上。
議程內容涉及外掛開發、資訊安全相關領域的技術內容、電算中心防外掛偵測點與應對技術。

adr

March 18, 2017
Tweet

More Decks by adr

Other Decks in Technology

Transcript

  1. Ma Sheng-Hao (aaaddress1, aka adr) TDOHacker 資安社群核⼼心成員 Debug Guy Speaker

    ‣ TDOHConf 2016 議程組長 ‣ HITCON CMT 2015 ‣ SITCON 2016 ‣ HITCON CMT 2016 Lightning Talk ‣ 台灣科技⼤大學新型態資安實務課程 ‣ BSidesLV ‣ ICNC ‣ MC2015 ‣ 全國資安會議 C/C++, C#, VB, MASM, Python, Swift, Node.js, Java 專研於 Windows 上平台特性與程式弱點與逆向⼯工程分析 知名作品涉及楓之⾕谷外掛, 神魔之塔外掛, 義守管家, cuteRansomware, Adr'sFB
  2. Browser HTTP 網⾴流量分析 瀏覽器 瀏覽器的作⽤用⼀一般來來說: 1. 跟伺服器取得網⾴頁原始碼 2. 分析原始碼,建立出物件樹 3.

    物件佈局位置分析 4. 將每⼀一個物件樹的物件渲染顯⽰示在⾴頁 ⾯面上 5. 主流瀏覽器現在⼀一般都⾃自帶有流量量分 析⼯工具 e.g. Chrome, Firefox, Safari
  3. Application School Server GET /helloWorld HTTP/1.1 Cookie: gg=ininder;
 HTTP/1.1 200

    OK <p>hello world! adr<p> Cookie: gg=ininder; (⾝身份資訊) ⼀般第三⽅服務 BOT
  4. Application School Server GET /helloWorld HTTP/1.1 Cookie: gg=ininder;
 HTTP/1.1 200

    OK <p>hello world! adr<p> Cookie: gg=ininder; 收到伺服器回應的網⾴頁原始碼, 分析並更更新 UI 顯⽰示給使⽤用者 ⼀般第三⽅服務 BOT
  5. Application School Server GET /timeTable HTTP/1.1 Cookie: gg=ininder;
 HTTP/1.1 200

    OK <table><tr><td>english</td> … Cookie: gg=ininder; 收到伺服器回應課表原始碼, 分析課程內容並顯⽰示 ⼀般第三⽅服務 BOT
  6. Application User Side School Server 請求 回應 Cookie: gg=ininder; 回應

    請求 Cookie: gg=ininder; 建⽴⼀個第三⽅服務
  7. JS ⽂字處理函數 var Str = ‘<title>Hello world</title>’ > Str =

    Str.slice(Str.indexOf('>') + 1) > Str = Str.slice(0, Str.indexOf(‘<')) > Str.split(' ')[1] 'world'
  8. Browser User Side School Server 請求 回應 Cookie: gg=ininder; 回應

    請求 Cookie: gg=ininder; 第三⽅方服務