zoukankan      html  css  js  c++  java
  • 【常见Web应用安全问题】2、SQL Injection

     Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里只介绍常见、比较常见和有点常见的。

     常见Web应用安全问题安全性问题的列表:

      1、跨站脚本攻击(CSS or XSS, Cross Site Scripting)
      2、SQL注入攻击(SQL injection)
      3、远程命令执行(Code execution,个人觉得译成代码执行并不确切)
      4、目录遍历(Directory traversal)
      5、文件包含(File inclusion)
      6、脚本代码暴露(Script source code disclosure)
      7、Http请求头的额外的回车换行符注入(CRLF injection/HTTP response splitting)
      8、跨帧脚本攻击(Cross Frame Scripting)
      9、PHP代码注入(PHP code injection)
      10、XPath injection
      11、Cookie篡改(Cookie manipulation)
      12、URL重定向(URL redirection)
      13、Blind SQL/XPath injection for numeric/String inputs
      14、Google Hacking


    SQL注入攻击(SQL injection)

      早在十几年前,基于数据库的Web应用刚刚盛行的时候,几乎所有的开发商都忽略了SQL注入弱点,导致当时绝大多数的网站的登录入口形同虚设!为什么呢?先给一个小小的例子,假如以下SQL代码是用来在网站登录入口入执行用户验证时的查询代码:
    SELECT count(*)
    FROM users_list_table
    WHERE username='USERNAME'
    AND password='PASSWORD'

    以上的USERNAME就是我们登录时提供的用户名,PASSWORD就是我们登录时提供的密码。当用户输入正确的用户名和密码时,这条语句的执行结果将为真(True),否则为假(False),当然为真时我们就认为认证通过,为假时就认为认证失败,即非法登录。试想一下,如果我在输入用户名和密码的时候输入如下的内容:
    用户名:a' or 'a'='a
    密码:a' or 'a'='a    
    用代入法把用户名和密码输入值代入到上述的SQL脚本里结果如下:
    SELECT count(*)
    FROM users
    WHERE username='a' or 'a'='a'
    AND password='a' or 'a'='a'

    相信稍懂一点儿SQL语句的人都知道,这条语句的执行结果就永远是真了!此时你不需要有帐号,就直接登录成功了!你对此漏洞理解的深度同样取决于你的对SQL语句的技能和web安全知识能力。一个具有良好技能的攻击者可能利用此漏洞获取后台DB的结构并逐步获取DB的信息。
    总结一下:SQL注入弱点是存在基于数据库的Web应用中,黑客利用精心组织的SQL语句,通过Web接口(通常指我们的Web页面的表单)注入的Web应用中,从而获取后台DB的访问与存取权的一种安全弱点。

      简要的解决方案:

      刚刚介绍了XSS,在这里关于SQL Injection我想就无需多说了,都是过滤、合法性检查和长度限制等通用方法。
      有没有注意到,XSS和SQL Injection,虽然名字不一样,但它们似乎都属于我前一篇文章《解读Web安全性问题的本质》中的第一部分,即输入/输出验证。下面将要介绍的远程命令执行目录遍历文件包含同样也是输入/输出验证问题。


    来自CSDN,原文出处:http://blog.csdn.net/iwebsecurity/article/details/1693877

  • 相关阅读:
    第一课:数据库介绍篇
    爬虫day03 cast
    python excel
    爬虫 cast_day05_多进程_多线程_协程_selenium的使用
    进程_线程_协程回顾!
    进程_线程_协程回顾 2!
    day 06 爬虫
    看正月点灯笼老师的笔记 —动态规划2.1
    动态规划——放苹果

  • 原文地址:https://www.cnblogs.com/y0umer/p/3839100.html
Copyright © 2011-2022 走看看