当前位置: 代码网 > it编程>编程语言>安全编程 > 攻击方式学习之SQL注入(SQL Injection)

攻击方式学习之SQL注入(SQL Injection)

2024年05月15日 安全编程 我要评论
攻击方式学习之SQL注入(SQL Injection)

探测
非常简单,输入一个单引号('),看页面是否出错,要是页面出错了,而且又将错误信息暴露给你了那就太好了。
从错误信息中观察确定是哪种数据库,比如access,sql server等。不同数据库的sql语句有些差别
静态代码分析,从代码中检查sql语句是否是由字符串拼接而成。

实施方式
详见示例网站

危害
变态性的,服务器被远程控制,想干嘛干嘛。
盗取性的,盗取了数据库中的机密信息,谋取私利或其他。
破坏性的,直接破坏数据库。
修改性的,篡改数据,比如通过大学成绩查询修改成绩。
我也没干过,想不出来了。

防范
在示例中也说明了如何防范,在这里再精炼一下所谓的防止sql注入四大法宝:

最小权限原则
特别是不要用dbo或者sa账户,为不同的类型的动作或者组建使用不同的账户,最小权限原则适用于所有与安全有关的场合。
在服务器端对用户输入进行过滤
我 们要对一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤;使用强数据类型,比如你需要用户输入一个整数,就要把用户输入的 数据转换成整数形式;限制用户输入的长度等等。这些检查要放在server运行,client提交的任何东西都是不可信的。
以安全的方式创建sql语句
不要再用万恶的字符串拼接sql语句了,使用parameter对象吧,比如c#中的:

错误信息不要暴露给用户
当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,错误信息经常会透露一些数据库设计的细节。

特别注意:也许有很多人告诉过你使用存储过程能免受sql注入攻击。这是错的!这只能阻止某些种类的攻击。比如存在sp_getname存储过程,我们的代码如下:

我们试图输入"black' or 1=1 --"将会失败,但下面的操作却是合法的:
exec sp_getname 'black' insert into users values(2008, 'green') -- '
参考资料
michael howard, david leblanc. "writing secure code"
mike andrews, james a. whittaker "how to break web software"
http://www.secnumen.com/technology/anquanwenzhai.htm
(0)

相关文章:

  • Mac下使用mitmproxy抓包HTTPS数据方法详解

    在mac上常用的抓包软件是charles,网上关于charles的教程很多,这里介绍另一个抓包神器mitmproxy。mitmproxy是一款可交互式的命令行抓包工具,它除了可以抓…

    2024年05月15日 编程语言
  • 10个好用的Web日志安全分析工具推荐小结

    经常听到有朋友问,有没有比较好用的web日志安全分析工具?首先,我们应该清楚,日志文件不但可以帮助我们溯源,找到入侵者攻击路径,而且在平常的运维中,日志也可以反应出很多的安全攻击行…

    2024年05月15日 编程语言
  • WEB前端常见受攻击方式及解决办法总结

    WEB前端常见受攻击方式及解决办法总结

    一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法。一、sql注入  所谓sql注入,就是通过把sql命令插... [阅读全文]
  • 详解常见web攻击手段

    web攻击在互联网中,攻击手段数不胜数,我们平时不能以自己只是普通的开发程序员而不是安全方向的开发者为理由,而不去掌握基本的 web 攻击手段!我们来熟悉一下有哪几种常见的 web…

    2024年05月15日 编程语言
  • 案例讲解WEB 漏洞-文件操作之文件下载读取

    原理产生:任意语言代码下载函数文件下载(一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是…

    2024年05月15日 编程语言
  • CSRF跨站请求伪造漏洞分析与防御

    CSRF跨站请求伪造漏洞分析与防御

    csrf现在的网站都有利用csrf令牌来防止csrf,就是在请求包的字段加一个csrf的值,防止csrf,要想利用该漏洞,要和xss组合起来,利用xss获得该c... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com