###3.3 定向审计

 在有了一定的代码审计经验之后,一定会知道哪些功能点通常会有哪些漏洞,在 我们想要快速挖掘漏洞的时候就可以这样来做,首先安装好并且运行程序,到处点点, 浏览一下,看下程序有哪些功能,这些功能的程序文件分别是怎么样的,是独立的模 块还是以插件形式存在,或者是写在一个通用类里面,然后多处调用。在了解这些功 能的存在形式后,可以先寻找经常会出问题的功能点,简单黑盒测试一下,如果没有 发现很普通、很常见的漏洞,再去读这个功能的代码.这样我们读起来就可以略过一 些刚才黑盒测试过的点,提高审计速度。<br />根据经验,我们来简单介绍几个功能点经常会出现的漏洞,如下所示:<br />**知道整体结构之后,再进行功能点审计**<br />按上面的文件查看步骤,函数集文件->配置文件->过滤文件->index文件,下面就应该测试最容易出现漏洞的地方了,也就是各个功能点。<br />这个时候,最好下载相关文件,部署到环境中,然后点点点,先简单黑盒测试,若没发现什么弊端,再去看代码,并且这个时候看代码就可以省略一些黑盒中测试过的点了。

上传文件功能

只要是能上传的地方,就都可能存在漏洞。常见的就两种,一个是格式没有限制,或者过滤不完善,导致各种任意文件上传。第二个就是文件名没有进行sql注入检测,很多程序员会忘记这一点,导致sql注入。因为文件名也是要存到数据库中的。

文件管理功能

如果程序员在开发中,直接将文件名或者文件路径在参数中传递,那么就可能导致攻击者利用../或者..\来进行跳转目录达到任意文件操作,比如任意文件读取。
另外,直接用文件名或者文件路径在参数中传递,还可能导致xss,因为,程序可能需要在页面中输出文件名字,这个时候,若文件名字也没有过滤,那么就会存在xss攻击。

登录认证功能

登录认证功能不是指一个登录过程,而是整个操作过程中的认证。而现在认证又是基于cookie和session,程序又经常会把用户账号等认证信息放到cookie中,来保持用户可以长时间登录,不会因为session超时或者关闭浏览器就退出用户。但是,如果这段cookie没有进行加密,就会导致任意用户登录的漏洞!只需要知道用户的部分信息即可登录!

找回密码功能

找回密码的时候,有的网站做的不好,改密码不用填写旧密码,直接改,然后给用户发送验证码,但是由于验证码是纯数字,而且,如果验证码时间过长,那么就会被爆破出来。

作者:skad  创建时间:2022-05-19 09:36
最后编辑:skad  更新时间:2023-04-12 16:17