社課 (施工中)

  • 14週課程內容大綱

社團介紹

  • 社團前身 Bamboofox
  • 幹部介紹
  • 社團資源
  • 網路世界的攻防 黑帽和我們的戰爭 (資安(白帽)主要在做些什麼(視情況改變名詞但是不改介紹內容)
  • Capture The Flag

基礎知識教學(一)

  • 駭客不是無敵的(並不是所有的程式都存在漏洞
  • logical hole
  • backdoor
  • default password
  • unexpected input => crashing program
  • change program behavior
  • code review
  • find the vulnerable point
  • try to bypass or exploit it

基礎知識教學(二)

  • virtual machine introduction
  • why we use virtual machine
  • effectively distinguish the host and the virtual machine
  • sometimes we have to test the virus program (sandbox)
    For example :
    python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"
    is equal to rm -rf ~/

  • 灌一個屬於自己的virtual machine

  • Linux(我希望是教Kali灌64bit的)

  • Kali上的常用工具介紹

  • openvpn

  • 使用vpn連上vpn server

  • onion network(tor) # tor的封包內容有可能被加料 務必教導社員使用之危險性

  • wireshark

  • 如何分析流量

  • 使用fliter取得有興趣的資料

web(一)

  • 基本http介紹
  • 使用nc和80port溝通 GET的使用
  • Useful firefox addon/chrome plugin
  • html
  • 一個基礎的表單form
  • get 和post的差別
  • 使用wireshark觀察封包
  • 介紹什麼是sniff
  • https

web(二)

  • php介紹
  • php黑魔法
  • cipher(想介紹模仿遊戲的英格碼)
  • javascript
  • cookie
  • XSS

web(三)

  • mysql介紹
  • sql injection
  • how to find the injection point
  • sql injection method
  • union based
  • boolean based
  • error based
  • time based

binary(一)

  • 撰寫簡易的c程式並使用gcc compile
  • 使用objdump來觀察elf
  • 詳細介紹objdump返組譯出的assembly x86
  • GDB使用(soft debugging的題目可以帶一題)
  • 觀察stack裡的值

binary(二)

  • 延伸objdump的應用
  • 詳細了解整個stack frame的結構
  • x86 calling convention
  • return address location
  • how to overwritten it
  • buffer overflow

binary(三)

  • linux system call
  • how to write shellcode
  • system call debug(strace)
  • return to shellcode
  • dynamic library call debug(ltrace)
  • control eip

script language

  • Python introduction
  • make sense with string
  • make sense with hex
  • telnet and send payload
  • sample code is important

挑戰題目

ctf比賽介紹