战术攻防思维撷粹(2)
2006-07-04 20:29:23 来源:WEB开发网1、限定注册表的远程访问
regedt32-->安全菜单|权限==>关闭 NT Everyone读写权限和完全控制权限。
2、监测可疑端口
netstat -an | find "12345" http://www.foundstone.com 的fport工具也能实现如此功能!)
3、指纹检查技术(fingerprint),防止程序或文件被恶意修改,这里使用MD技术: D:\>md5 d:\test.txt>d:\test.md5
D:\>cat d:\test.md5
efd3907b037774d831596f2c1b14a d:\\test.txt
D:\>md5sum --check d:\test.md5
4、关闭W2K文件和打印共享属性
网络和拨号连接*“高级”菜单*高级设置*取消“Microsoft网络的文件与打印机共享”。
至此,我们完成了NT/W2K的漫游旅程。歇息一下,我们进入字符与命令的神奇世界。
*Unix/Linux,命令与脚本的天堂
Unix的历史很悠久,因此也有了许多动人的传奇故事。Eric所维护的Jargon File中,记载着这个世界很多围绕它而诞生的英雄史诗;而作为新星的Linux则在计算机的发展取到了推动作用,GNU的原则,让我们终于没有了技术界线和垄断。这里充满和平和自由,于是这里的天地将更赋有期待和激情。
【溢出初步】
关于溢出的这个问题,我记得曾经在1999-2001年的时候狂热的风行好些时候,那时候狂人们似乎有用不完的力气,于是溢出攻击的工具齐全了,溢出攻击的手段也逐渐偏向简单化。
以下是堆栈溢出原理的简单程序示例(本代码摘自
http://www.w00w00.org/files/heaptut/heaptut.txt): #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#define BUFSIZE 16
#define OVERSIZE 8 /* overflow buf2 by OVERSIZE bytes */
int main()
{
u_long diff;
char *buf1 = (char *)malloc(BUFSIZE), *buf2 = (char *)malloc(BUFSIZE);
diff = (u_long)buf2 - (u_long)buf1;
printf("buf1 = %p, buf2 = %p, diff = 0x%x bytes\n", buf1, buf2, diff);
memset(buf2, 'A', BUFSIZE-1), buf2[BUFSIZE-1] = '\0';
printf("before overflow: buf2 = %s\n", buf2);
memset(buf1, 'B', (u_int)(diff + OVERSIZE));
printf("after overflow: buf2 = %s\n", buf2);
return 0;
}
更多精彩
赞助商链接