asp防SQL注入程序优化版本

ASP.NET Core MVC中使用SQL参数化防注入实战教程 MVC(Model-View-Controller)架构是一种软件设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理应用程序的业务逻辑和数据访问,视图负责展示用户界面,控制器则负责处理用户的输入并协调模型和视图之间的交互。这种分离使得应用程序的各个部分更加独立,便于开发和维护。 阅读详情

建立一个名称为“SqlIn”的access数据库。

在数据库中建立一个名称为“SqlIn”的表,表结构如下

SqlIn_ID(自动编号)
SqlIn_IP(注入ip记录)
SqlIn_WEB(注入的web)
SqlIn_TIME(注入时间)
SqlIn_FS(数据传送方式)
SqlIn_CS(提交内容)
SqlIn_SJ(注入字符)

建立一个名为SqlIn.asp的网页,在其他asp网页中引用该网页就可以达到防止sql注入。

将下面语句放在最开始
<!--#include file="相对路径/sqlin.asp"--> 

<% '--------定义部份------------------
Dim wy_conn,wy_connstr,wy_in,wy_inf,wy_Post,wy_xh,wy_Get
'自定义需要过滤的字串,用 "@" 分隔
wy_in = "'@*@declare"'@and@exec@insert@select@delete@update@count@*@chr@mid@master@truncate@char@declare
wy_inf = split(wy_in,"@")
'--------POST部份------------------
 wy_connstr="Data Source="&server.MapPath("/sqlin/sqlin.mdb")&";Provider=Microsoft.Jet.OLEDB.4.0;"
set wy_conn=server.CreateObject("adodb.connection")
 wy_conn.open wy_connstr
 
If Request.Form<>"" Then
  For Each wy_Post In Request.Form
     For wy_xh=0 To Ubound(wy_inf)
         If Instr(LCase(Request.Form(wy_Post)),wy_inf(wy_xh))<>0 Then
           wy_conn.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&wy_Post&"','"&replace(Request.Form(wy_Post),"'","''")&"')")
             response.Write(" 参数中包含非法字符<br>" & _
                    "操作IP:" & Request.ServerVariables("REMOTE_ADDR")& "<br>" & _
                      "操作时间:" & Now& "<br> "& _
                    "操作页面:" &Request.ServerVariables("URL")& "<br> "& _
                    "提交方式:POST<br>"& _
                    "提交参数:" &wy_Post & "<br>"& _
                    "提交数据:" &Request.Form(wy_Post)& "<br>"& _
                          "<a  href=""javascript:history.go(-1)"">返回</a>")
     wy_conn.close
              Set wy_conn = Nothing    
     response.End()
        End If
       Next
  Next
End If

'---------GET部分-------------
If Request.QueryString<>"" Then
   For Each wy_Get In Request.QueryString
      For wy_xh=0 To Ubound(wy_inf)
         If Instr(LCase(Request.QueryString(wy_Get)),wy_Inf(wy_xh))<>0 Then
              wy_conn.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','GET','"&wy_Get&"','"&replace(Request.QueryString(wy_Get),"'","''")&"')")
             response.Write(" 参数中包含非法字符<br>" & _
                       "操作IP:" & Request.ServerVariables("REMOTE_ADDR")& "<br>" & _
                        "操作时间:" & Now& "<br> "& _
                       "操作页面:" &Request.ServerVariables("URL")& "<br> "& _
                       "提交方式:GET<br>"& _
                       "提交参数:" &wy_Get & "<br>"& _
                       "提交数据:" &Request.Form(wy_Get)& "<br>"& _
                             "<a  href=""javascript:history.go(-1)"">返回</a>") 
       wy_conn.close
                Set wy_conn = Nothing 
                response.End()
          End If
       Next
   Next
End If
wy_conn.close
Set wy_conn = Nothing
%>

[SQL]SQL注入-ASP漏洞全接触--高级篇 看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。 第一节、利用系统表注入SQLServer数据库SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,我们先来看看几个具体的例子 阅读详情

相关推荐

ASP.net C# 中的 SQL 注入防护

在现代Web开发中,SQL注入(SQL Injection)是常见且严重的问题之一,它允许恶意用户通过注入恶意SQL代码来操控数据库,甚至获取敏感信息。今天,我们将探讨如何在ASP.net C#环境中通过优化代码和使用最佳实践来防止SQL注入。

m0_74337424的博客 288

解决ASP防SQL注入攻击程序问题

现在比较流行的SQL注入工具的工作方式是通过GET和POST来完成具体的注入。我们可以将注入时所用到的一切符号过滤掉。那么我们可以通过简单的判断语句来达到目的。我们先来过滤GET吧。 代码如下: dim sql_injdata SQL_inj SQL_Get SQL_injdata = "’|and|exec|insert|select|delete|update|count|*|%|chr

收集盒 Book box 946

基于ASP的随机抽奖系统设计与实现

系统做得再漂亮,不安全等于零。我们来扫雷!你看,一套看似“过时”的ASP技术栈,只要设计得当,照样能做出稳定、安全、易维护的抽奖系统。这里面的核心思想——状态管理、输入验证、并发控制、日志追溯——放到今天任何一个现代框架里都是通用法则。更重要的是,我们学会了:- 用户体验不止是UI好看,更是流畅无阻的操作路径;- 安全是层层设防,不能依赖单一手段;- “公平”不是一句口号,而是精确的算法与严谨的状态控制;- 小功能背后也有大学问,认真对待每个细节,才能赢得信任。

weixin_42433737的博客 1507

ASP防注入代码

ASP防注入代码

龙狼刺的博客 935

最新ASP通用防SQL注入代码

这是经过整理和测试的,最新ASP通用防SQL注入代码。 很简洁也很好用.和大家分享.

LiteOS | 基于LiteOS的智慧农业案例实验分享

分享一个基于小熊派+LiteOS+华为云的案例实验(智慧农业)。 实验框图 相关模块简介 1、STM32L431RCT6 2、LiteOS LiteOS是华为开发的轻量级实时操作系统: LiteOS源码GitHub仓库链接: https://github.com/LiteOS/LiteOS 其源码一级目录结构如下: 其内核包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管...

嵌入式大杂烩 5990

好用的asp防SQL注入代码

在连接数据库的下方加入代码就可以防止sql注入了:dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_Post SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"SQL_inj = split(SQL_Injd

暗淡亮点的博客 4118

HTTP 代理服务器的设计与实现

HTTP 代理服务器的设计与实现 首先当然是最重要的代码:github地址 1) 实验目的 熟悉并掌握 Socket 网络编程的过程与技术;深入理解 HTTP 协议,掌握 HTTP 代理服 务器的基本工作原理;掌握 HTTP 代理服务器设计与编程实现的基本技能。 2) 实验内容 基于 java 实现了基本功能与全部附加功能,并增加了 https 的支持 (1) 设计并实现一个基本 HTTP 代理服...

qq_42754642的博客 1887

【Mysql优化安全】防止sql注入

【Mysql安全】防止sql注入(1)什么是sql注入(2)寻找sql注入的方法(3)mybatis是如何做到防止sql注入的(3.1)sql对比(3.2)简单分析(3.3)底层实现原理(3.4)总结#{}和${}的区别(3.5)总结(3.6)如果手工处理“${xxx}”(3)常见的sql注入问题:数据库查询参数的类型转换处理(4)防范sql注入的思路(5)放置sql注入的方法 (1)什么是sql注入 (1)概念 “SQL注入”是一种利用未过滤/未审核用户输入的攻击方法(“缓存溢出”和这个不同),意思就是让

weixin_44823875的博客 6978

Weaxor勒索病毒实战分析:从加密算法到防御策略(附检测工具清单)

本文对Weaxor勒索病毒进行了深度实战剖析,详细拆解了其采用ChaCha20与AES-CTR的混合加密算法、横向移动手法及数据回传行为。文章重点分析了其密钥生成机制的“漏洞修复”,并提供了从主机加固、网络监控到基于IOC威胁狩猎的立体化企业级防御策略与检测工具清单。

weixin_29233333的博客 260

Innovus 安装全过程

【代码】Innovus 安装全过程。

lmyynlbcy的博客 5533

SQL注入攻击三部曲之高级篇

看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。   经过了入门篇和进阶篇的学习,相信诸位想要破解一般的网站是没有什么问题了,但是先别得意。正所

Oscar.Zhang 4111

局部,全局(外部),static等变量详解

首先,必须明白一个程序是包含若干个源文件,每个源文件又是包含若干个函数,每个源文件、函数中又定义了若干个变量。但是每个变量都有自己的作用范围,也就是自己的作用域。只有在作用域内才可以访问变量。 变量的有效范围称为变量的作用域( scope)。归纳起来,变量有4种不同的作用域:文件作用域( file scope)、函数作用域( function scope)、块作用域(block sc...

归根结底不优秀的博客 1322

asp.net request防sql注入_原创干货 | Oracle注入简单挖掘绕过姿势

点击“蓝字”,特别的你,特别的关注背景: 在进行SQLi测试的时候,我们会发现我们提交的一些Payload会被WAF或者Filter过滤拦截掉。因此,通过优化的Payload在进行注入利用时具有更高的成功率,方便我们在探测到注入点时最大化的进行漏洞利用。如何在WAF和Filter下进行注入判断前面两篇文章已经提及了,最简单的东西总是最好用的,下面分享一些简单的深入利用的绕过姿势。绕过WA...

weixin_39964590的博客 447

Ubuntu20.04安装Torque-6.1.2单机版(踩坑篇)

说明:PBS排队系统原先是在Centos7安装使用很顺利,但是有客户需求在Ubuntu20.04上使用,着手在Ubuntu20.04安装上安装的时候发现很多报错,并不能顺利安装,网上查找到的教程,有的说是让放弃转slurm,有的是换源安装,但是安装好的版本很低,有许多bug,不是很好用。经过自己慢慢摸索之后,改了部分配置以及源码之后,能够顺利安装,再次记录一下踩坑心得,与大家一起分享学习。如有问题,欢迎大家来撩。...............

华青水上的博客 8087

推免保研夏令营/预推免面试记录—北航网安

链接:https://pan.baidu.com/s/1vkP3EzbVrCc8a7wgQuUZgQ?链接:https://pan.baidu.com/s/1n4EFS2c9WLAfQn91CP4j2g?链接:https://pan.baidu.com/s/1VVNNSfcNDWjXhVhH3MtNjA?上面五个比例基本为:1:5:2:1:1。面试时间:当天上午面试,但是没面完,下午吃了饭之后又继续面试。--来自百度网盘超级会员V5的分享。--来自百度网盘超级会员V5的分享。

admin的博客 3011

SQL注入天书 - ASP注入漏洞全接触(高级篇)

高 级 篇看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。 第一节、利用系统表注入SQLServer数据库 SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为

流星的专栏 1198

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

登录防止SQL注入

登录防止SQL注入登录页面的安全性测试包含一项:防止SQL注入什么是SQL注入防止SQL注入的办法 登录页面的安全性测试包含一项:防止SQL注入 什么是SQL注入 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 例如: 填好正确的用户名(marcofly)和密码(test)后,点击提交,将会返回给我们“欢迎管理员”的界面。 select * from users where username=‘marcofly’

Mr_Wang_YF的博客 1437

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

sql注入mysql判断_SQL注入判断数据库类型

SQL注入首先会判断服务端数据库的类型,通过已知不同数据库的一些特性,便于后续进一步渗透测试一般来说SQL注入存在的四个语句“SELECT/UPDATE/INSERT/DELETE”,增删改查,通过一些参数带入SQL执行语句中,再通过拼凑等方式获取更多的信息0x00 常见网页类型对应数据库关系asp : Access/SQLServerphp : Mysqljsp : Oracle0x...

weixin_36116139的博客 2766

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用

Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https://github.com/webattacker/sqli-labs 将Sqli-labs解压后整个目录拖拽到路劲:C:\wamp64\www 下 3.在浏览器上访问http://localhost...

VictorZhang 6882

sql注入的各种类型

一、mysql报错注入: 1、利用到的mysql函数 extractvalue() 语法:extractvalue(目标xml文档,xml路径) 原理:函数第二个参数 xml路径是可操作的地方,xml路径是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。 updatexml() 语法:updatex...

xf555er的博客 3306

SQL注入(高级篇)

看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。第一节、利用系统表注入SQLServer数据库SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,我们先来看看几个具体的例子:

技術萬花筒 1332

SQL注入-高级篇

【一、利用系统表注入SQLServer数据库】 SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为注入者提供了一个跳板,我们先来看看几个具体的例子: ① http://Site/url.asp?id=1;exec master..xp_cmdshell “net user name password /add”-- 分

BoomJane的专栏 2699
上一篇: 抽象工厂模式之摩托车厂
下一篇: asp插入图片的一种模式
firstaking
博客等级 码龄25年 5粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值