问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp程序存在SQL注入漏洞如何处理

发布网友 发布时间:2022-04-07 22:18

我来回答

3个回答

热心网友 时间:2022-04-07 23:47

你都知道有SQL注入了,就在传值那处理好别人提交的数据,把特殊符号过滤掉 我找了一些函数你看看1、 SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。在这里,我给大家一个函数,代替ASP中的Request函数,可以对一切的SQL注入Say NO,函数如下: Function SafeRequest(ParaName,ParaType)
 '--- 传入参数 ---
 'ParaName:参数名称-字符型
 'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)  Dim ParaValue
 ParaValue=Request(ParaName)
 If ParaType=1 then
  If not isNumeric(ParaValue) then
   Response.write "参数" & ParaName & "必须为数字型!"
   Response.end
  End if
 Else
  ParaValue=replace(ParaValue,"'","''")
 End if
 SafeRequest=ParaValue
End function 2、几年时间,当年的伙计已经成为一个国内知名黑客组织的站长,在他的程序有也有些放黑的代码,贴出来给朋友们提提供个方便<%
rem 检查sql字符串中是否有单引号,有则进行转化
function CheckStr(str)
dim tstr,l,i,ch
l=len(str)
for i=1 to l
ch=mid(str,i,1)
if ch="'" then
tstr=tstr+"'"
end if
tstr=tstr+ch
next
CheckStr=tstr
end function
%><%
''--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
''自定义需要过滤的字串,用 "防" 分隔
Fy_In = "''防;防and防exec防insert防select防delete防update防count防*防%防chr防mid防master防truncate防char防declare防<防>防=防|防-防_"
Fy_Inf = split(Fy_In,"防")
If Request.Form<>"" Then
For Each Fy_Post In Request.FormFor Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('网长友情提示黑客大侠↓\n\n请不要在参数中包含非法字符尝试注入攻击本站,本站做起来很不容易的.俺是菜鸟,好怕怕,放俺一马吧\n\nQQ:6407443\n\n有话好话,请用QQ和俺联系');</Script>"Response.Write "非法操作!本站已经给大侠您做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:POST<br>"
Response.Write "提交参数:"&Fy_Post&"<br>"
Response.Write "提交数据:"&Request.Form(Fy_Post)
Response.End
End If
Next
Next
End If
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('网长友情提示黑客大侠↓\n\n请不要在参数中包含非法字符尝试注入攻击本站,本站做起来很不容易的.俺是菜鸟,好怕怕,放俺一马吧\n\nQQ:6407443\n\n有话好话,请用QQ和俺联系');</Script>"
Response.Write "非法操作!本站已经给大侠您做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:GET<br>"
Response.Write "提交参数:"&Fy_Get&"<br>"
Response.Write "提交数据:"&Request.QueryString(Fy_Get)
Response.End
End If
Next
Next
End If
%>
<%
dim conn
dim connstr
on error resume next
'DBQ="+server.mappath("admin/admins_news.mdb")+";
'"driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.MDB")
set conn=server.createobject("ADODB.CONNECTION")
connstr="DBQ="+server.mappath("admin/admins_news.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
conn.open connstr
%>3、通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击。
  IIS传递给asp.dll的get 请求是是以字符串的形式,,当 传递给Request.QueryString数据后,asp解析器会分析Request.QueryString的信息,,然后根据"&",分出各个数组内的数据所以get的拦截如下:
  首先我们定义请求中不能包含如下字符:

引用:
--------------------------------------------------------------------------------

|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare

--------------------------------------------------------------------------------

各个字符用"|"隔开,,然后我们判断的得到的Request.QueryString,具体代码如下 :

引用:
--------------------------------------------------------------------------------

dim sql_injdata
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString<>"" Then
 For Each SQL_Get In Request.QueryString
  For SQL_Data=0 To Ubound(SQL_inj)
   if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
    Response.Write "<Script Language=****>alert('天下电影联盟SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"
    Response.end
   end if
  next
 Next
End If

--------------------------------------------------------------------------------

这样我们就实现了get请求的注入的拦截,但是我们还要过滤post请求,所以我们还得继续考虑request.form,这个也是以数组形式存在的,我们只需要再进一次循环判断即可。代码如下:

引用:
--------------------------------------------------------------------------------

If Request.Form<>"" Then
 For Each Sql_Post In Request.Form
  For SQL_Data=0 To Ubound(SQL_inj)
   if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
    Response.Write "<Script Language=****>alert('天下电影联盟SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!</Script>"
    Response.end
   end if
  next
 next
end if 4、以下代码是网上流行的枫叶防SQL注入通用版的代码,我在原来的基本上去掉一些内容,使之简单化.以代码拷进记事本,另存为asp文件。然后在数据库连接文件那里加上包含代码就行了,例如:
<!-- #include file="文件名" -->

以下是代码
<%
\'--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
\'自定义需要过滤的字串,用 "枫" 分隔
Fy_In = "\'枫;枫and枫exec枫insert枫select枫delete枫update枫count枫*枫%枫chr枫mid枫master枫truncate枫char枫declare"
\'----------------------------------
%>

<%
Fy_Inf = split(Fy_In,"枫")
\'--------POST部份------------------
If Request.Form<>"" Then
For Each Fy_Post In Request.Form

For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.write"非法入侵"
Response.End
End If
Next

Next
End If
\'----------------------------------

\'--------GET部份-------------------
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString

For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.write"非法入侵"
Response.End
End If
Next
Next
End If
%>

\'----------代码结束-------------

以上代码重点在
Response.write"非法入侵"

你可以修改成通用的:
Response.write"处理url地址有错误,请与管理员联系"
也就是有人想入侵,就会提示"处理url地址有错误,请与管理员联系"

热心网友 时间:2022-04-08 01:05

下载一个好的通用防注入程序,并引用到你的每个动态文件里面去

热心网友 时间:2022-04-08 02:40

SQL注入主要是利用文件规则还有SQL规则进行的,比如说他会在输入的参数里加写个注释符号注释掉你脚本那行后面的代码,或者利用引号配对问题让你的sql语句以他的参数内部结束,你只要看下sql注入方式就明白的,所以百分百安全的处理方法是没有的,不过你可以用些简单的方法比如对输入的字符串进行严格处理,就可以拉
asp程序存在SQL注入漏洞如何处理

&gt;3、通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击。IIS传递给asp.dll的get 请求是是以字符串的形式,,当 传递给Request.QueryString数据后,asp解析器会分...

asp如何防sql注入asp防止sql注入

防止aspsql注入的方法有很多,需要严格的字符串过滤。在传递URL参数和提交表单时,必须对提交的内容进行字符串过滤,网站中使用的那些第三方插件必须是安全的,只有在没有漏洞的情况下才能使用,比如上传组件和使用的在线编辑器。上传文件时必须对文件进行严格的检测,这种只判断文件后缀的操作方法是不正确的。

ASP 网站关闭了写权限.还是不断被人注入黑链.程序也检查了好几次,没...

修补漏洞(修补网站漏洞也就是做一下网站安全。)1、修改网站后台的用户名和密码及后台的默认路径。2、更改数据库名,如果是ACCESS数据库,那文件的扩展名最好不要用mdb,改成ASP的,文件名也可以多几个特殊符号。3、接着检查一下网站有没有注入漏洞或跨站漏洞,如果有的话就相当打上防注入或防跨站补...

asp.net如何防止sql注入

此外,攻击者可以执行包含任意SQL语句的批处理命令。对于SQLServer提供程序,攻击者只需在新命令前面加上分号(;)。攻击者可以通过这种方式删除其他表的内容,甚至可以调用SQLServer的系统存储过程xp_cmdshell来命令和执行任意程序。 攻击者在文本框中输入以下内容,其目标是删除Customers表中的所有行。 《伦春》;从客户中删除...

关于SQL注入

http://www.163.com/news.asp?id=xx and '1'='2', news.asp运行异常;如果以上满足,则news.asp存在SQL注入漏洞,反之则不能注入 3、特殊情况的处理 有时ASP程序员会在程序员过滤掉单引号等字符,以防止SQL注入。此时可以用以下几种方法试一试。①大小定混合法:由于VBS并不区分大小写,而程序...

我的网站程序里面找不到conn.asp 文件 要修复SQL注入漏洞 怎么弄呢

不则每个系统都用conn.asp作文件名的,你可以直接看index.asp的代码就知道数据库连接代码在哪了,然后再来作相应的更改.要修复SQL注入,可以自己写安全检测,也可以使用网上现成的代码

ASP.NET网站程序防SQL注入式攻击方法

你可以通过CustomValidator自己创建一个 ⑸ 将用户登录名称 密码等数据加密保存 加密用户输入的数据 然后再将它与数据库中保存的数据比较 这相当于对用户输入的数据进行了 消毒 处理 用户输入的数据不再对数据库有任何特殊的意义 从而也就防止了攻击者注入SQL命令 System Web Security FormsAuthentication类有一...

ASP程序防止SQL注入的最好办法?

asp+sql防注入的方法很多,严格的字符串过滤是必须的,URL参数传递和表单提交时,提交内容一定要进行字符串过滤,还有在网站使用的那些第三方插件一定要确保安全,没有漏洞时才使用,例如使用的上传组件、在线编辑器等,上传文件时,一定要对文件进行严格的检测,只对文件后缀名进行判断的这种操作方法是不...

服务器被黑解决【asp+access】

asp的程序很容易呗注入,解决办法是找到有漏洞的那个asp程序,这个属于程序编写员的粗心导致的。如果不懂得asp程序修改不知道该怎么打上补丁,我给一个最简单的办法,你把后台入口隐藏起来,换个奇怪的名字等,让他们虽然能注入缺找不到你管理入口 ...

如何防止SQL注入漏洞 有哪些方法 具体介绍一下

所有的SQL注入都是从用户的输入开始的。如果你对所有用户输入进行了判定和过滤,就可以防止SQL注入了。用户输入有好几种,我就说说常见的吧。文本框、地址栏里***.asp?中?号后面的id=1之类的、单选框等等。一般SQL注入都用地址栏里的。。。如果要说怎么注入我想我就和上面的这位“仁兄”一样的了...

源程序目标程序可执行程序 在哪编写asp程序 asp程序脚本是在 nios2程序存在哪 程序是以什么形式存在 取证程序存在瑕疵 程序存储在哪里 程序漏洞 asp建站程序
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
当孩子面对挑战时,我们如何鼓励他们积极面对? 如何帮助孩子走出挫折 当孩子遇到困难时应该怎么引导? 如何帮助孩子克服学习上的困难和挑战? 孩子遇到挫败感时,家长应该如何鼓励孩子? 怎么提升孩子在成长过程中应对困难的能力? 天津市老年人优待证 四个超级有效的男性强根壮阳之术 星期天早上问候语 炒饭烩饭128道 内容提要 我中午做梦梦见摘桃金娘要买什么数字? 梦见鸡该买什么号码的彩票 梦见剥蚕茧用火烧,梦见剥蚕茧用火烧 梦见买一种彩票,很多数里选三个数字,三个字记得很清楚,三个数的彩票名有哪些啊? 梦到蚕茧是预示什么啊? 梦见卖蚕茧怎么回事啊? 智联招聘优聊怎么用?为什么有些聊不起??? 在智联上搜的简历没电话怎么办? 在智联招聘上投的简历发来了面试邀请,但只给了手机号,让我联系他们,是不是真的,怎么感觉像骗人的 智联招聘上对方的被隐藏了我怎么才能得到 我在(智联招聘)找工作的,为什么(智联招聘)发布的招工简历没有手机号码?这怎么跟对方联系啊?还不如 怎么换qq上的成员街头 怎样在QQ群里设置自己的专属头衔? QQ群中的有人说“专属头衔”是什么?怎么弄? 电脑QQ怎么设置头街? 猫为什么喜欢吃腥啊? 什么是腥发食物? 请问佛教中的“荤腥”指的是什么? 什么是荤和腥 冷泉亭(一泓清泉沁诗脾) 译文 梦见蛇买什么彩票号码 ETC插上卡没动静,是没电了吗?ETC会没电吗? 货车道危险可以代替三者险吗 求一本书穿女尊文,女主好像姓苏,穿越到了之前看的一本女尊小说,成为了书里反派boss的妻主。 道危险能代替三者险吗 前世她是女尊国战神一生未婚今生已只一眼就看到漂亮反派老公宿命是什么? 人保道危险好赔吗? 求类似《命定妻主》《影卫君快到碗里来》《他,来自女尊》《穿来的影卫好养活》之类的文 女尊魂穿完结一女n男小说 前世她是女尊国战神一生未婚今生一睁眼就看见了漂亮的反派老公。书名是什么? 求女主(身份尊贵)的女尊小说,类似邪魅妻主,且试天下的,谢谢 道路危险化学品运输企业具备的条件有什么部门规定? etc电池电量低怎么办 道路危险货物运输管理规定的第六章 想找一本女尊文,穿越的,好像是穿越到平行的女尊世界,男主的原来的妻主是女主的哥哥。。。 申请从事道路危险货物运输经营,对从业人员,安全管理人员有什么具体的要求 求女尊国的穿越小说 最好是一对一的 像邪魅妻主一类的 就好 拜托了!!! 女主生在现代,原本医术高绝,却穿越到架空女尊国,一个花花女子身上,身体原来的主人 NP女尊文 类似于《缠夫》《妻主当自强》《尧天女帝》一类的,不要太多,打包646460867@qq.com 谢谢! 杭州哪家医院的皮肤科比较好?急啊,求好心人士给点建议吧!