学习
实践
活动
工具
TVP
写文章

SQL注入和XSS攻击

SQL注入: 所谓SQL注入,就是通过把SQL命令插入到提交的Web表单或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,导致数据库中的信息泄露或者更改。 防范: 1.永远不要信任用户的输入,将用户输入的数据当做一个参数处理: 使用参数化的形式,也就是将用户输入的东西以一个参数的形式执行,而不是将用户的输入直接嵌入到SQL语句中,用户输入就被限于一个参数。 2.避免提示详细的错误信息: 当用户输入错误的时候,避免提示一些详细的错误信息,因为黑客们可以利用这些消息,使用一种标准的输入确认机制来验证所有的输入数据的长度、类型、语句、企业规则等。 3. 加密处理: 将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。 4.确保数据库安全: 锁定你的数据库的安全,只给访问数据库的web应用功能所需的最低的权限,撤销不必要的公共许可,如果web应用不需要访问某些表,那么确认它没有访问这些表的权限。如果web应用只需要只读的权限,那么就禁止它对此表的 drop 、insert、update、delete 的权限,并确保数据库打了最新补丁。

##################################################################

XSS攻击(Cross Site Scripting), 中文名为跨站脚本攻击,指的是将xss代码植入到提供给其它用户使用的页面中,从而达到盗取用户信息和做一些违法操作,比如这些代码包括HTML代码和客户端脚本: 是发生在目标用户的浏览器层面上的,当渲染DOM树的过程成发生了不在预期内执行的JS代码时,就发生了XSS攻击。 跨站脚本的重点不在‘跨站’上,而在于‘脚本’上。大多数XSS攻击的主要方式是嵌入一段远程或者第三方域上的JS代码。实际上是在目标网站的作用域下执行了这段js代码。 1.一旦在DOM解析过程成出现不在预期内的改变(JS代码执行或样式大量变化时),就可能发生XSS攻击 2.XSS分为反射型XSS,存储型XSS和DOM XSS 3.反射型XSS是在将XSS代码放在URL中,将参数提交到服务器。服务器解析后响应,在响应结果中存在XSS代码,最终通过浏览器解析执行。 4.存储型XSS是将XSS代码存储到服务端(数据库、内存、文件系统等),在下次请求同一个页面时就不需要带上XSS代码了,而是从服务器读取。最典型的就是留言板XSS。用户提交了一条包含XSS代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有XSS代码,就当做正常的HTML和JS解析执行。XSS攻击就发生了。 5.DOM XSS攻击不同于反射型XSS和存储型XSS,DOM XSS代码不需要服务器端的解析响应的直接参与,而是通过浏览器端的DOM解析。这完全是客户端的事情。DOM XSS代码的攻击发生的可能在于我们编写JS代码造成的。我们知道eval语句有一个作用是将一段字符串转换为真正的JS语句,因此在JS中使用eval是很危险的事情,容易造成XSS攻击。避免使用eval语句

XSS的危害: 1.XSS危害有通过document.cookie盗取用户cookie 2.通过JS或CSS改变样式 3.流量劫持(通过访问某段具有window.kk定位到其他页面) 4.Dos攻击:利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器响应。 5.利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。 6.利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。

XSS的预防: 1.过滤危险的DOM节点。如具有执行脚本能力的script, 具有显示广告和色情图片的img, 具有改变样式的link, style, 具有内嵌页面的iframe, frame等元素节点。 2.过滤危险的属性节点。如事件, style, src, href等 3.对cookie设置httpOnly,对重要的cookie设置httpOnly,防止客户端通过document.cookie读取cookie。服务端可以设置此字段 5.对用户输入数据的处理,1.编码:不能对用户输入的内容都保持原样,对用户输入的数据进行字符实体编码 2.解码:原样显示内容的时候必须解码,不然显示不到内容了。3.过滤:把输入的一些不合法的东西都过滤掉,从而保证安全性。如移除用户上传的DOM属性,如onerror,移除用户上传的Style节点,iframe, script节点等。

受到xss攻击的网站事例: 1. 2011年6月新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送一些信息并关注一位名为hellosamy的用户,一个小时完成修复 2. 百度贴吧xss攻击事件 2014年3月六安吧等几十个贴吧中帖子不断转发,病毒循环发帖。并且导致吧务人员,和吧友被封禁

参考链接: https://www.cnblogs.com/unclekeith/p/7750681.html

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/qq_40994972复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?

    唐怀瑟
  • Nginx 防止 SQL 注入、XSS 攻击的实践配置方法

    通过服务器 waf 的日志记录分析得出基本都是 SQL 注入、XSS 攻击范畴,这些攻击都绕过了 CDN 缓存规则直接回源请求,这就造成 PHP、MySQL 运...

    Z4
  • 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持

    极客飞兔
  • SQL注入与XSS漏洞

    所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求 的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 站泄...

    赵腰静
  • CSRF/XSRF攻击和XSS攻击

    XSS(Cross Site Scripting跨站脚本)。XSS定义的主语是“脚本”,是一种跨站执行的脚本,也就是javascript脚本,指的是在网站上注入...

    全栈程序员站长
  • 原 web安全、XSS、CSRF、注入攻击

    jojo
  • 原 web安全、XSS、CSRF、注入攻击

    作者:汪娇娇 时间:2017年8月15日 当时也是看了一本书《白帽子讲web安全》,简单的摘录然后做了个技术分享,文章不是很详细,建议大家结合着这本书看哈。 w...

    jojo
  • SQL注入攻击之sqlmap

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,现在支持python3了。

    黑白天安全
  • springboot经验之sql注入、xss注入拦截(POST)

    sql注入、xss注入、cors攻击的简介以及解决方案,可以参考下面链接: https://blog.csdn.net/yhhyhhyhhyhh/article...

    一笠风雨任生平
  • 利用XSS绕过WAF进行SQL注入

    通俗讲,就是XSS和sql注入相结合绕过waf。知识要能灵活运用嘛。做一个灵活的胖子(虽然我不是胖子)。

    C4rpeDime
  • 预防SQL注入攻击之我见

    1、 SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行。 2、 每个程序员都必须肩负起防止SQL注入攻击的责任。   说起防止SQ...

    用户1174620
  • SQL注入攻击之sqlmap

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,现在支持python3了。

    Gcow安全团队
  • 什么是 SQL 注入攻击?

    SQL 注入就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,服务器拿到这个字符串之后,会把这个字符串作为 sql 的执行参数去...

    帅地
  • XSS 和 CSRF 攻击

    web安全中有很多种攻击手段,除了SQL注入外,比较常见的还有 XSS 和 CSRF等

    书童小二
  • SQL注入攻击之sqlmap

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,现在支持python3了。

    7089bAt@PowerLi
  • SQL注入攻击与防御

    在动态网站中,往往需要用户传递参数到服务器,这些参数往往需要和数据库进行交互;当服务端没有对参数进行安全过滤时,攻击者在参数中加入恶意的SQL语句结构,便编造成...

    婷婷的橙子
  • 如何有效防止SQL注入攻击

    SQL注入攻击是黑客对数据库进行攻击常用的手段之一,随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验参差不齐...

    Java旅途
  • sql注入攻击sqlmap-2

    默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie的参数,当>=3的时候将检查Use...

    黑白天安全
  • 网站如何防止sql注入攻击

    移动互联网的发展势头已经远远超过PC互联网,手机移动端上网,以及持有量远超PC电脑,随着移动大数据、区块链的技术在不断的完善,成熟,日常生活中经常会听到某某网站...

    网站安全专家

扫码关注腾讯云开发者

领取腾讯云代金券