2.上机实践 用windbg确定返回地址离sl首地址的距离 void overflow(char * s,int size) {
char sl[99]; int len;
len=strlen(s);
printf(“receive %d bytes”,size); s[size]=0; strcpy(sl,s); }
第七章 1.实验题目
2.修改GetKernel32FunAddress.cpp,打印出kerner32.dll所有的输出函数及其地址 3.为什么传统的(Linux/Unix)把堆栈中shellcode所在的大致地址覆盖函数返回地址的溢出方法在Windows下可行性不高。
在Windows和Linux/Unix的内核设计、内存管理都很不一样,而且Windows下的程序特别推崇多线程,这就导致堆栈位置不固定,所以Linux/Unix传统的把堆栈中shellcode所在的大致地址覆盖函数返回地址的溢出方法在Windows下可行性不高。 第八章
1.简述Smurf攻击的过程
①攻击者向方法网络的广播细致发送源地址伪造成受害者IP地址的ICMP返回请求分组,这样看起来是受害者的主机发起了这些请求,导致放大网络上所有的系统都将对受害者的系统做出响应。②网络中的所有主机都会向欺骗性分组的IP地址发送echo响应,如果这是一个很大的以太网段,可以会有几百个主机对收到的echo请求进行回复③由于多数系统都会尽快的处理ICMP传输信息,Attacker把分组的源地址设置为目标系统的IP地址,目标系统很快就会被大量的echo信息吞没,这样轻而易举的就能够阻止该系统处理其他任何网络传输,从而拒绝为正常系统提供服务。 2.简述SYN Flood 的攻击原理
攻击者向服务器发送大量伪造IP地址的TCP连接请求,由于IP地址是伪造的,无法完成最后一次握手,这样在服务器中有大量的半开连接,侵占了服务器的资源。如果在超时时限之内半开连接超过了上线,则服务器将无法相应新的正常连接。 3.修改Windows注册表,防止SYN攻击
与SYN Flood相关的注册表键为
HKEY_LOCAL_MACHINE\\Systems\\CurrentControlSet\\Tcpip\\Parameters
①增加一个SynAttackProtect的键值,类型为REG_DWORD 取值范围是0-2 ,推荐设为2
②增加一个TcpMaxHalfOpen的键值,类型为REG_DWORD 取值范围是100-0xFFFF,这个值为系统允许同时打开的半连接。
③增加一个TcpMaxHalfOpenRetried的键值,类型为REG_DWORD 取值范围是80-0xFFFF,这个值决定在什么情况下系统会打开SYN攻击保护。 4.DoS的攻击目的是什么
拒绝服务即Denial of Service,简称DoS。造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务,导致合法用户无法访问系统资源,从而破坏目标系统的可用性。
5.早期的DoS和现代的DoS方法有什么主要区别
早期的DoS攻击主要利用操作系统或应用软件的缺陷。现代的DoS试图耗尽目标系统(通信层和应用层)的全部能力,让它无法为合法用户提供服务(或不能及时提供服务)
6.简述带宽攻击和连通性攻击
带宽攻击本质是攻击者消耗掉某个网络的所有可用带宽:①攻击者因为有更多的可用带宽而能够造成受害者网络的拥塞。②攻击者通过征用多个网点集中拥塞受害者的网络,以放大他们的DoS攻击效果
带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。
连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
7.何谓分布式拒绝服务DDoS
分布式拒绝服务即DdoS,是一种分布、协作的大规模拒绝服务攻击方式。为了攻击大型站点,可以利用一大批(数万台)受控制的机器向一台及其(某一站点)发起攻击。这样的攻击成为DdoS攻击。 8.简述如何防止Smurf攻击
①增加连接队列的大小,增加SYN-Flood攻击的难度②缩短连接建立超时时限③应用厂家检测及规避潜在的syn攻击的相关软件补丁④应用网络IDS产品⑤使用退让策略避免被攻击⑥修改注册表,减低SYN Flood的危害
9.为什么基于DNS解析的负载均衡架构具有对SYN Flood攻击的免疫力
基于DNS解析的负载均衡能将用户的请求分配到不同IP的服务器主机上,攻击者攻击的永远只是其中一台服务器,虽然说攻击者也能不断去进行DNS请求从而打破这种“退让”策略,但是一来这样增加了攻击者的成本,二来过多的DNS请求可以帮助我们追查攻击者的真正踪迹(DNS请求不同于SYN攻击,是需要返回数据的,所以很难进行IP伪装)。
第九章
1.狭义病毒的特征是什么?广义病毒的特征是什么?蠕虫病毒的特征是什么?
狭义病毒即传统意义上的病毒,指那种既具有自我复制能力,又必须寄生在其他程序(或文件)中的恶意代码。即同时具有寄生性和感染性的恶意代码。 广义病毒: ①感染性②非授权性③潜伏性④可触发性⑤破坏性
蠕虫病毒:是一种自治的、智能的恶意代码。主动扫描和攻击网络上存在系统漏洞的节点主机,通过局域网或者国际互联网从一个节点传播到另外一个节点。网络蠕虫自动实现扫描、入侵、感染目标等攻击全过程,可以看作是只能化的攻击代理,代替攻击者实现一序列的攻击过程。
2.计算机病毒有哪几个模块组成,每个模块主要实现什么功能? ①引导模块:病毒的主控模块,用于协调病毒对各模块的调用。 ②感染模块:负责完成病毒的感染功能
③触发模块:对预先设定的条件进行判断,如果满足则返回真值,否则返回假值。 ④破坏模块:完成具体的破坏作用。
3.网络蠕虫由哪几个模块组成,每个模块主要实现什么功能?
①侦查模块:攻击者在发起攻击前,通过收集对分辨系统类型其关键作用的特征,或者安全级别较高的漏洞信息,来确定哪些系统可以成为其攻击目标。
②攻击模块:蠕虫系统节点通过该模块可在非授权情形下侵入系统,获取系统信息,必要时可在被入侵系统上提升自己的权限。
③通信模块:一方面在器收集有价值的信息后,根据设计者的设计,他可能需要将这些信息发给某个特定的用户。另一方面,如果攻击者有意利用蠕虫,他就会通过一定的通信信道与该蠕虫进行通信。
④命令接口模块:通过该命令接口我们可以采用手工方式控制传播出去的某些蠕虫,进而可以控制受害主机。这种控制一方面提供了交互机制,用户可以直接控制蠕虫的动作,另一方面还可以让蠕虫通过一些通道实现自动控制。 ⑤数据库支持模块: 4.解释恶意活动代码的含义
恶意代码是指任何可以在计算机之间和网络之间传播的软件程序或可执行代码,在未授权的情况下更改或控制计算机系统。
5.解释独立的恶意代码和非独立的恶意代码的含义
独立的恶意代码:自我复制过程就是将自身传播给其他系统的过程。
非独立恶意代码:自我复制过程是将自身嵌入宿主程序的过程,这一过程也称为感染宿主程序的过程。
6.狭义病毒分成哪几类?
①引导型病毒②文件型病毒③混合型病毒④变形病毒⑤宏病毒 7.简述狭义病毒的5个特性
①感染性 :病毒具有把自身的拷贝放入其他程序的特性。(根本属性)②非授权性:病毒隐藏在正常程序中,当用户调用正常程序时窃取系统的控制权,先于正常程序执行。病毒的动作、目的对于用户是未知的,是未经用户允许的。③潜伏性:计算机病毒的隐藏自己,使人难以发现的特性 ④可触发性:计算机病毒因某个因素的出现,使病毒进行感染和攻击的特性 ⑤破坏性:破坏文件或数据,扰乱系统正常的特性。
第十章
1.如何在Windows2003中禁止某个用户从本地登录?
开始—>本地安全策略--->本地策略—>用户权限分配—>拒绝本地登陆—>右击—>属性—>删除某个用户—>确定
2.在WindowsXP上实现一个简单的包过滤防火墙,只允许其他主机连入TCP3389端口,写出实现的过程
右击网上邻居—>属性—>右击本地连接—>属性—>选择【Internet协议(TCP/IP)】—>属性—>高级—>选项—>选中TCP/IP 筛选—>属性—>选中启用TCP/IP筛选(所有适配器)—>在TCP中选择值允许,然后添加3389端口,UDP和IP协议全部选择只允许。
3.在哪些情况下可能会发生输入验证攻击
如果进程没有确切的分析并验证所收到输入的有效性,则有可能发生输入验证攻击 ①程序无法辨识语法上不正确的输入 ②模块接受了无关的输入 ③模块没有能够处理遗漏的输入栈 ④发生了域值相关性错误
4.如何配置Linux系统,禁止除192.167.78.x的IP地址访问本机的ftp服务 ①编辑hosts.deny文件 加入以下行 #Deny access to everyone ALL:ALL@ALL
②编辑hosts.allow文件,加入以下行 #Just an example: ftp:192.168.78.x
5.以Windows2000为测试目标,利用中文输入法漏洞,增加账户test,提升为管理员权限(实践题)
6.查看Linux系统的/etc/passwd文件,熟悉各个域的含义。
7.TCSEC(受信计算机系统评测标准)标准的C2安全级4项关键功能 安全登录机制、自主访问控制机制、安全审计机制和对象重用保护机制。 8.如何将Linux系统的普通用户abc改为root用户。 sudo gedit /etc/passwd 在passwd中找到下面这行
lulipeng:x:1000:1000:,,,:/home/lulipeng:/bin/bash 将两个1000的位置均改为0即可
9.为什么root对其可执行文件设置用户ID许可会带来严重的安全隐患。

