任意文件绕过上传漏洞验证、SQL注入攻击漏洞验证、XSS跨站脚本攻击漏洞验证...

任意文件绕过上传漏洞验证、SQL注入攻击漏洞验证、XSS跨站脚本攻击漏洞验证

 

  1. 漏洞:任意文件绕过上传漏洞验证。

漏洞危害: 黑客可以上传脚本木马控制网站。

解决方案:白名单过滤文件后缀,并去除上传目录的脚本和执行权限。

解决方法:iis网站->Upload文件夹->处理程序映射(双击)->编辑功能权限->脚本取消勾选。

  1. 漏洞: SQL注入攻击漏洞验证。

         漏洞危害: 黑客利用精心组织的SQL语句,通过Web表单注入的Web应用中,从而获取后台DB的访问与存取权限。获取相应的权限之后,可以对网页和数据库进行进一步的篡改、挂马和跳板攻击行为。

解决方案:关闭数据库查询报错信息,全局对搜索框参数keyword进行参数过滤:

    1.每个提交信息的客户端页面,通过服务器端脚本(JSP、ASP、ASPX、PHP等脚本)生成的客户端页面,提交的表单(FORM)或发出的连接请求中包含的所有变量,必须对变量的值进行检查。过滤其中包含的特殊字符,或对字符进行转义处理。特殊字符包括:SQL语句关键词:如 and 、or 、select、xp_cmdshell;
SQL语句特殊符号:’、”、;等;
  2.Web应用使用的数据库用户最好不是数据库管理员用户,应当采取最小权限原则,以免在被攻破后造成更大的损失;
  3.Web服务器与SQL数据库服务器不应放置在相同的服务器上。应将SQL数据库服务器放置在内网;对于有条件的公司,可以将Web应用中的所有动态SQL改为静态SQL,将参数采用绑定的方式使用,不要拼SQL串。

    解决方法: string pattern1 = @"(\%27)|(\')|(\-\-)";

                //防止执行 ' or   

                string pattern2 = @"((\%27)|(\'))\s*((\%6F)|o|(\%4F))((\%72)|r|(\%52))";

                //防止执行sql server 内部存储过程或扩展存储过程   

                string pattern3 = @"\s+exec(\s|\+)+(s|x)p\w+";

            if (!string.IsNullOrEmpty(model.Keyword))

            {

                 model.Keyword = Regex.Replace(model.Keyword, pattern1, string.Empty, RegexOptions.IgnoreCase);

                 model.Keyword = Regex.Replace(model.Keyword, pattern2, string.Empty, RegexOptions.IgnoreCase);

                     model.Keyword = Regex.Replace(model.Keyword, pattern3, string.Empty, RegexOptions.IgnoreCase);  

            }

  1. XSS跨站脚本攻击漏洞验证

漏洞危害: XSS可能造成的危害包括:将使用者浏览器导向恶意网站、偷取使用者的cookie、将使用者浏览器导向钓鱼网站,以骗取账号密码等个人资料、安装恶意后门木马、安置web浏览器炸弹等;
  XSS攻击介于攻击者与使用者之间的攻防战,并不会对server主机有任何威胁,所以才被称为跨站脚本攻击,意思即是:攻击者使用某些脚本语言跨过主机对使用者进行攻击。

解决方案:1、控制脚本注入的语法要素。比如:JavaScript离不开:“<”、“>”、“(”、“)”、“;”...等等,我们只需要在输入或输出时对其进行字符过滤或转义处理就即可。一般我们会采用转义的方式来处理,转义字符是会使用到HTML的原始码,因为原始码是可以被浏览器直接识别的,所以使用起来非常方便。允许可输入的字符串长度限制也可以一定程度上控制脚本注入。

2、所有的过滤、检测、限制等策略,建议在Web Server那一端去完成,而不是使用客户端的JavaScript或者VBScript去做简单的检查。因为真正的攻击者可以绕过你精心设计制作的客户端进行过滤、检测或限制手段。

解决方法:在前后台逻辑把特殊符号”<”,”/”等替换。

例如:前台var LocationData = $('#Location').val().replace(/[\<\>]/g, " ");

 

 

posted @ 2018-07-16 11:15 各道温凉 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值