社課 (施工中)
- 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 torm -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