Web安全测试指南--文件系统
上传:
编号 | Web_FileSys_01 |
用例名称 | 上传功能测试 |
用例描述 | 测试上传功能是否对上传的文件类型做限制。 |
严重级别 | 高 |
前置条件 | 1、 目标web应用可访问,业务正常运行。 2、 目标系统存在上传功能,并且有权限访问使用。 3、 已安装http拦截代理(burp、fiddler或webscarab均可)。 4、 目标系统使用http而不是ftp等其它方式实现上传。 5、 具有登录目标服务器后台的账户和权限。 |
执行步骤 | 1、 登录目标系统并访问具有上传功能的页面。 2、 尝试上传一个合法文件,比如: Host: www.example.com [other HTTP headers] ------------Ij5Ij5cH2GI3cH2ei4GI3Ef1GI3Ij5 Content-Disposition: form-data; name="Filename" userpic.jpg [other body content] 3、 将burp拦截到的http请求转入burp repeater。 4、 在burp repeater中将上传文件的文件名后缀改成危险文件的后缀(比如:jsp、php、html和exe等等),重新提交,比如: POST /login.jsp HTTP/1.1 #登录接口 Host: www.example.com [other HTTP headers] ------------Ij5Ij5cH2GI3cH2ei4GI3Ef1GI3Ij5 Content-Disposition: form-data; name="Filename" userpic.jsp [other body content] 5、 登录到目标服务器后台检查结果(非必须)。 6、 在burp repeater的文件名中使用截断字符串(%00)尝试再次上传 POST /login.jsp HTTP/1.1 #登录接口 Host: www.example.com [other HTTP headers] ------------Ij5Ij5cH2GI3cH2ei4GI3Ef1GI3Ij5 Content-Disposition: form-data; name="Filename" Userpic.jsp[%00].jpg [other body content] 7、 再次登录到目标服务器后台检查结果(非必须)。 |
预期结果 | 步骤4或6无法上传文件,或者上传后无法实际利用。 |
测试结果 |
|
备注 | 1、 考虑到目标系统可能会做渲染或强制重命名等复杂因素,因此,最好是进行实际利用来判定结果。 2、 如果能够从目标系统的响应信息中构造上传文件的路径,则可以不用登录到目标服务器后台。 3、 本用例只考虑最常见的情况,实际上传漏洞还和业务逻辑、web服务器补丁版本等多个因素有关,需要完善。 |
编号 | Web_FileSys_02 |
用例名称 | 上传功能测试 |
用例描述 | 测试上传模块是否对用户上传的频度和总容量做限制。 |
严重级别 | 中 |
前置条件 | 1、 目标web应用可访问,业务正常运行。 2、 目标系统存在上传功能,并且有权限访问使用。 3、 已安装http拦截代理(burp、fiddler或webscarab均可)。 4、 目标系统使用http而不是ftp等其它方式实现上传。 5、 具有登录目标服务器后台的账户和权限。 |
执行步骤 | 1、 登录目标系统并访问具有上传功能的页面。 2、 尝试上传一个合法文件,比如: Host: www.example.com [other HTTP headers] ------------Ij5Ij5cH2GI3cH2ei4GI3Ef1GI3Ij5 Content-Disposition: form-data; name="Filename" userpic.jpg [other body content] 3、 将burp拦截到的http请求转入burp intruder。 4、 使用burp intruder并发大量上传请求,并观察结果。 |
预期结果 | 目标系统返回类似“过于频繁”或“容量达到上限”的错误提示。 |
测试结果 |
|
备注 | 1、 并发请求的数量取值应根据业务安全需求来决定,比如:可上传的总容量和频率设置等。 2、 关于burp intruder的使用参考《常见安全工具使用指南》。 |