规范法问题

来源:互联网 发布:windows 刷新注册表 编辑:程序博客网 时间:2024/04/27 22:29

读书笔记:

规范化是指将数据用最简单最基本的形式进行规范化描述的过程。比如,Brayn有很多种表示方法,包括,Brayn,BrAyN,Br%79an(%79是y的十六进制)等等。有不止一种表示方法来表示。因为规范化的问题这就带来了一些很大的问题。黑客也常用这些来欺骗解析器。

1、‘/’和‘\’一样能够代表同样的路径。你在自己的电脑上输入C:\Windos,和C:/Windos会使同一个目录。有时候网站也是这样的。斜杠和反斜杠都能够代表同样的路径。这个有时候很有用。比如:一个用户保护自己的网站www.my.com/secure/secret.asp不被访问。但是或许别人可以访问你的www.my.com/secure\secret.asp。其实他们是一样的。这个漏洞是微软在2005年8月发布的漏洞。

2、目录遍历

当我们打开一个网站的时候,或许有些目录我们是不能访问的。但是有没有什么办法,可能访问到呢。有。目录遍历常用的符号一定记住。

试试这两个路径:

C:\WINDOWS

\.\WINDOWS\..\.\WINDOWS\.\system32\driver\..\..\system32\.\..

是不是同一个路径。

对应关系:

...             向上移动两个目录层次或指向同一个目录的模糊方法

..             向上移动一个目录层次

.               指向同一个目录

这都是常常使用,或许你使用这个都绕开了一个验证。

3、文件扩展名

进行安全决策的时候,使用白名单总是要好一些。但是不排除一些用户使用扩展名来检查一些文件。比如我们要屏蔽exe文件,或许就只是检查了后缀是不是.exe。但是这是不够的,或许在.exe后加一个空格或大写就破解了你的检查。尾部字符的检查一定要注意。

4、文件扩展名优先级

这也是一个可以利用的地方,在Windows下面,可执行文件名字一样,后缀名的使用优先权是:

.com

.exe

.bat

如果一个目录下有一个run.exe,你在下面建立一个run.com。那么下次运行就成功将病毒运行了。

5、使用结尾符

使用一些可以骗过解析器但是不改变意义的值。

这个呢,微软也做了一些修改,微软规定了,在一个文件不能使用\ /  : * ? " < > |。还有其他一些也被屏蔽了。

6、文件扩展名无关紧要

比如,你建一个1.ppt文件,然后将后缀改成1.ept,或者1.apt等等,双击,还是会使用PowerPoint打开这个文件。

7、短文件名 和 长文件名

早期使用的一些系统MS-DOS和FAT文件系统的时候,文件名长度限制在8个字符和3个扩展名,就是我们常说的8.3文件名。但是现在的系统FAT32、NTFS,允许更长的文件名。为了兼容,系统会生成一个8.3文件名。系统自动产生,一般情况是文件前6个字符加上一个~加上一个数字。

例如,longfilename.txt              LONGFI~1.txt

这个就有缺陷,比如已经有一个LONGFI~1.txt文件了怎么办??这时候系统就会进行改变。这个不同系统算法不一样。

有什么用?

比如你发送一个Email附带一个附件,但是Email拒绝接受exe文件,你创建一个runme.exempt.发送,会发生什么?文件扩展名检查绕过,但是附件的短文件名是runme~1.exe附件仍会被阻止。

使用dir /x 可以显示短文件名。比如,dir /x *.txt 就可以看目录下所有txt文件的短文件名。

8、大小写

这个太常见了。尤其是对那些大小写敏感的系统,比如Unix。window 的NTFS是不敏感的

9、指定DOS设备名

Windows另外一个MS-DOS功能特性是设备名的使用,向后兼容。有些词是专门描述设备的。比如COM1,有很多,如果应用程序允许用户随意使用名字,那么有可能产生冲突。也就是DoS攻击。如一个应用程序创建了一个文件名为COM1,那么应用程序将会与通信端口通信而不是访问这个文件。

在windows下新建一个文件,命名为COM1,那么名字会自动改成COM!

若一个攻击者访问有该弱点的服务器,比如www.test.com:8080/COM1那么,就会导致DoS攻击。所以对用户的输入也是要进行检查 的。

10、UNC共享。

这个也是常见的攻击方式,主要是打开了端口139,也就是从本地和远程访问文件和打印机资源。网上关于这方面的资料很多,也有很多工具。比如流光啊,也有相应的教程,命令教怎么UNC进行入侵。

11、正确理解搜索路径

当一个程序要打开一个dll文件,却不知道哦在哪里打开的时候,就可能出现加载恶意dll的问题。比如一些木马

通常加载dll的搜索路径有:

预安装的DLL系列,这个在system32下面

执行程序的当前目录

当前工作目录

windows系统目录

windows目录

PATH指定的目录


上面的只是对于系统文件的一些规范化的问题。

《Huting security bugs》

记录。


原创粉丝点击