using System;
namespace web.comm
{
/// <summary>
/// ProcessRequest 的摘要说明。
/// </summary>
public class ProcessRequest
{
public ProcessRequest()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region SQL注入式攻击代码分析
/// <summary>
/// 处理用户提交的请求
/// </summary>
public static void StartProcessRequest()
{
// System.Web.HttpContext.Current.Response.Write("<script>alert('dddd');</script>");
try
{
string getkeys = "";
//string sqlErrorPage = System.Configuration.ConfigurationSettings.AppSettings["CustomErrorPage"].ToString();
if (System.Web.HttpContext.Current.Request.QueryString != null)
{
for(int i=0;i<System.Web.HttpContext.Current.Request.QueryString.Count;i++)
{
getkeys = System.Web.HttpContext.Current.Request.QueryString.Keys[i];
if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.QueryString[getkeys],0))
{
//System.Web.HttpContext.Current.Response.Redirect (sqlErrorPage+"?errmsg=sqlserver&sqlprocess=true");
System.Web.HttpContext.Current.Response.Write("<script>alert('请勿非法提交!');history.back();</script>");
System.Web.HttpContext.Current.Response.End();
}
}
}
if (System.Web.HttpContext.Current.Request.Form != null)
{
for(int i=0;i<System.Web.HttpContext.Current.Request.Form.Count;i++)
{
getkeys = System.Web.HttpContext.Current.Request.Form.Keys[i];
if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.Form[getkeys],1))
{
//System.Web.HttpContext.Current.Response.Redirect (sqlErrorPage+"?errmsg=sqlserver&sqlprocess=true");
System.Web.HttpContext.Current.Response.Write("<script>alert('请勿非法提交!');history.back();</script>");
System.Web.HttpContext.Current.Response.End();
}
}
}
}
catch
{
// 错误处理: 处理用户提交信息!
}
}
/// <summary>
/// 分析用户请求是否正常
/// </summary>
/// <param name="Str">传入用户提交数据</param>
/// <returns>返回是否含有SQL注入式攻击代码</returns>
private static bool ProcessSqlStr(string Str,int type)
{
string SqlStr;
if(type == 1)
SqlStr = "exec |insert |select |delete |update |count |chr |mid |master |truncate |char |declare ";
else
SqlStr = "'|and|exec|insert|select|delete|update|count|*|chr|mid|master|truncate|char|declare";
bool ReturnValue = true;
try
{
if (Str != "")
{
string[] anySqlStr = SqlStr.Split('|');
foreach (string ss in anySqlStr)
{
if (Str.IndexOf(ss)>=0)
{
ReturnValue = false;
}
}
}
}
catch
{
ReturnValue = false;
}
return ReturnValue;
}
#endregion
}
}相关推荐
通用aspx防止注入代码
360通用aspx防护代码 -----------------使用方法------------------------------------------------------------------ 1.将App_Code目录拷贝到web根目录 假如已经存在App_Code目录,那直接把App_Code目录里的360safe.cs文件拷贝到当前的App_Code目录即可。 2.将Global.asax文件拷贝到web根目录 假如已经存在Global.asax文件,那直接把下面这段代码 void Application_BeginRequest(object sender, EventArgs e) { if (Request.Cookies != null) { if (safe_360.CookieData()) { Response.Write("您提交的Cookie数据有恶意字符!"); Response.End(); } } if (Request.UrlReferrer != null) { if (safe_360.referer()) { Response.Write("您提交的Referrer数据有恶意字符!"); Response.End(); } } if (Request.RequestType.ToUpper() == "POST") { if (safe_360.PostData()) { Response.Write("您提交的Post数据有恶意字符!"); Response.End(); } } if (Request.RequestType.ToUpper() == "GET") { if (safe_360.GetData()) { Response.Write("您提交的Get数据有恶意字符!"); Response.End(); } } } 拷贝到当前的Global.asax文件里保存。
探索Inject-Assembly:一款强大的.NET动态代码注入工具
```
360通用aspx防护.rar
c# 全站防止sql注入,利用Global.asax、Appcode中添加类的方法 c# 防止sql注入 全局防护 360通用aspx防护 Global.asax 操作简单
asp.net 360通用防护代码,防止sql注入与xss跨站漏洞攻击
这是360提供的一个aspx公用代码,可以防止sql注入漏洞,xss跨站攻击漏洞,如果您的网站被360扫描,出现sql注入或跨站攻击等相关漏洞,没有较好的解决方案,倒是可以采用该方法进下防范。 -----------------使用方法------------------- 1.将App_Code目录拷贝到web根目录 假如已经存在App_Code目录,那直接把App_Code目
360通用asp防护代码
360通用asp防护代码 在所需要防护的页面加入代码 就可以做到页面防注入、跨站 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件conn.asp中! 添加来调用本代码
防360代码大全
防360代码大全
.NET中如何防止注入攻击
目的: 对输入的字串长度,范围,格式和类型进行约束. 在开发ASP.NET程序时使用请求验证防止注入攻击. 使用ASP.NET验证控件进行输入验证. 对不安全的输出编码. 使用命令参数集模式防止注入攻击. 防止错误的详细信息被返回到客户端. 概述 : 你应该在程序中验证所有的不信任输入.你应该假定所有的用户输入都是非法的.用户可以在应用程
360通用asp防护代码(防sql注入)
这个是360出的防sql注入的源码,可以防止注入漏洞,跨站攻击漏洞,如果您的网站被360扫描,不管怎么修改都报毒请用这个代码试试看。这是360提供的一个asp公用代码,效果不错哦。
.net 通用防注入代码
using System;namespace web.comm{ /**//// <summary> /// ProcessRequest 的摘要说明。 /// </summary> public class ProcessRequest { public ProcessRequest() { ...
Windows防火墙服务异常修复指南:0x80070422与0x6D9报错实战处理
本文针对Windows防火墙服务异常导致的0x80070422与0x6D9报错,提供了从基础到进阶的实战修复指南。核心是通过services.msc服务管理器检查并修复Windows Firewall服务,包括设置启动类型、检查依赖服务等关键步骤。同时介绍了当基础方法失效时,如何使用命令行工具、系统文件检查器(SFC/DISM)以及排查组策略与第三方软件冲突等深度解决方案,帮助用户彻底解决防火墙服务无法启动或访问的问题。
GNSS接收机性能测试指标详解:TTFF、位置精度、灵敏度等关键参数如何评估
本文详细解析了GNSS接收机性能测试的关键指标,包括首次定位时间(TTFF)、位置精度、灵敏度等,帮助工程师系统评估接收机性能。通过多频段协同定位和载波相位测试等技术,提升定位精度至亚米级。同时,介绍了灵敏度测试的极限挑战和授时精度的专业测试方案,为GNSS接收机的性能优化提供实用指导。
别再让IP冲突了!用OpenWrt的DHCP功能,给你的智能家居设备做个‘户口本’
本文详细介绍了如何利用OpenWrt的DHCP静态地址分配功能,为智能家居设备打造稳定的IP管理体系。通过MAC地址绑定实现'一机一IP',有效解决IP冲突、服务中断等问题,提升网络管理效率。文章包含Web界面和SSH命令行两种配置方法,以及批量管理技巧和故障排除方案。
EMC辐射发射测试:垂直与水平极化测试原理与实战指南
电磁兼容(EMC)测试是确保电子设备在复杂电磁环境中稳定运行的关键环节,其核心在于评估设备产生的电磁干扰(EMI)强度。辐射发射测试作为EMC测试的重要组成部分,通过测量设备向空间辐射的电磁噪声,判断其是否符合国际标准限值。测试原理基于电磁波的极化特性,即电场矢量的振动方向,主要分为垂直极化和水平极化。理解极化特性对于精准定位辐射源、高效进行EMC整改具有重要技术价值。在工程实践中,垂直极化噪声通常源于线缆辐射等垂直结构,而水平极化噪声多来自PCB走线等水平结构。通过分别测量两种极化方向的辐射最大值,可以全
.net sql防注入通用代码
<br />web.config文件调用<br />放在<system.web>块中<br /> <httpHandlers> <br /> <add verb="*" path="*.aspx" validate="false" type="SqlIn.SqlInPost"/><br /> </httpHandlers>SqlInPost.cs 放到app_code 目录下:SqlInPost.csusing System;<br />using System.Data;<br /
nRF52382低功耗蓝牙应用开发之入门教程-软件烧录
准备工作在上一篇文章讲过了,这里就讲讲nRFgo studio的使用 硬件准备: J-link:2线 供电:3.3V 如下图打开nRFgo studio界面介绍, 2、如果J-link正常,如下图 3、如果蓝牙芯片正常 4、烧录过程,如果蓝牙芯片之前有烧录过程序,需先点擦除,再点烧录 5、烧录代码路劲,例如 F:\nRF\SDK\nRF5_SDK_15.2.0_...
containerd镜像加速配置全解析:从host.toml到config.toml的演进与实践
本文全面解析了containerd镜像加速的配置方法,重点对比了传统的config.toml集中式配置与现代的host.toml模块化配置的演进与优劣。文章通过实战演示,详细指导如何为docker.io、registry.k8s.io等常见仓库配置host.toml加速,并提供了生产环境下的最佳实践、故障排查与性能优化建议,帮助用户显著提升镜像拉取效率与系统稳定性。
360_safe3通用XSS/SQL防注入源代码集成说明
360_safe3通用XSS/SQL防注入源代码集成说明 【下载地址】360_safe3通用XSSSQL防注入源代码集成说明 这是一套专为ASP、PHP、C#ASP.NET开发者设计的360_safe3通用XSS/SQL防注入源代码,旨在有效防御跨站脚本攻击(XSS)和SQL注入攻击,保障网站安全。项目提供了针对三种语言...
Linux安装Oracle sqlplus客户端工具
Linux安装Oracle sqlplus客户端工具
sql 批量update_[基础篇] 手写ORM—Update
今天把通用更新的方法封装一下,整理一下思路,先写出一条 Update 的语句:UPDATE [{type.Name}] SET {updateString} WHERE Id = @Id同样,括号里面的内容是可变部分,我们用反射动态获取。Typetype=typeof(T);varupdateString=string.Join(",",type.GetPr...
液态神经网络(Liquid Neural Networks)从线虫大脑到下一代 AI
液态神经网络(Liquid Neural Networks,LNN)是一类具有动态内部结构的神经网络,其灵感来源于生物神经系统,尤其是大脑中神经元如何以复杂、非线性的方式响应外部刺激。与传统神经网络不同,液态神经网络的每个神经元在处理输入时,不再是静态线性或非线性变换,而是基于一个微分方程模型进行响应。这种建模方式使神经元的行为具有时间连续性和动态适应性。换句话说,它不仅“记住”过去的信息,还能根据当前环境实时调整自身的动态特性,这对于感知、决策、预测等任务都非常关键。
STM32CubeMX之定时器输入捕获
上一章介绍了STM32定时器的PWM输出功能,定时器的几个通道除了有输出功能外,还可以做输入用,可捕获信号的上升沿或下降沿,可以用于测量信号的频率、周期、占空比等。本篇文章将介绍用STM3...
.net sql防注入代码
web.config文件调用 SqlInPost.cs 放到app_code 目录下: SqlInPost.csusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.W
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
求助.net防注入代码
<br />网站经常被注入,请问谁有实用点的防注入代码呢?.NET和SQLSERVER数据库的,本人不懂,望哪位朋友指点下我啊,万分感谢啊,我都愁死了 在线等<br /><br /> 没人帮我啊??<br /><br /> 帮你顶<br />我也遇到过<br />等待解决<br /><br />我目前的改版是<br />所有的数据库操作都使用 存储过程 或者 参数传递<br />再就是基本的字符过滤<br /><br /> 在进行数据库操作的时候,比如像这样做就不容易被注入了:<br /><br
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
ASP.NET 防注入的两个通用函数
asp.net防注入 一.如果参数全为数字: //检查字符串是否全为数字 publicstaticboolIsNum(stringStr) { boolblResult=true; ...
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
net 防注入
对于网站的安全性,是每个网站开发者和运营者最关心的问题。网站一旦出现漏洞,那势必将造成很大的损失。为了提高网站的安全性,首先网站要防注入,最重要的是服务器的安全设施要做到位。下面说下网站防注入的几点要素。一:丢弃SQL语句直接拼接,虽然这个写起来很快很方便。二:如果用SQL语句,那就使用参数化,添加Param三:尽可能的使用存储过程,安全性能高而且处理速度也快四:屏蔽SQL,javascript等
599



被折叠的 条评论
为什么被折叠?



