zoukankan      html  css  js  c++  java
  • SQL注入详解7

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
    第三节、经验小结
    1. 有些人会过滤Select 、Update 、Delete 这些关键字,但偏偏忘记区分大小写,所以大家可以用selecT 这样尝试一下。
    2. 在猜不到字段名时,不妨看看网站上的登录表单,一般为了方便起见,字段名都与表单的输入框取相同的名字。
    3. 特别注意:地址栏的+ 号传入程序后解释为空格,%2B 解释为+ 号,%25 解释为% 号,具体可以参考URLEncode 的相关介绍。
    4. 用Get 方法注入时,IIS 会记录你所有的提交字符串,对Post 方法做则不记录,所以能用Post 的网址尽量不用Get 。
    5. 猜解Access 时只能用Ascii 逐字解码法,SQLServer 也可以用这种方法,只需要两者之间的区别即可,但是如果能用SQLServer 的报错信息把值暴露出来,那效率和准确率会有极大的提高。
    防 范 方 法 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 文章到这里就结束了,不管你是安全人员、技术爱好者还是程序员,我都希望本文能对你有所帮助。
  • 相关阅读:
    syslog+rsyslog+logstash+elasticsearch+kibana搭建日志收集
    行为型模式(一)
    spring cloud Sleuth
    Java面试题(基础)
    Java笔试题
    Idea创建SpringBoot项目整合Hibernate
    Java中遍历Map的四种方式
    SQL面试题
    Linux入门
    Spring Boot AOP Demo
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912528.html
Copyright © 2011-2022 走看看