漏洞原理
大部分的网站和应用系统都有上传功能,而程序员在开发文件上传功能时,并未考虑文件格式后缀的合法性校验或者是否只在前端通过js进行后缀检验。
这时攻击者可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(jsp、asp、php、aspx文件后缀)到服务器上,从而访问这些恶意脚本中包含的恶意代码,进行动态解析最终达到执行恶意代码的效果,进一步影响服务器安全。
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。一般都是指“上传Web脚本能够被服务器解析”的问题。
漏洞危害
可能会导致用户信息泄露,被钓鱼,甚至使攻击者可以直接上传WebShell到服务器,进而得到自己想要的信息和权限。最终达到对数据库执行、服务器文件管理、服务器命令执行等恶意操作,甚至完全控制服务器系统。
webshell:运行在web应用之上的远程控制程序 。 webshell分为大马、小马等。功能简易的webshell称为小马,拥有较完整功能的webshell,称为大马。
一句话木马:
<?php @eval($_POST[a]); ?>
例如有某个文件是啥index.jpg=>你没有猜错,就是jpg结尾的,不过这个是经过处理的,如果你没有处理,那么就会处理很大问题,其实你想想,假设我现在上传一个图片病毒,你试想一下是多么的可怕,我们先了解一下,这些都是啥哈?
这种病毒是利用了Windows资源管理中的Unicode逆序控制符漏洞。
在为文件命名的时候,Windows允许文件名中有Unicode控制符存在。
这个时候,如果插入逆序控制符,可以看看是什么样子。
我将gpj.exe文件命名为"[Unicode控制符]gpj.exe"
可以看到文件名,变成了"exe.jpg"。但是实际上这种的还是所谓的exe文件
但是另外一方面,如果你没有处理好,你那个后台也会造成一定的损失!
-当然我也不希望大家去破坏互联网的体系.