【常见Web应用安全问题】---2、SQL Injection

简介:  Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里只介绍常见、比较常见和有点常见的。  常见Web应用安全问题安全性问题的列表:   1、跨站脚本攻击(CSS or XSS, Cross Site Scripting)   2、SQL注入攻击(SQL inject...

 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

目录
相关文章
|
1月前
|
SQL 安全 Java
理解Web安全:防止Java Web应用的安全漏洞
【4月更文挑战第3天】在互联网时代,Java Web应用面临严峻的安全挑战,包括注入攻击、XSS、CSRF等。为保护应用,需实施安全措施和最佳实践:如输入验证、输出编码、使用安全框架、防范CSRF、管理会话、加密数据、智能错误处理及定期安全审计。通过这些方法,可降低安全风险,但需持续关注安全趋势并适应新技术。
|
2天前
|
XML 云安全 安全
了解常见的web漏洞-XXE漏洞,日常如何做好web安全
随着网络技术的不断发展,网站安全问题日益受到人们的关注。当前随着技术发展,网站存在一些常见的可能被攻击者利用的漏洞,而在众多网站安全漏洞中,XXE(XML External Entity)漏洞是一个不容忽视的问题。今天我们就来分享了解一下关于XXE漏洞的概念、原理以及日常上有哪些可以措施可以防护网站安全。
|
14天前
|
SQL Oracle Java
SQL 注入神器:jSQL Injection 保姆级教程
SQL 注入神器:jSQL Injection 保姆级教程
|
26天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
20 0
|
28天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
70 0
|
29天前
|
SQL 安全 数据库
[dvwa] sql injection
[dvwa] sql injection
|
29天前
|
SQL 安全 数据库
[dvwa] sql injection(Blind)
[dvwa] sql injection(Blind)
|
1月前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
1月前
|
SQL 安全
CTF--Web安全--SQL注入之‘绕过方法’
CTF--Web安全--SQL注入之‘绕过方法’
|
1月前
|
SQL 安全 PHP
CTF--Web安全--SQL注入之Post-Union注入
CTF--Web安全--SQL注入之Post-Union注入