• sql注入漏洞


    在这么多bug里给我印象最深的就是sql注入漏洞,看上去没有问题的代码却会因为用户的不正常输入而带来极其严重的问题。

    现在给大家分享一下如何修复SQL注入漏洞。
    下面是网上的两种解决方法,其中第二方法有自己本身测试可以的。

    方法1: Replace过滤字符
    解决方法:查找login.asp下的
    username=request.Form("name")
    pass=request.Form("pass")

    修改为:
    username=Replace(request.Form("name"), "’", "’’")
    pass=Replace(request.Form("pass"), "’", "’’")

    语法是屏蔽’’字符来达到效果.
    方法2:在conn.asp 内加入 
    注:(前提 登陆页面有)
    把以下代码保存为safe.asp

    下面是程序代码********************************************************
    <%
    Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name
    Err_Message = 3
    Err_Web = "safe.htm"
    出错时转向的页面

    Query_Badword="’|and|select|update|chr|delete|%20from|;|insert|mid|master.|set|chr(37)|="
    在这部份定义get非法参数,使用"|"号间隔

    Form_Badword="’|(|)|;|="
    在这部份定义post非法参数,使用"|"号间隔

    On Error Resume Next

    if request.QueryString<>"" then
    Chk_badword=split(Query_Badword,"|")
    FOR EACH Query_Name IN Request.QueryString
    for i=0 to ubound(Chk_badword)
    If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
    Select Case Err_Message
    Case "1"
    Response.Write " 
    Case "2"
    Response.Write " 
    Case "3"
    Response.Write " 
    End Select
    Response.End
    End If
    NEXT
    NEXT
    End if
    if request.form<>"" then
    Chk_badword=split(Form_Badword,"|")
    FOR EACH name IN Request.Form
    for i=0 to ubound(Chk_badword)
    If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
    Select Case Err_Message
    Case "1"
    Response.Write " 
    Case "2"
    Response.Write " 
    Case "3"
    Response.Write " 
    End Select
    Response.End
    End If
    NEXT
    NEXT
    end if
    %>

  • 相关阅读:
    ORACLE 定时执行存储过程
    Java 基于spring 暴露接口 供外部调用
    java 从jsp页面传集合给controller
    Java 后台验证的工具类
    Xcode12真机/模拟器运行项目非常慢的解决方式
    苹果手机系列 安全区高度/设置粗体高度不正常
    Xcode 官方下载地址
    OC UICollectionView 滚动完全显示item
    cocospod 更新到指定版本及其问题
    OC 一张图片填充满整个导航栏(包含X系列)
  • 原文地址:https://www.cnblogs.com/eraserNut/p/5246814.html
Copyright © 2020-2023  润新知