记录一次网站漏洞修复过程(三):第二轮处理(拦截SQL注入、跨站脚本攻击XSS)
在程序编写的时候采用参数化的SQL语句可以有效的防止SQL注入,但是当程序一旦成型,再去修改大量的数据库执行语句并不是太现实,对网页表单上输入进行校验是易于实现的方法。在webForm 页面中开启校验属性:
ValidateRequest="true"
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="Demo" ValidateRequest="true" %>
但是有的时候也不太好使,只能自己编写代码检查用户的输入,如果直接在页面上添加校验,工作量比较大,并且需要很多测试工作,在global.asax 中 添加拦截方法还是比较合适的。
void Application_BeginRequest(object sender, EventArgs e)
{
string path = this.Request.Path.ToLower();
System.Collections.Generic.List<string> group_sql = new System.Collections.Generic.List<string>();
group_sql.AddRange(new string[] {
"a.aspx", "b.aspx", "c.aspx",
"d.aspx","e.aspx","f.aspx" });
foreach (string item in group_sql)
{
if (path.EndsWith(item))
{
SQLCheck.CheckQueryParamRequest(this.Request, this.Response); // 检查URL中是否有非法语句
SQLCheck.CheckFormParamRequest(this.Request, this.Response); // 检查表单中是否有非法语句
break;
}
}
}
如果输入没有校验通过,程序丢出异常,跳转到异常处理页面
对于处理 跨站脚本攻击XSS也可以采用同样的处理方式,不过校验的格式可能有所不同,一个是防止执行恶意SQL语句,一个是防止执行恶意脚本。另外在关键页面显示用户输入的地方,最好对内容进行转义处理,保证恶意嵌入的HTML、SCRITP无法执行。
记录一次网站漏洞修复过程(三):第二轮处理(拦截SQL注入、跨站脚本攻击XSS)的更多相关文章
- 记录一次网站漏洞修复过程(二):第一轮处理(IIS目录枚举、应用程序错误)
解决IIS目录枚举 当前的IIS版本为7.5 [IIS] => [请求筛选] => [URL]中添加 [拒绝序列] 符号 ~ 应用程序错误 在Global.asax 中添加异常处理代 ...
- 网站跨站点脚本,Sql注入等攻击的处理
从360安全论坛里找到的一段代码,经过整理封装,直接在站点Global.asax文件或写一个HttpModule来拦截恶意请求即可: http://bbs.webscan.360.cn/forum.p ...
- [原]网站跨站点脚本,Sql注入等攻击的处理
从360安全论坛里找到的一段代码,经过整理封装,直接在站点Global.asax文件或写一个HttpModule来拦截恶意请求即可: http://bbs.webscan.360.cn/forum.p ...
- 三十一、MySQL 及 SQL 注入
MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入 ...
- 网络安全学习阶段性总结:SQL注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞
目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...
- 网站安全系列:跨站脚本攻击XSS
本篇博文主要从概念和应用上介绍XSS,主要内容来源于<白帽子讲web安全> XSS核心本质 XSS实际上是一种HTML注入,用户输入的数据被当成HTML的一部分来执行.防御方法核心是输入检 ...
- web安全之SQL注入---第二章 什么是sql注入?
如何理解SQL注入?SQL注入是一种将SQL代码添加到输入参数中传递到SQL服务器解析并执行的一种攻击方法总结:其实就是输入的参数没有进行过滤,直接参加sql语句的运算,达到不可预想的结果.SQL注入 ...
- 10年前,我就用 SQL注入漏洞黑了学校网站
我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...
- 苹果cms网站漏洞修复解决办法
苹果cms系统,是目前很多电影网站都在使用的一套网站系统,开源,免费,扩展性较好,支持一键采集,伪静态化,高并发的同时承载,获得的很多站长的喜欢,于近日被网站安全检测发现,maccms存在网站漏洞,s ...
随机推荐
- Linux 小记 — 网络管理
前言 前段时间需要配置一台私网 ECS 联外网,阿里云比较推荐的方案是创建一个 Nat 网关并绑定 EIP, 以此来统一所有 ECS 的网络出口.由于我已经拥有一台外网 ECS(不想多掏钱,且我自己的 ...
- 用Eclipse Maven 创建 Web 3.0 项目问题 正确的处理步骤
在Eclipse 安装好Maven插件后,创建Maven webapp项目,在工程 properties -> project facets 界面中将 Dynamic Web Module 修改 ...
- Egret学习笔记 (Egret打飞机-5.实现子弹对象)
上一章把飞机添加到屏幕上,但是飞机要发射子弹对吧?那么这一章我们就来实现一下发射子弹,并实现一个简单的子弹对象池 先来捋一捋思路 1.创建一个子弹对象 2.然后添加一个bitmap,显示子弹贴图 3. ...
- 1.1 Python是一种什么样的语言
小时不识月,呼作白玉盘.很多人习惯地说Python不过是一种脚本语言而已,实际上这种说法是非常不准确的,完全不能体现出Python的强大.严格来说,Python是一门跨平台.开源.免费的解释型高级动态 ...
- UVA - 1632 Alibaba 区间dp
题意:给定n个点,其中第i个点的坐标是,且它会在秒后消失.Alibaba可以从任意位置出发,求访问完所有点的最短时间.无解输出No solution. 思路:表示访问完区间后停留在i点的最短时间,表示 ...
- POJ1459 - Power Network
原题链接 题意简述 原题看了好几遍才看懂- 给出一个个点,条边的有向图.个点中有个源点,个汇点,每个源点和汇点都有流出上限和流入上限.求最大流. 题解 建一个真 · 源点和一个真 · 汇点.真 · 源 ...
- 【BZOJ3529】【SDOI2014】 数表
Time Limit: 10 Sec Memory Limit: 512 MB Description 有一张\(n×m\)的数表,其第i行第j列(\(,1 \le i \leq n,1 \le ...
- openresty 中mime.types 文件缺失问题,无法展示图片
看技术群有人问这个:"图片不展示了,直接下载了,怎么设置nginx",之前刚开始学习nginx时遇到过,然后 使用 openresty+lua在做网关时遇到过,这里还是记录下吧. ...
- scrapy安装的问题
Found existing installation: six 1.4.1 DEPRECATION: Uninstalling a distutils installed project (six) ...
- 和scikit-learn打个招呼
1.先装对应的库.不能偷懒,都得装,不然飞不起来. pip install scikit-learn pip install numpy pip install scipy 2.测试如下代码. imp ...