课程主页:
http://staff.ustc.edu.cn/~bjhua/courses/security/2014/labs/lab2/index.html
Lab Overview
从这个实验开始, 你将接触linux的一些默认保护机制. 但是实验的实验目的明显不是教你来熟悉这些保护机制,那目的是什么呢?==>突破这些保护机制.
如: 栈不可执行, 地址随机化,金丝雀这三种着重在本试验里面提到的保护机制, 均可以被一些常规手段打破.
$ su root
Password: (enter root password)
# sysctl -w kernel.randomize_va_space=0
我们采用逐个击破的方式来应对挑战,地址随机化放在最后最后一部分来搞定,所以暂时把它关了.
Part A: Phishing
Exercise 1.First, read the browser's source code, find out at least one buffer
overflow vulnerability. Describe briefly how thisvulnerability can be exploited.
Now read the web server's source code, locate the key codesnippet which sends
response to the browser, how can you changethe code to crash the browser with
the above vulneralibity? Implementyour idea. Don't forget to test your code to
make surethe malicious web server works as expected.
首先理解一下何为"钓鱼" ? "蒋公钓鱼, 愿者上钩也".一个恶意的服务器,等着一帮傻傻的浏览器来主动登录,这个过程即称为钓鱼.恶意的服务器可以做任何事来达到它的目的,其实就是一个逆过程罢了,哪个过程的逆过程呢?Lab1是浏览器攻击服务器,这边就是其逆过程.
在这里,要实现成功攻击的前提已经相当苛刻了.需要使用我们在实验里面提供的Browser.c来浏览服务器.为什么限制使用特定的浏览器呢?因为现代的浏览器在设计的时候,已经将缓冲区溢出的情况考虑进去了,所以需要使用一个"呆呆"的浏览器,来重现早期的浏览器的状况.
Exercise 2. Use the techniques