基于PHP技术的Web系统漏洞攻击的分析
2.1文件上传漏洞攻击的分析
1.攻击原理
文件上传漏洞攻击是指攻击者利用文件上传应用程序漏洞上传恶意脚本文件到主机,从而达到控制主机的目的。这种漏洞通常是由于对文件的类型没有做检查或者检查不严格,还有对文件目录的权限控制不严格造成的。
PHP的文件上传应用程序通常有两个页面,一个是显示表单页面,一个是表
单处理页面。在表单显示页面选择好文件提交表单后,文件会被上传至服务器,
文件信息保存在PHP的超级全局变量$_FILES中。如果在表单处理程序中没有
对文件的类型进行限制,那么攻击者很有可能上传一个PHP文件。
2. 攻击手段的分析
因为服务器端表单提交的处理程序没有对文件进行严格的类型检查,所以攻击者能把webshell上传至服务器。攻击者通常采用以下的几个漏洞进行攻击:
1)Apache解析文件漏洞
准确的说是Apache的特性,而不是Apache的漏洞,这个特性是Apache会以文件名中第一个“.”后的后缀作为其文件类型,因此如果恶意脚本的文件名是fvck.php.rar,并且上传程序仅仅检查了文件后缀,则该脚本会上传成功,访问时apache会把其当做fvck.php来解析。
2)文件后缀检查漏洞
有些文件处理程序忽略了对文件后缀的检查,而只对文件的MIME类型进行检查。对MIME类型可用PHP的内置函数getimagesize进行检查,这个函数只对文件头部信息进行检查,因此MIME类型很好伪造。
3) 文件大小检查漏洞
如果上传程序忽略了文件大小的检查也是会导致攻击的,攻击者会上传极大尺寸的文件将服务器空间占满,导致服务器不能正常运行。
4) 文件MIME类型检查漏洞
有些文件处理程序仅仅对文件后缀进行检查,会忽略掉对MIME类型的检查,尽管攻击者不会对文件MIME类型检查漏洞进行直接的攻击,但是能利用它作为其他攻击手段的辅助攻击。
3.攻击危害的分析
1) 上传极大尺寸文件会侵占服务器资源,直接影响正常的服务。
2) 文件上传漏洞会直接或间接导致webshell上传到服务器,如果webshell被运行其危害非常大。
2.2 CSRF跨站请求伪造攻击的分析
1.CSRF攻击的原理
CSRF(Cross Site Request Forgeries),意为跨网站请求伪造,也有写为XSRF。攻击者伪造目标用户的HTTP请求,然后此请求发送到有CSRF漏洞的网站,网站执行此请求后,引发跨站请求伪造攻击。攻击者利用隐蔽的HTTP连接,让目标用户在不注意的情况下单击这个链接,由于是用户自己点击的,而他又是合法用户拥有合法权限,所以目标用户能够在网站内执行特定的HTTP链接,从而达到攻击者的目的。
网站是通过cookie来识别用户的,当用户成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭浏览器或者退出登录,以后访问这个网站会带上这个cookie。如果这期间被人控制着浏览器而且请求了这个网站的url,可能就会执行一些用户不愿意做的功能(比如修改个人资料),这就是所谓的请求伪造。因为这些请求也是可以从第三方网站提交的,所以前缀跨站二字。
2.CSRF攻击的过程
下图阐述了CSRF的攻击思想:
上一页 [1] [2] [3] [4] 下一页
基于PHP技术的web系统安全性分析 第3页下载如图片无法显示或论文不完整,请联系qq752018766